반응형
회사에서 기존에 있던 스키마를 DUMP를 떠서 다른 스키마에 덮어쓰라는 미션이 떨어졌습니다.
항상 누군가 만들어주었는데 이번에는 내가 직접 해야 했습니다.
당황스러웠지만 어려운 작업 아니니깐 저처럼 겁먹고 인터넷 검색을 하셨다면 일단 침착하세요.
먼저 당황한 저가 정리해서 지금 알려드리겠습니다.
요즘에는 exp / imp보다 expdp / impdp를 주력으로 씁니다.
DATA PUMP라고도 표현합니다.
expdp를 쓰면 디렉터리에 *.dump라는 파일에 데이터베이스를 저장하게 되고 impdp를 쓰면 디렉터리에서 *.dump 파일을 읽어서 데이터베이스의 테이블이나 데이터를 주입할 수 있습니다.
※여기서 디렉터리는 데이터베이스에서 오브젝트로 등록한 것입니다.
SQL> SELECT * FROM dba_directories;
위에 sql를 조회하면 디렉터리를 조회할 수 있습니다. 여기서 조회된 디렉터리를 가지고 DATA PUMP를 하는 겁니다. 이거 모르시고 내 컴퓨터 로컬에 디렉터리 잡으시면 안돼요. 저가 이거 때문에 블랙커피 500ml 원샷했습니다.
디렉터리 생성
SQL> create or replace directory <디렉터리 개체 이름> as '<대상 디렉터리 경로>';
SQL> CREATE DIRECTORY dir_dump as 'D:\backup\dump';
여기에서 만든 디렉터리 개체가 expdp / impdp의 대상입니다.
디렉터리 삭제
SQL> DROP DIRECTORY <디렉터리 개체 이름>;
SQL> DROP DIRECTORY dir_dump;
디렉터리 권한 설정
SQL> grant read, write on directory <디렉터리 개체 이름> to <사용자 이름>;
SQL> GRANT READ, WRITE ON DIRECTORY dir_dump to 사용자;
DATA PUMP에 필요한 초소한의 권한
- create session
- create table
- create directory
- read, write on directory
만약 DATA PUMP가 이루어지지 않는다면 권한을 한번 의심해보세요.
반응형
'DB > Oracle' 카테고리의 다른 글
오라클에서 처리중인 SQL 쿼리문 진행상황 확인 (2) | 2019.06.22 |
---|---|
DATA PUMP 데이터베이스 IMPDP 하는 방법(DMP 임포트) (0) | 2019.06.01 |
DATA PUMP 데이터베이스 EXPDP 하는 방법(DMP 파일 만드는 방법) (0) | 2019.05.23 |
ON 조건 없이 조인(JOIN) 하는 방법 (0) | 2019.05.07 |
오라클 테이블 전체 삭제 팁 (1) | 2019.04.19 |
댓글