테마
고객사 — 컨테이너 4대, 회사 4곳
이 교재의 실습 DB는 오라클 컨테이너 4대이고, 컨테이너 하나하나가 고객사 시스템 하나다. 접속을 바꾸는 것이 곧 "오늘은 이 고객사를 본다"는 뜻이다. 현실에서는 한 계정에 여러 회사의 데이터가 섞여 있지 않다.
| 폴더 | 컨테이너 | 포트 | 계정 | 회사 | 크기 | 화 | 만드는 시점 |
|---|---|---|---|---|---|---|---|
L1_ora-hanorder/ | ora-hanorder | 1521 | sqlp | ㈜한빛유통 통합주문 HANORDER ★ | ~95MB | 01~13, 15 | 지금. 이것만 있으면 01~13화가 된다 |
L2_ora-burger/ | ora-burger | 1522 | dev | 인수한 버거 프랜차이즈 POS (CF 대조군 · 파티션) | ~11.5GB | 04, 14 | 04화 전 |
L3_ora-dist/ | ora-dist | 1523 | pup | 본사 레거시 유통 마스터 (문자열 날짜) | ~1GB | 03, 09 | 03화 전 |
L4_ora-newshop/ | ora-newshop | 1524 | shop (+ ORA_SQL_TEST · ECOMMERCE) | 신규 이커머스 (FK 7개 + 졸업 과제) | ~2GB | 12, 18 | 12화 전 / 18화 직전 |
공통 접속 정보 (포트만 다르다)
| 항목 | 값 |
|---|---|
| Host | localhost |
| PDB 서비스 | FREEPDB1 ← 평소 실습 |
| CDB 서비스 | FREE ← AWR 실습(16·17화) |
| 관리자 | sys / oracle (as sysdba) · system / oracle |
| 실습 계정 비밀번호 | 계정명과 같다 (sqlp/sqlp · dev/dev · pup/pup · shop/shop) |
왜 4대로 나누나
- Oracle Free는 DB 하나당 사용자 데이터가 12GB까지다. 나누면 컨테이너마다 12GB 예산이 따로 생긴다. 한 대에 몰아넣었을 때는
ora-burger몫(11.5GB)이 나머지를 굶겨 본편 무대 95MB를 올릴 자리조차 없었다(ORA-12954). - 필요한 것만 켠다. 오라클 한 대가 메모리를 1~1.5GB 쓰므로 4대를 늘 켜 둘 이유가 없다.
- 컨설턴트는 고객사마다 다른 DB에 접속한다. 접속 정보를 관리하고 환경 차이를 알아채는 것 자체가 튜너의 실무 능력이다.
폴더 안에는 무엇이 있나
각 L?_ora-*/README.md가 그 고객사의 카드다. 무엇이 들어 있고, 왜 따로 있으며, 어떻게 만들고, 무엇이 나와야 맞는지를 적어 두었다. 그 아래의 책 이름 폴더(오라클튜닝에센셜/ 오라클SQL파워업/ SQL_BOOSTER/ 이커머스/)는 데이터 생성기 원본이다. 원본 README들은 단일 컨테이너 시절(oracle-free)에 쓰였으므로 컨테이너 이름은 카드의 치환표대로 바꿔 읽는다.
L1_ora-hanorder/만 예외로, 생성기 폴더 없이 스크립트 4개가 바로 들어 있다. 이 교재가 직접 만든 무대이기 때문이다.