Oracle
[Oracle] 오라클 덤프데이터 Import 하기 (IMPDP)
괴발새발개발자
2022. 7. 15. 14:12
<< Sqlplus와 cmd 창을 꼭 구분해서 작성하시오 - ! >>
1. sqlplus
1) 사용자(데이터) 및 테이블 스페이스 제거
DROP USER 사용자계정 CASCADE;
DROP TABLESPACE 테이블_스페이스_이름_DATA INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE 테이블 스페이스 이름_INDX INCLUDING CONTENTS AND DATAFILES;
2) 테이블 스페이스 생성 ( 필히 경로 확인 )
CREATE TABLESPACE 테이블_스페이스_이름_DATA DATAFILE 'D:\app\virtual\oradata\~~~\테이블_스페이스_이름_DATA.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M;
CREATE TABLESPACE 테이블_스페이스_이름_DATA DATAFILE 'D:\app\virtual\oradata\~~~\테이블_스페이스_이름_INDX.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M;
3) 사용자 생성 및 권한 부여
** 주의 ( 먼저 선행 되어야 할 작업 2개 )**
1.
sqlplus 에서 "/as sysdba" --꼭 관리자 계정으로 접속할 것 !!
** 사용자 생성 시, c##을 붙이고 싶지 않다면 아래와 같은 코드 작성할 것!!
2.
alter session set "_oracle_script"=true;
CREATE USER 사용자계정IDENTIFIED BY 사용자_비밀번호 DEFAULT TABLESPACE 테이블_스페이스_이름_DATA TEMPORARY TABLESPACE temp;
GRANT CONNECT, RESOURCE, DBA TO 사용자계정;
GRANT EXECUTE ON DBMS_OBFUSCATION_TOOLKIT TO 사용자계정;
GRANT EXECUTE ON DBMS_CRYPTO TO 사용자계정;
ALTER USER 사용자계정ACCOUNT UNLOCK;
4) IMPDP 전 덤프 경로 확인
SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = 'DATA_PUMP_DIR';
2. cmd
1) IMPDP ( 테이블스페이스 및 스키마 변경이 없을 경우 )
IMPDP 사용자계정/사용자_비밀번호 DUMPFILE=덤프파일.DMP
2) IMPDP ( 테이블스페이스 및 스키마 변경이 있는 경우 )
IMPDP 사용자계정/사용자_비밀번호 DUMPFILE=덤프파일.DMP LOGFILE=덤프파일.log REMAP_SCHEMA=사용자계정:사용자계정 REMAP_TABLESPACE=(테이블_스페이스_DATA:테이블_스페이스_DATA, 테이블_스페이스_INDX:테이블_스페이스_INDX)