Data pump

Backup&Recovery 2015. 4. 21. 00:29

둘다 10g 이상 버전일 때.

환경설정

SQL> create or replace directory datapump as '/data/dp';

SQL> grant read,write on directory datapump to scott;

SQL> grant create any directory to scott;


실습1. scott 계정의 emp,dept 테이블만 백업

[oracle@localhost ~]$ expdp scott/tiger tables=emp,dept directory=datapump dumpfile=emp_dept.dmp


실습2. scott schema 전부 백업

[oracle@localhost ~]$ expdp scott/tiger schemas=scott directory=datapump dumpfile=scott01.dmp


실습3. DB 전체 백업

[oracle@localhost ~]$ expdp system/oracle full=y directory=datapump dumpfile=full01.dmp job_name=a


실습4. 일시 중단 후 다시 작업

[oracle@localhost ~]$ expdp system/oracle full=y directory=datapump dumpfile=full02.dmp job_name=a


Ctrl + C 눌러서 취소

Export>stop_job

Are you sure ~~~ : 엔터


[oracle@localhost ~]$ sqlplus / as sysdba

SQL> col owner_name for a10

SQL> col job_name for a10

SQL> col operation for a10

SQL> col job_mode for a10

SQL> SELECT owner_name , job_name , operation , job_mode , state FROM dba_datapump_jobs;


[oracle@localhost ~]$ expdp system/oracle attach=system.a -> 중단된 작업에 재접속


Export> start_job

Export> exit

[oracle@localhost ~]$ sqlplus / as sysdba

SQL> col owner_name for a10

SQL> col job_name for a10

SQL> col operation for a10

SQL> col job_mode for a10

SQL> SELECT owner_name , job_name , operation , job_mode , state FROM dba_datapump_jobs;

-> 확인


실습5. 비정상 종료된 job 취소

[oracle@localhost ~]$ 


실습6. 여러 사용자의 테이블 한꺼번에 expdp 받기

[oracle@localhost ~]$ 


실습7. 병렬로 expdp 작업하기

[oracle@localhost ~]$ 


실습8. 병렬로 위치 분산하여 expdp 작업하기

[oracle@localhost ~]$ 


실습9. 파라미터 파일 사용해서 expdp 수행 - 여러 파일로 분할

[oracle@localhost ~]$ 


실습10. parameter 파일 이용해서 impdp 작업하기

[oracle@localhost ~]$ expdp scott/tiger schemas=scott directory=datapump dumpfile=scott01.dmp


실습11. impdp 병렬 작업하기

[oracle@localhost ~]$ 


실습11. import 수행하지 않고 DDL 문장만 추출

[oracle@localhost ~]$ 


실습11. 설정된 Directory 경로 확인

[oracle@localhost ~]$ 


실습12. 일자별 schema 별 자동 백업 스크립트

[oracle@localhost ~]$ 











'Backup&Recovery' 카테고리의 다른 글

데이터 이동시 주의사항  (0) 2015.04.21
Data file 및 사용자 장애 복구  (0) 2015.04.20
Log Miner 활용  (0) 2015.04.20
Parameter file 관리 및 장애복구  (0) 2015.04.20
데이터 이동하기 (Export / Import)  (1) 2015.04.20

설정

트랙백

댓글

※ exp 받은 dmp 파일은 나중에 imp 를 하기 위해서 바이너리 파일로 변환되어 만들어지고 내부 순서를 보면 Create table -> insert -> Create index -> add constraint 이다.


 vi dmp파일

^C^CNEXPORT:V11.02.00 -> export 버전

DSYSTEM -> exp 수행한 계정

RENTIRE -> 전부 다 full 로 exp 받았다는 것.

8192 -> 블락 크기


CONNECT SCOTT -> exp 할 때 system 계정으로 수행했어도 exp 유틸이 자동으로 USERS tablespace 를 default tablespace 로 사용하는 schema 가 scott 임을 찾아서 해당 계정으로 로그인 한 것이다.


 TABLESPACES 옵션을 주었다 하더라도 dmp 파일에서 확인되는 것과 같이 imp 할 때 Tablespace를 생성하고 Table을 만드는 것이 아니라는 뜻이다. imp하길 원하는 서버에 Tablespace를 먼저 만들어 두고 imp 를 해야 한다는 뜻.


 서버1 에서 scott 사용자의 default tablespace가 users 이고 서버2 사용자는 example 인 경우 서버1에서 scott사용자의 tbl600 테이블을 exp받아 서버2 로 imp 하면 서버1 scott 사용자의 default tablespace인 users로 들어가게된다.


 서버2에 서버1에 있던 테이블스페이스가 없으면 해당 스키마의 default tablespace로 입력된다.

따라서 마이그레이션 작업 순서 중 가장 기본적인 것은 AS-IS 서버와 TO-BE 서버의 사용자 계정과 각 사용자의 default tablespace 를 동일하게 설정하고 Privilege 와 role 을 동일하게 설정한 후에 schema 별로 exp 를 수행해서 imp를 수행하는 것이다.





'Backup&Recovery' 카테고리의 다른 글

Data pump  (0) 2015.04.21
Data file 및 사용자 장애 복구  (0) 2015.04.20
Log Miner 활용  (0) 2015.04.20
Parameter file 관리 및 장애복구  (0) 2015.04.20
데이터 이동하기 (Export / Import)  (1) 2015.04.20

설정

트랙백

댓글

1

'Backup&Recovery' 카테고리의 다른 글

Data pump  (0) 2015.04.21
데이터 이동시 주의사항  (0) 2015.04.21
Log Miner 활용  (0) 2015.04.20
Parameter file 관리 및 장애복구  (0) 2015.04.20
데이터 이동하기 (Export / Import)  (1) 2015.04.20

설정

트랙백

댓글