12. 오라클 데이터베이스 12c의 그밖의 새로운 기능

데이터 펌프 익스포트/임포트 새로운 기능

views_as_tables 파라미터

  • View 를 Table 로 익스포트 받도록 하는 옵션
{code}
expdp scott/robert directory=mydir dumpfile=test.dmp views_as_tables=emp_view:emp,dept_view:dept
{code}
{code}
impdp testing/robert directory=mydir dumpfile=test.dmp remap_schema=scott:testing
{code}
Non-networked 임포트
{code}
expdp scott/robert directory=mydir dumpfile=test.dmp reuse_dumpfile=TRUE
{code}
{code}
impdp testing/robert views_as_tables=scott.dept_view, scott.emp_view directory=mydir dumpfile=test.dmp
remap_schema=scott:testing remap_table=dept_view:dept,emp_view:emp
{code}
Network 임포트
  • DB Link 를 통한 임포트
{code}
impdp testing/robert network_link=db_scott views_as_tables=scott.dept_view:dept, scott.emp_view:emp
directory=mydir dumpfile=test.dmp
remap_schema=scott:testing remap_table=dept_view:dept,emp_view:emp
{code}

엔디언 포멧에 상관없는 Transportable 테이블스페이스를 통한 플랫폼 간 데이터베이스 이동

  • 이기종간 테이블스페이스 이동
호환플랫폼
{code:sql}
SELECT * FROM v$transportable_platform;
{code}
제약사항
일반적인 Full Transportable Export/Import 제약사항
  • Page 477
특정한 Full Transportable Export/Import 제약사항
  • Page 478
작업단계
1. DBCA 를 통해 타깃 데이터베이스 생성
2. 소스 데이터베이스의 유저 테이블스페이스를 Read-only 로 변경
3. 데이터베이스 익스포드 수행
  • Transportable=always full=y
  • 11.2.0.3 이상인 경우 : version=12
  • 암호화 사용시 : encryption_pwd_prompt=yes 또는 encryption_password
4. 타깃 데이터베이스로 덤프파일 복사
5. 소스 DB 의 모든 데이터 파일을 타깃 DB 가 엑세스 가능한 위치로 이동
6. 소스 DB의 TS 를 Read-write 로 변경
{code}
impdp "'sys/robert as sysdba'" full=y datafile=moveDB.dmp directory=mydir
transport_datafile='/u01/app/oracle/oradata/ORCL/datafile/user01.dbf'
logfile=import.log remap_tablespace=users:new_users
{code}
Network 모드
  • DB Link 사용 : network_link=DB링크명

TransForm 절의 새로운 기능

아카이브로깅비활성화
{code}
impdp testing/robert directory=mydir dumpfile=robert.dmp
transform=disable_archive_logging:Y
remap_schema=scott:testing
{code}
LOB 스토리지 수정
{code}
impdp testing/robert directory=mydir dumpfile=robert.dmp
transform=LOB_STORAGE:basicfile
remap_schema=scott:testing
{code}
테이블 Compression 절 변경
{code}
impdp testing/robert directory=mydir dumpfile=robert.dmp
transform=table_compression_clause:\"compress\"
remap_schema=scott:testing
{code}

오라클의 새로운 멀티테넌트 기술에서 데이터펌프 완벽 지원

데이터펌프 작업을 위한 Unified Audit 활성화

  • 데이터펌프 작업에 대한 감사 기능

데이터펌프에 대한 기타 개선사항

  • encryption_pwd_prompt
  • extended data string 설정 지원
  • logtime

SQL*Loader 개선사항

Express 모드

  • holidays.dat 파일이 있는 위치에서 sqlldr 실행
{code}
sqlldr testing/robert table=holidays
{code}

Identity 컬럼 지원

  • colx NUMBER generated always as IDENTITY : 자동생성
  • colx NUMBER generated by default as IDENTITY : 컬럼 명시적 로드
  • colx NUMBER generated by default on null as IDENTITY : 널값 대체

확장 데이터 타입 지원

  • 32K 문자 타입 지원

Unified Audit 지원

  • sql*loader 에 대한 감사 지원

dNFS 관련 기능 지원

  • dNFS ?

Control file 개선

  • infile=dept*.dat : 와일드카드 문자 사용 가능
  • fields csv : csv 파일 로드
  • date format 'mm/dd/yyyy' : 테이블 레벨 날짜 포멧 지정(컬럼별 지정은 오버라이드)
  • 테이블 레벨 NULLIF
{code}
NULLIF {=
!=}{"char_string"x'hex_string'BLANKS}
{code}
  • Field Names : 항목 순서 조정. 단, input file 에 header record 필요.

Command Line 개선

  • trim : External Table 옵션에서 사용되는 Trip-ldrtrim 디폴트 세팅을 오버라이드 할 수 있다(?)
  • Degree_of_parallelism : External Table 옵션에서 사용되는 테이블 로딩시 병렬도 지정
  • Bad / Discard / Log : 디렉토리지정

External Table 개선

  • SQL*Loader 개선사항 준용
  • Compression 파라미터로 압축 레벨 지정

오라클 Log Miner 개선사항

  • SecureFiles LOB 완벽지원
  • object 와 collection 타입의 지원
  • 멀티테넌트 데이터베이스 지원
  • 확장 데이터 타입 지원

ADR 에서 DDL 과 Debug 로그

  • ADR(Oracle Automatic Diagnostic Repository) : 진단 및 분석을 위한 파일 저장소
  • DDL 로그 추가
  • Debug 로그 추가

오라클 SecureFile 개선사항

오라클 R 엔터프라이즈, 하둡, 맵리듀스

CloneDB

SQL 변환 프레임워크

  • 타 DB SQL 을 오라클 SQL 로 변환