Oracle 12c 데이터베이스 15 - Oracle 12c의 특징

💡 본 글은 ‘실습과 함께하는! 데이터베이스 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;