Oracle
[ORACLE] Datapump
sungjunminn
2024. 4. 26. 10:44
<Source>
1. 권한 부여
SQL> grant EXP_FULL_DATABASE, IMP_FULL_DATABASE to splex;
2. Directory 조회
SQL> SELECT * FROM DBA_DIRECTORIES;
3. Directory 생성 및 권한 부여
SQL> CREATE DIRECTORY DUMP AS '/u02/splex/var/dump'; # DUMP - 사용하고자 하는 DIRECTORY 이름, '/oracle/dumpfile' - DIRECTORY가 사용할 물리적인 경로
SQL> GRANT READ, WRITE ON DIRECTORY DUMP TO SPLEX; # READ 권한 - Import Pump를 수행하기 위해 필요, WRITE 권한 - Export Pump를 수행하기 위해 필요
SQL> GRANT CREATE ANY DIRECTORY TO SPLEX; # CREATE ANY DIRECTORY 권한 - 일반 유저로 오브젝트를 생성하기 위해 필요
SQL> SELECT * FROM DBA_DIRECTORIES;
4. scn 확인
SQL> select current_scn from v$database;
5. expdp
# expdp splex/splex directory=dump dumpfile=members.dmp flashback_scn=12826941
6. FTP로 dump 파일 이동
3번에서 생성한 디렉토리에 5번에서 생성한 덤프 파일을 FTP 서비스를 이용하여 타겟으로 이동한다.
<Target>
1. 권한 부여
SQL> grant EXP_FULL_DATABASE, IMP_FULL_DATABASE to splex;
2. Directory 조회
SQL> SELECT * FROM DBA_DIRECTORIES;
3. Directory 생성 및 권한 부여
SQL> CREATE DIRECTORY DUMP AS '/u02/splex/var/dump'; # DUMP - 사용하고자 하는 DIRECTORY 이름, '/oracle/dumpfile' - DIRECTORY가 사용할 물리적인 경로
SQL> GRANT READ, WRITE ON DIRECTORY DUMP TO SPLEX; # READ 권한 - Import Pump를 수행하기 위해 필요, WRITE 권한 - Export Pump를 수행하기 위해 필요
SQL> GRANT CREATE ANY DIRECTORY TO SPLEX; # CREATE ANY DIRECTORY 권한 - 일반 유저로 오브젝트를 생성하기 위해 필요
SQL> SELECT * FROM DBA_DIRECTORIES;
4. impdp
# impdb splex/splex directory=dump dumpfile=members.dmp table_exists_action=truncate