테마
📌 구 교재용. 데이터셋 A~E가 어느 계정에 있는지를 단일 컨테이너 기준으로 적은 문서다. 『튜너의 1년』 본편에서는 같은 데이터셋이 컨테이너 4대로 나뉜다(
고객사/README.md). (A·B →ora-hanorder· C →ora-burger· D →ora-dist· E + SQL BOOSTER 원본 →ora-newshop)
00. 실습 데이터셋 종합 안내 (어디에 무엇이 있는가)
이 프로젝트에서 쓰는 모든 실습 데이터셋의 위치와 계정, 빌드 방법, ERD, 용도를 한곳에 모았다. "A·B는 어디에?", "SQL BOOSTER 파일은?", "성능고도화(Hero)는 무슨 파일을 쓰나?" 같은 질문은 이 문서 하나로 답한다. 환경 자체(Docker/계정/권한)는 Oracle 실습환경 구축가이드에서 다룬다.
1. 데이터셋 5종 한눈에
| # | 데이터셋 | 계정 | 도메인 | 규모 | 빌드 방법 | ERD·조감도 | 주로 쓰는 단계 |
|---|---|---|---|---|---|---|---|
| A | 기본 샘플(SCOTT+주문) | sqlp | 사원/주문 | EMP14·CUST2만·ORDERS20만 | 00_sample_schema_setup.sql 실행 | 스키마A_ERD_조감도.md | 1·2·3 전체 기본 |
| B | SQL BOOSTER 쇼핑몰 | sqlp | 쇼핑몰 주문 | T_ORD10만·T_ORD_BIG 100만 | 00_SQLBOOSTER_실습스키마_setup.sql 실행 | 스키마B_ERD_조감도.md | 대용량 튜닝·Hero |
| C | 튜닝에센셜(버거) | dev/tester | 패스트푸드 주문 | 주문 N(권장 100만) + CF비교·파티션 | 오라클튜닝에센셜/README.md | 데이터_조감도_ERD_인덱스.md | 인덱스·CF·파티션 심화 |
| D | SQL 파워업(유통) | pup/pup | 유통 18테이블 | CF10 50만·CF11 110만 | 오라클SQL파워업/README.md | 데이터_조감도_ERD_인덱스.md | 주차별 평행 실습·조인 |
| E | 이커머스(정규화 30) | ecommerce | 이커머스 3NF | ~48.5만 행·인덱스0 | 이커머스_데이터셋_구축가이드.md | 이커머스_ERD_조감도.md | 조인체인·계층·SCD2 |
A·B는
sqlp계정에 함께 올라간다(기본 실습용). C·D·E는 테이블명이 충돌하지 않도록 전용 계정(dev/pup/ecommerce)에 따로 올린다. 🔸 B는 빌드 방법이 2가지다. ① 축소판(위 표,sqlp, 한 번에 빠르게 / Hero가 쓰는 T_ORD_BIG 100만) ② 책 원본 챕터별 빌드: SQL_BOOSTER/README(ORA_SQL_TEST, C1~C11 따라 치기).
2. A·B는 정확히 어디에 있나 (질문 답)
A. 기본 샘플 스키마 (SCOTT + 주문)
- 빌드 파일:
10_본편_튜너의_1년/00_자료준비/고객사/00_sample_schema_setup.sql. 이 파일 하나가 DEPT/EMP/SALGRADE와 PRODUCTS/CUSTOMERS/ORDERS를 만들고 데이터까지 INSERT한다(CONNECT BY로 생성). - 빌드 가이드: 별도 문서는 없고, Oracle 실습환경 구축가이드의 다음 단계 2번에 있다.
sqlp로 이 파일을 실행하면 끝난다. - 점검: 00_환경점검.sql (행수와 실행계획 3종 확인).
- ERD: 스키마A_ERD_조감도.md.
B. SQL BOOSTER 쇼핑몰 스키마 ← 여기 있다
SQL BOOSTER 책 정리 노트는 1_시험준비_SQLP합격/11_SQLBOOSTER_정리/에 있고, 스키마 B 생성 스크립트와 ERD는 10_본편_튜너의_1년/00_자료준비/고객사/L1_ora-hanorder/로 옮겨 두었다.
- 스키마 생성(SQL 파일):
11_SQLBOOSTER_정리/실습/00_SQLBOOSTER_실습스키마_setup.sql.sqlp로 실행하면 M_RGN/M_ITM/M_CUS/T_ORD/T_ORD_DET/T_ITM_EVL과 T_ORD_BIG(100만, 무인덱스)를 직접 만든다(원서의 15GB 대신 CONNECT BY로 만든 축소판). - 책 정리/매핑:
00_개요_및_매핑.md(공개 사이트에는 없음) · PART별01_PART1…(공개 사이트에는 없음)·02_PART2…(공개 사이트에는 없음)·03_PART3…(공개 사이트에는 없음). - 단원별 실습 SQL:
실습/01_단원별_실습SQL.md(공개 사이트에는 없음). - ERD: 스키마B_ERD_조감도.md.
- 📂 (추가) 책 원본을 챕터별로 따라 치기: 계정은
ORA_SQL_TEST이고, 안내는데이터생성기/SQL_BOOSTER/README.md에 있다. C1(기본 9테이블+FK 7개)→C6(T_ORD_BIG대용량)→C7/C8 순으로 책 그대로 구축한다. 위의 11_… 축소판(sqlp)과는 별개로 공존한다(같은 도메인, 다른 계정과 구성). ERD: 데이터_조감도_ERD_인덱스.md - ⚠️
M_CUS.CUS_ID/T_ORD_BIG.CUS_ID는 VARCHAR2('CUS_000123') 형식이다. 스키마 A의cust_id(NUMBER)와 타입이 다르므로 두 스키마를 한 쿼리에서 섞으면 안 된다.
3. ★ 심화 성능고도화(Hero, 3_심화_성능고도화/16_Hero_성능고도화/)가 쓰는 파일
Hero 랩(Lab01~10)은 새 데이터셋이 아니라 A·B를 그대로 쓴다(내부 구조와 실측이 중심이라 데이터보다 권한과 대용량이 중요하다).
선행 준비 (Hero 시작 전 한 번):
- 스키마 A:
sqlp로00_sample_schema_setup.sql을 실행해 ORDERS/CUSTOMERS/EMP/DEPT를 만든다(모든 랩이 사용). - 스키마 B의 T_ORD_BIG(100만):
sqlp로00_SQLBOOSTER_실습스키마_setup.sql을 실행한다(9/10 랩이 대용량 실측에 사용). - 측정 권한:
00_sqlp_권한부여.sql(SELECT_CATALOG_ROLE 등). 일부 랩은 DBA/SYSDBA 권한(V$/X$/10046/10053 트레이스)이 필요하므로 각 랩 상단의 경고를 참고한다. - (선택) 일부 랩은 스크립트 안에서 파티션 테이블이나 결합 인덱스 같은 임시 객체를 직접 CREATE하고 끝에서 DROP한다(원복).
실제 실행 코드: 각 랩 본문 Lab0N_*.md와 실행 스크립트 16_Hero_성능고도화/실습SQL/Lab0N_*.sql (공개 사이트에는 없음) (10개).
| 랩 | 주제 | 주 사용 |
|---|---|---|
| Lab01 아키텍처 | SGA/PGA·프로세스 | A + B(대용량 부하) |
| Lab02 버퍼캐시 | CBC·LRU·X$BH | A + B(T_ORD_BIG) |
| Lab03 Redo/Undo | ITL·CR·1555 | A + B |
| Lab04 Lock/Latch | enqueue·2세션 | A + 자체 임시테이블(T_ORD_BIG 미사용) |
| Lab05 SharedPool | 바인드·커서 | A + B |
| Lab06 Call/I-O | array·prefetch | A + B |
| Lab07 인덱스 | CF·IOT·비트맵 | A + B |
| Lab08 조인 | NL/해시 내부 | A + B |
| Lab09 옵티마이저 | 10053·통계·변환 | A + B |
| Lab10 소트/파티션/병렬 | work area·granule | A + B + 스크립트 생성 파티션테이블 |
정리: Hero = 스키마 A + 스키마 B(T_ORD_BIG) + 측정/DBA 권한. C(dev), D(pup), E(ecommerce)는 Hero에 필요 없다(이 셋은 SQL 활용과 중급 실습용 대체 데이터셋이다).
4. 학습 단계별 데이터셋 매핑
| 단계 | 폴더 | 주력 데이터셋 |
|---|---|---|
| 1. 시험준비(합격) | 1_시험준비_SQLP합격/ | A(기본), B(SQL BOOSTER), + 주차별 평행 실습에 D(pup) |
| 2. 중급 딥다이브 | 2_중급실전_딥다이브/ | A·B (실습SQL), 보조로 C·D·E |
| 3. 심화 Hero | 3_심화_성능고도화/ | A + B(T_ORD_BIG) + DBA 권한 |
| (선택 심화 실습) | — | C 튜닝에센셜(CF·파티션), D 파워업(유통 대용량 조인), E 이커머스(정규화 조인체인) |
5. 빠른 설치 순서 (전체를 다 쓰려면)
1) 환경: Oracle_실습환경_구축가이드.md (Docker oracle-free + sqlp 권한)
2) A: sqlp 로 00_sample_schema_setup.sql → 00_환경점검.sql
3) B: sqlp 로 11_…/실습/00_SQLBOOSTER_실습스키마_setup.sql
└ 여기까지면 1·2단계 + Hero 학습 가능
4) C: 데이터생성기/오라클튜닝에센셜/README.md (dev 계정, 선택)
5) D: 데이터생성기/오라클SQL파워업/README.md (pup 계정, 선택)
6) E: 이커머스_데이터셋_구축가이드.md (ecommerce 계정, 선택)각 데이터셋의 테이블과 관계, 인덱스 상세는 위 표의 ERD·조감도 링크에서 확인한다.