오라클에서 데이터베이스나 스키마 별로 데이터를 저장, 백업하거나
다시 복구해야할때, DB Dump를 떠논다고 말한다.
Dump는 간단한 명령어로 쉽게 떠지지만,
반드시 Dump를 저장할 디렉토리를 만들어 지정해줘야한다.
1. 오라클시스템상 디렉토리 만들기.
CREATE DIRECTORY datadump AS 'C:\dump'
;
GRANT READ, WRITE ON DIRECTORY dump TO SYSTEM
;
GRANT CREATE ANY DIRECTORY TO SYSTEM;
SELECT * FROM DBA_DIRECTORIES;
1. C밑에 물리적인 폴더를 생성하고, (dump라는 이름으로 생성했다)
이후 "CREATE DIRECTORY datadump AS 'C:\dump'"를 수행하여
데이터 베이스 상에 논리적 디렉토리를 지정해준다. (datadump라는 폴더를 만들었다.)
2. 이후 읽고 쓰기 권한을 부여해주어야 한다.
GRANT READ, WRITE ON DIRECTORY dump TO SYSTEM
;
GRANT CREATE ANY DIRECTORY TO SYSTEM;
3. 확인
SELECT * FROM DBA_DIRECTORIES; 를 수행하면 만들어졌음을 확인할수있다.
참고로 나는 오렌지라는 툴을 통해 오라클에 접속했지만, 로컬이라면, CMD에서 sqlplus 명령어로 dba로 접속하여 진행해도 무방하다.
2. export / emport 시작
CMD창에서 반출 명령어를 입력한다. (접속 스키마 id/pw , ip:포트, db풀, 만든 directory정보 확인)
-- expdp 반출
--db full
expdp userid=ECUBE2/ECUBE2@//127.0.0.1:1521/OBZMETA dumpfile= OBZMETA.dmp directory=datadump full=y logfile=fullexp.log
--schema (ECUBE2, ECUBEEBM2)
expdp userid=ECUBE2/ECUBE2@//127.0.0.1:1521/OBZMETA dumpfile=ECUBE2.dmp directory=datadump schemas=ECUBE2 logfile=fullimp.log
expdp userid=ECUBEEBM2/ECUBEEBM2@//127.0.0.1:1521/OBZMETA dumpfile=ECUBEEBM2.dmp directory=datadump schemas=ECUBEEBM2 logfile=fullimp.log
--반입
--db full
expdp userid=ECUBE2/ECUBE2@//127.0.0.1:1521/OBZMETA dumpfile= OBZMETA.dmp directory=datadump full=y logfile=fullexp.log
--schema (ECUBE2, ECUBEEBM2)
impdp userid=ECUBE2/ECUBE2@//127.0.0.1:1521/OBZMETA dumpfile=ECUBE2.dmp directory=datadump schemas=ECUBE2 logfile=fullimp.log
impdp userid=ECUBEEBM2/ECUBEEBM2@//127.0.0.1:1521/OBZMETA dumpfile=ECUBEEBM2.dmp directory=datadump schemas=ECUBEEBM2 logfile=fullimp.log
끝!
스키마나 디비풀이름이 중복되면 진행되지않으니, 꼭 삭제후 반입하시길!!
'Work > DataBase' 카테고리의 다른 글
[SQLD] 윈도우 함수, 범위 지정 (0) | 2020.05.29 |
---|---|
[SQLD] Delete, Truncate, Drop 비교 (0) | 2020.05.29 |
[SQLD] SQLD 최신 기출 문제 , 요약 , 책 , 사이트 총정리 (29) | 2020.05.15 |
[Oracle] 스키마, 테이블 조회 (2) | 2020.04.27 |
[EDW] 데이터 이관 - CDC, ETL, ODS (0) | 2020.04.08 |