테마
오라클 공식문서 지도 — 무엇을, 어디서, 언제 읽는가
_개정안/00_개정계획_v1.0.mdPhase 0-4의 산출물이다. 요구 6번("공식문서 어디를 보면 되는지")에 대한 정본이다. 이 교재의 모든 주장에는 좌표 두 개가 붙는다:[성능고도화 권-장-절 + PDF페이지]+[공식문서 매뉴얼-장]. 파인만 3단(원천 복귀)에서 좌표 없는 "다시 읽었다"는 무효다. 그 좌표를 여기서 찾는다.
0. 두 벌을 병기하는 이유 — 버전 표기 주의 ⚠️
- 19c: 장기 지원 릴리스이자 1Z0-084(Performance Management and Tuning)의 대상이다. 현장 점유율도 여전히 가장 높다.
- 26ai: 최신 버전이다. 2025-10부터 이름이
Oracle Database 23ai에서Oracle AI Database 26ai로 바뀌었고,docs.oracle.com의/23/경로가/26/콘텐츠를 보여 준다. 즉 "23ai 문서"를 찾으면 26ai 문서가 나온다. - 그래서 이 지도는 19c와 26ai 두 벌을 함께 적는다. 로컬 실습(Docker Free)은 26ai 계열이고, 시험과 현장 기준은 19c다.
- 장 번호보다 장 제목을 앞세워 적는다. 번호는 개정 때 바뀌지만 제목은 잘 바뀌지 않는다.
| 라이브러리 | URL |
|---|---|
| 19c 전체 | https://docs.oracle.com/en/database/oracle/oracle-database/19/index.html · 책 목록 /19/books.html |
| 26ai 전체 | https://docs.oracle.com/en/database/oracle/oracle-database/26/index.html · 책 목록 /26/books.html |
링크 규칙:
https://docs.oracle.com/en/database/oracle/oracle-database/{19|26}/{약칭}/{페이지}.html예) 19c SQL Tuning Guide의 "Monitoring Database Operations"는.../19/tgsql/monitoring-database-operations.html이다.
1. 필독 매뉴얼 9종 — 약칭과 역할
약칭이 곧 URL 조각이다. 약칭을 외워 두면 문서를 찾느라 시간을 쓰지 않아도 된다.
| 약칭 | 제목 (19c·26ai 동일) | 이 교재에서의 역할 | 언제 펴나 |
|---|---|---|---|
cncpt | Database Concepts | "오라클은 왜 이렇게 설계됐나"의 1차 출처 | 파인만 #용어 태그가 붙었을 때 가장 먼저 |
tgsql | SQL Tuning Guide | SQL 한 문장을 빠르게 만드는 법: 옵티마이저·통계·인덱스·조인·힌트·SQL Monitor·트레이스 | 02~11화, 15b화 |
tgdba | Database Performance Tuning Guide | 시스템 전체를 진단하는 법: 방법론·Time Model·대기이벤트·AWR·ASH·ADDM | 01화(방법론), 16~18화 |
refrn | Database Reference | V$/DBA_ 뷰 정의, 초기화 파라미터, 통계 이름 | 파인만 #절차 태그. 계기판을 켤 때마다 |
lnpls | Database PL/SQL Language Reference | PL/SQL 언어 명세: BULK COLLECT·FORALL·NOCOPY·RESULT_CACHE의 문법과 의미 | 15·15b화 |
arpls | Database PL/SQL Packages and Types Reference | DBMS_* 패키지 명세: DBMS_XPLAN·DBMS_STATS·DBMS_WORKLOAD_REPOSITORY·DBMS_MONITOR·DBMS_SQL_MONITOR·DBMS_SPM·DBMS_HPROF | 거의 매 화 |
admin | Database Administrator's Guide | 테이블스페이스·세그먼트·파티션·리소스 관리의 운영 절차 | 05·14·18화 |
adfns | Database Development Guide | 애플리케이션 개발자 관점의 동시성 설계, 커밋 전략 | 12·13화 |
dblic | Database Licensing Information User Manual | 에디션별 옵션·팩 가용성의 유일한 정본 | 팩·옵션을 말하기 전에 항상 |
19c의 Database 2 Day + Performance Tuning Guide는 26ai에서 "Get Started with Performance Tuning"으로 이름이 바뀌었다. 입문용이며 이 교재에서 꼭 읽어야 하는 문서는 아니다.
2. tgdba — 이 교재 커리큘럼의 뼈대 ★
이 커리큘럼의 근거는 시험 코드가 아니라, 이 순서를 그대로 따른다는 데 있다. 자격 정보는 개정될 수 있지만 이 방법론은 바뀌지 않는다.
| 장 | 제목 | 무엇이 있나 | 대응 화 |
|---|---|---|---|
| 1 | Performance Tuning Overview | Performance Planning / Instance Tuning / SQL Tuning / V$ Performance Views 개요 | 01 |
| 3 | Performance Improvement Methods | The Oracle Performance Improvement Method, Steps in the Method, Top Ten Mistakes Found in Oracle Systems, Emergency Performance Methods | 01(T0·T9의 근거) |
| 5 | Measuring Database Performance | Time Model Statistics, Active Session History Statistics, Wait Events Statistics, Using Wait Events with Timed Statistics, Using Idle Wait Events | 01·16 |
| 6 | Gathering Database Statistics | Managing the Automatic Workload Repository → Managing Snapshots → Modifying Snapshot Settings / Generating AWR Reports(awrrpt·awrrpti·awrgrpt·awrsqrpt) | 16(AWR SOP 9단계의 원전) |
| 7 | Automatic Performance Diagnostics | Overview of ADDM, ADDM Analysis, Real-Time ADDM, ADDM Analysis Results, Reviewing ADDM Analysis Results: Example, ADDM Views | 17 |
| 8 | Comparing Database Performance Over Time | AWR Compare Periods(awrddrpt) 해석 | 16·18 |
| 9 | Analyzing Sampled Data | ASH 리포트 해석: Top Events / Top SQL with Top Events / Activity Over Time | 17 |
| 10 | Instance Tuning Using Performance Views | Instance Tuning Steps(Define the Problem → Examine the Host System → Examine the Oracle Database Statistics → Implement and Measure Change), Using Wait Event Statistics to Drill Down to Bottlenecks, Table of Wait Events and Potential Causes, 개별 대기이벤트 해설(buffer busy waits·db file sequential/scattered read·log file sync·latch events) | 07·12·13·17 |
커리큘럼 매핑 순서: 3장(방법론) → 5장(Time Model·Wait·ASH 통계 개념) → 6장(AWR) → 9장(ASH) → 7장(ADDM) → 10장(대기이벤트 드릴다운) → 그다음 tgsql(SQL 레벨).
3. tgsql — SQL 레벨 방법론
| 페이지 | 무엇이 있나 | 대응 화 |
|---|---|---|
sql-performance-methodology.html | SQL 튜닝 접근법 | 01·02 |
performing-application-tracing.html | SQL Trace(10046) · TKPROF: 이 교재의 계기판 4단 | 11·15 |
monitoring-database-operations.html | Real-Time SQL Monitoring: 전제조건과 시작 조건 | 17 |
sql-tuning-advisor.html | SQL Tuning Advisor · SQL Profile | 18 |
| (옵티마이저 장 전반) | 통계·히스토그램·카디널리티·쿼리 변환·조인 방식·힌트 | 04·06·08·10 |
| (SQL Plan Management 장) | 캡처 / ACCEPTED·ENABLED·FIXED / EVOLVE | 18 |
SQL Monitor 전제조건(17화에서 반드시 확인): monitoring-database-operations.html 원문에 따르면 다음과 같다.
STATISTICS_LEVEL=TYPICAL(기본) 또는ALLCONTROL_MANAGEMENT_PACK_ACCESS=DIAGNOSTIC+TUNING(기본값). SQL Monitor는 Tuning Pack 기능이다- 자동 시작 조건: ① 단일 실행이 CPU+I/O 5초 이상 ② 병렬 실행 ③
/*+ MONITOR */힌트 ④sql_monitor이벤트⚠️ ②는 Free에서 일어나지 않는다. Free에서는 Parallel query/DML이 N이기 때문이다(§5).
- 리포트:
DBMS_SQL_MONITOR.REPORT_SQL_MONITOR(report_level=>…, type=>'TEXT'|'HTML'|'ACTIVE'|'XML')(구버전 호환용DBMS_SQLTUNE.REPORT_SQL_MONITOR도 있다)
4. arpls — 자주 쓰는 패키지
| 패키지 | 쓰는 곳 | 비고 |
|---|---|---|
DBMS_XPLAN | 전 화 | DISPLAY / DISPLAY_CURSOR(FORMAT=>'ALLSTATS LAST +PREDICATE') |
DBMS_STATS | 04·10·14 | GATHER_TABLE_STATS, SET_TABLE_STATS(실습 후 반드시 원복), METHOD_OPT, pending·lock |
DBMS_WORKLOAD_REPOSITORY | 16·17 | MODIFY_SNAPSHOT_SETTINGS / CREATE_SNAPSHOT / CREATE_BASELINE / DROP_SNAPSHOT_RANGE. 실행에 DBA 롤 필요(권한 T2.5) |
DBMS_SQL_MONITOR | 17 | REPORT_SQL_MONITOR |
DBMS_MONITOR | 11·15 | 세션 트레이스 on/off(권한 T3) |
DBMS_HPROF | 15 | PL/SQL 계층 프로파일러(dbmshptab.sql 선행 필요) |
DBMS_SPM | 18 | Plan Baseline 캡처·고정·EVOLVE |
DBMS_RESULT_CACHE | 15b | MEMORY_REPORT, FLUSH |
DBMS_ROWID / DBMS_SPACE | 05 | ROWID 분해, SPACE_USAGE |
DBMS_SCHEDULER | 16 | 부하 드라이버 잡 N개 동시 기동 |
5. dblic — 팩·옵션 가용성의 정본 ★
V$OPTION은 라이선스 판정 도구가 아니다. 바이너리에 링크되었는지만 보여 주기 때문에 Free에서도Parallel execution = TRUE로 나올 수 있다. 판정의 정본은 언제나 이 매뉴얼의 표다.
| 기능/옵션/팩 | Free | SE2 | EE | 이 교재에서 |
|---|---|---|---|---|
| Partitioning | Y | N | 유상 옵션 | 14화 전반부 로컬 가능 |
| Database In-Memory | Y | N | 유상 옵션 | (현행 Hero 랩 서술이 틀렸다. 정정 대상) |
| Advanced Compression | Y | N | 유상 옵션 | |
| Diagnostics Pack (AWR·ASH·ADDM) | Y | N | 유상 옵션 | 16·17화가 로컬에서 성립하는 근거 |
| Tuning Pack (SQL Monitor·STA·SQL Profile) | Y | N | 유상 옵션(Diag 선행) | 17·18화 |
| Parallel query / DML | N | — | Y | 14화 후반부는 판독으로 다룬다(EE 실측은 별권) |
| Real Application Testing | N | N | 유상 옵션 | 다루지 않음 |
| RAC | N | N | 유상 옵션 | 개념만(부록) |
엔진 레벨 근거: refrn에 적힌 CONTROL_MANAGEMENT_PACK_ACCESS 기본값은 다음과 같다.
Enterprise Edition:
DIAGNOSTIC+TUNING/ Oracle AI Database Free:DIAGNOSTIC+TUNING/ All other editions:NONE
함정 3가지
- 구 XE(21c/18c)는 둘 다 N이고
CMPA기본값이NONE이다. 웹에 흔한 "XE도 팩 포함" 서술은 공식 매뉴얼과 정면으로 어긋나는 오류다. 다만 "XE에선 AWR 못 쓴다"는 옛 상식을 23ai/26ai Free에 그대로 적용하면 안 된다. - EE에서는 여전히 유상 옵션이다. 계약 없이 EE 운영계에서
awrrpt를 돌리면 라이선스 위반이므로, 그런 환경에서는CMPA=NONE으로 내려 두어야 한다. - SE2는 전부 N이라서 Statspack만 쓸 수 있다(17화).
6. 파인만 태그 → 매뉴얼 라우팅
| 태그 | 무엇이 막혔나 | 어디로 |
|---|---|---|
#용어 | 단어를 모른다 | cncpt 해당 장 + 성능고도화 해당 절 |
#인과 | A 다음 B는 아는데 왜인지 모른다 | 성능고도화 해당 장 + 20_원리_레퍼런스 앵커 |
#수치 | 크기 감각이 없다 | 문서가 아니라 실습 재측정. 수치를 직접 만든다 |
#절차 | 어떻게 확인하는지 모른다 | refrn V$ 정의 + tgdba 해당 장 + arpls 패키지 명세 |
좌표 기록 형식 (이 형식이 아니면 무효)
#인과 CR 블록이 왜 재생성되나
→ 성능고도화 I권 Ch1 (책 p.__ / PDF p.__)
→ cncpt 「Data Concurrency and Consistency > Multiversion Read Consistency」
→ 20_원리_레퍼런스/R03_Redo_Undo_CR.md#cr-5step7. 화별 필독 좌표 (착수 시 채워 나감)
| 화 | 성능고도화 | 공식문서 |
|---|---|---|
| 01 | I권 03장 (성능관리·Response Time Analysis) | tgdba 3장 Performance Improvement Methods · 5장 Time Model Statistics |
| 02~04 | II권 Ch1 (인덱스 원리와 활용) | tgsql 옵티마이저·인덱스 장 · cncpt Indexes and Index-Organized Tables |
| 05 | I권 Ch1·Ch6 (저장구조·I/O 효율화) | cncpt Physical/Logical Storage Structures · admin 테이블스페이스·세그먼트 |
| 06 | II권 Ch2 (조인) | tgsql Joins · cncpt Optimizer 개요 |
| 07 | I권 Ch1 (DB 버퍼 캐시) | cncpt Memory Architecture · tgdba 10장 buffer busy waits |
| 08 | II권 Ch4 (쿼리 변환) | tgsql Query Transformations |
| 09 | II권 Ch5 (소트) + I권 05장 (DB Call) | tgsql Sorting · refrn PGA_AGGREGATE_TARGET |
| 10 | II권 Ch3 (옵티마이저·통계) | tgsql Optimizer Statistics Concepts / Histograms · arpls DBMS_STATS |
| 11 | I권 04장 (라이브러리 캐시·바인드) | cncpt SQL Processing · tgsql Cursor Sharing · refrn V$SQL_SHARED_CURSOR |
| 12 | I권 02장 (트랜잭션과 Lock) | cncpt Data Concurrency and Consistency · adfns 동시성 설계 · tgdba 10장 enqueue |
| 13 | I권 Ch1 후반 (Redo·Undo·읽기 일관성) | cncpt Multiversion Read Consistency · admin Undo 관리 |
| 14 | II권 Ch6·Ch7 (파티션·병렬) | admin Partitions · VLDB and Partitioning Guide(vldbg) · tgsql 병렬 |
| 15 · 15b | I권 05·06장 (Call 최소화·I/O 효율화) | lnpls BULK/FORALL/NOCOPY/RESULT_CACHE · arpls DBMS_HPROF · tgsql application tracing |
| 16 | I권 03장 (Statspack·AWR·RTA) | tgdba 6장·8장 · arpls DBMS_WORKLOAD_REPOSITORY |
| 17 | I권 03장 (OWI 심화) | tgdba 9장(ASH)·7장(ADDM)·10장 · tgsql monitoring-database-operations |
| 18 | (전 범위 총정리) | tgsql SQL Plan Management · SQL Tuning Advisor · refrn CONTROL_MANAGEMENT_PACK_ACCESS |
8. 유지보수
- 연 1회 링크 점검(R5). 오라클은 버전 트리를 통째로 옮기므로 URL이 금방 깨진다.
- 장 번호가 바뀌면 제목으로 다시 찾는다. 이 지도에서는 번호가 아니라 제목이 1차 키다.
- 새로 확인한 좌표는 파인만 3단 기록에서 이 문서로 옮겨 적는다. 이 지도는 완성품이 아니라 계속 자라는 문서다.