728x90
반응형
1️⃣ 주요 성능 분석 도구
도구 | 설명 |
ADDM(Automatic Database Diagnostic Monitor) | AWR 스냅샷 이후 실행되어 CPU, Lock, Memory 등 병목지점 자동 진단 |
AWR(Automatic Workload Repository) | 성능 통계 수집 및 보관. ADDM 분석 기반 제공 |
SQL Access Advisor | 스키마 튜닝 및 쿼리 성능 개선 제안 도구 |
SQL Tuning Advisor | ATO 기반으로 SQL 분석 및 실행 계획 최적화 |
Optimizer Statistics | 실행 계획 수립을 위한 통계 데이터 집합 |
2️⃣ Oracle 관리자 계정 종류
계정 | 설명 |
SYS | 최고 관리자 권한 (root 수준), 모든 DB 작업 가능 |
SYSDBA | DB 구조, 설계까지 다룰 수 있는 특수 권한 |
SYSTEM | 일반 DB 관리자용 계정. 실제 운영에는 별도 계정 생성 권장 |
🔸 일반 사용자 예시: HR, OE, PM, SH, SCOTT 등 (자신의 테이블 소유)
3️⃣ 테이블과 테이블스페이스 🧱
- 테이블스페이스: 테이블 데이터가 저장되는 논리적 공간 (물리적 파일 아님)
- 하나의 테이블이 여러 테이블스페이스에 걸쳐 저장될 수 있음
- 저장 정보는 Data Dictionary에 등록됨 (조회 가능, 조작 불가)
📌 테이블스페이스 생성 예시:
CREATE TABLESPACE MY_TBL
DATAFILE 'C:\oracle\product\10.2.0\my_tbl.dbf'
SIZE 300M AUTOEXTEND ON NEXT 10M MAXSIZE 500M;
4️⃣ 사용자 생성 및 설정
-- 기본 테이블스페이스 미지정 사용자
CREATE USER tester1 IDENTIFIED BY rootoor;
-- 특정 테이블스페이스 및 임시 테이블스페이스 지정 사용자
CREATE USER tester2 IDENTIFIED BY rootoor
DEFAULT TABLESPACE TESTERS_TBL
TEMPORARY TABLESPACE TEMP;
5️⃣ SQL 작성 규칙 ✍️
- 대소문자 구분 없음 (단, 문자열 데이터는 구분함)
- 예약어, Dictionary 이름은 주로 대문자
- SQL 종료는 ;
- Oracle의 정규표현식:
- * → %
- ? → _
- aa?cc → aa_cc
- 문자열 '텍스트', 문자열 표현 "열 이름"
- 주석: /* */ 사용 권장
6️⃣ HR 사용자로 기본 SQL 작업 🧑💼
-- 테이블 목록 보기
SELECT * FROM TABS;
-- 특정 테이블 구조 보기
DESC EMPLOYEES;
-- 테이블 제약조건 보기
SELECT * FROM ALL_CONSTRAINTS
WHERE TABLE_NAME = 'EMPLOYEES';
📌 하나의 테이블엔 여러 FK(Foreign Key)와 하나 이상의 PK(Primary Key)가 있을 수 있음
7️⃣ 데이터 조회/포맷/변형 예시
-- 전화번호 포맷 변경 예시
SELECT
REGEXP_REPLACE(PHONE_NUMBER, '\.', '-') AS PHONE_FMT
FROM EMPLOYEES;
-- 입사일 포맷 변경
SELECT
TO_CHAR(HIRE_DATE, 'YYYY-Mon-DD') AS FORMATTED_DATE
FROM EMPLOYEES;
8️⃣ 커밋(commit)과 명령 반복(/)
- commit; → 트랜잭션 확정
- / → 이전 SQL 명령 재실행
- 쿼리 결과는 버퍼 메모리에 저장되므로 commit 없이는 DB 반영되지 않음
9️⃣ 출력 환경 설정 🔧
명령어 | 설명 |
SET LINESIZE 150; | 가로 크기 설정 (기본 80) |
SET PAGESIZE 50; | 페이지 길이 설정 |
SET FEEDBACK 10; | 결과 메시지 표시 기준 |
SET TIMING ON; | 쿼리 수행 시간 표시 |
SET SQLPROMPT "_USER>" | 프롬프트 변경 |
🔟 데이터 조작 예시 (DML)
-- 조건 조회
SELECT employee_id, salary
FROM EMPLOYEES
WHERE salary BETWEEN 10000 AND 20000
ORDER BY salary DESC;
-- LIKE 패턴 검색
SELECT last_name
FROM EMPLOYEES
WHERE last_name LIKE 'Au%';
-- NULL 조건
SELECT *
FROM EMPLOYEES
WHERE commission_pct IS NOT NULL;
📌 BETWEEN, IN, LIKE, IS NULL 등 다양한 조건 검색 가능
💡 정리 포인트
✅ Oracle 관리자는
- 테이블스페이스/사용자 설정
- 성능 진단/튜닝(SQL Advisor 등)
- 기본 SQL/DML 쿼리 작성
- Data Dictionary 분석
- 출력 설정 및 커밋 처리
등 모든 데이터 흐름과 구조를 이해하고 있어야 한다.
반응형
'DB' 카테고리의 다른 글
📌 Oracle SQL 고급 문법 총정리 (0) | 2025.05.02 |
---|---|
🎯 Oracle SQL 고급 정리: 동적 테이블 생성, 제약조건, 조인, 집합 연산자 (0) | 2025.04.30 |
📊 Oracle SQL 분석함수, 정규표현식, 테이블 관리 완전정리 (0) | 2025.04.29 |
📚 SQL 주요 개념 총정리 (2) | 2025.04.28 |
📚 데이터베이스(Database) (0) | 2025.04.24 |