💡 본 글은 ‘실습과 함께하는! 데이터베이스 Oracle 12c’ 강의 내용을 바탕으로 정리하였습니다.
멀티테넌트 아키텍쳐
개념
- 오라클 12c(c는 클라우드)에서 핵심 기능
- 이 멀티테넌트 아키텍쳐의 주요 내용이 CDB(Container DB)와 PDB(Pluggable DB)
- 하나의 CBD 안에 여러 개의 pluggable한 DB를 넣는다.
결과 확인
- 루트 컨테이너
CDB$ROOT
- 공통 사용자 + 오라클이 제공하는 메타데이터
- 시드 컨테이너
PDB$SEED
- 새로운 PDB를 생성할 때 사용하는 템플릿
- PDB 컨테이너
- 기존에 생성했던 DB에 해당
작업 자원 관리(Workload Resource Management)
- PDB 별로 우선순위 할당(상/중/하): OS의 프로세스와 유사하다고 보면 됨
- PDB 별로 리소스 공유 (1/n): 하나의 시스템 안에 여러 PDB가 공유하는 형태로 리소스를 배정
백업/복구
- CDB/PDB 레벨 별로 가능 (이전에는 DB, TABLE 단위로 복구)
메타데이터(딕셔너리뷰)
- 기존에는
DBA_
,ALL_
,USER_
프리픽스만 있었음 - 이제
CDB_
프리픽스 추가- 모든 컨테이너에 존재하는 오브젝트
💡 자세한 설명은 공식 문서에서 확인! Oracle DOC
오라클에서 지원하는 기능 및 함수
Decode 함수
- 여러 줄의
CASE
문을 한 줄로 표현 가능
SELECT DECODE(컬럼명, 조건1, 출력명1, 조건2, 출력명2,...) FROM 테이블명 WHERE 조건절;
결과 중 일부 출력: ROWNUM
- 오라클 내부적으로 가상컬럼을 가지고 있음
ROWID
(고유줄번호)ROWNUM
(결과물 출력라인번호): 일부만 출력하려면 사용
휴지통(Recyclebin)
- 오라클 10g부터 휴지통 지원
- 테이블 삭제 시 바로 삭제되지 않고 휴지통으로 들어감
-- 휴지통 비우기
PURGE recyclebin;
-- 휴지통 보기
SHOW recyclebin;
-- 삭제 취소
FLASHBACK TABLE 테이블명 TO BEFORE DROP;
-- DROP 시 휴지통에 넣지 않고 바로 버리기
DROP TABLE 테이블명 PURGE;