[ORACLE] ORACLE(오라클) EXPORT ( EXPDP) 사용
오라클 DATA PUMP로
exp / imp 가 아닌 expdp / impdp 를 사용하며 대용량 데이터에서 속도가 더 빠르다
expdp를 사용하게 되면 *.dmp 파일이 저장되며 impdp를 통해 해당 파일을 oracle database에 import할 수 있다.
사용법
1. DB에 접근하여 디렉터리를 조회한다.
SQL > SELECT * FROM DBA_DIRECTORIES;
2. 디렉터리 생성
SQL > CREATE OR REPLACE DIRECTORY <디렉터리 오브젝트 이름> AS '<대상 디렉터리 경로>';
EX ) SQL > CREATE OR REPLACE DIRECTORY DUMP_DIR AS '/opt/oradata';
3. 디렉터리 권한 설정
SQL > GRANT READ, WRITE ON DIRECTORY <디렉터리 오브젝트 이름> TO <DUMP시 사용자 이름>;
EX ) SQL > GRANT READ , WRITE ON DIRECTORY DUMP_DIR TO TEST;
4. EXPDP 진행
터미널에서 expdp <계정>/<패스워드> <옵션>
식으로 진행을 한다.
옵션에는 여러가지가 있지만 해당 포스트에서는 간단하게 4가지만 알아보자
4-1. DB전체 백업(full)
expdp test/test directory=dump_dir dumpfile=full_20220707.dmp logfile=full_20220707.log full=y
4-2. 테이블스페이스 백업
expdp test/test directory=dump_dir dumpfile=tblspace_20220707.dmp logfile=tblspace_20220707.log tablespaces=<tablesapce_name>;
-> <tablespace_name> 에는 백업하고자 하는 테이블스페이스의 명을 입력해준다.
4-3. 스키마 백업
expdp test/test directory=dump_dir dumpfile=schema_20220707.dmp logfile=schema_20220707.log schemas=<user>;
-> <user>에는 백업하고자 하는 user의 명을 입력한다
4-4. 테이블 백업
expdp test/test directory=dump_dir dumpfile=tbl_20220707.dmp logfile=tbl_20220707.log tables=<user.table1>, <user.table2>;
각 파라미터가 의미하는 바는
directory = directory명
dumpfile = 생성하고자 하는 dumpfile명
logfile = 생성하고자 하는 logfile명
5. 디렉터리 삭세
SQL > DROP DIRECTORY <디렉터리 오브젝트 이름>;