Oracle Directory

|

디렉토리란?

- 데이터베이스에서 오브젝트로 등록한 것

- 디렉토리 개체가 expdp / impdp 의 대상

 

디렉토리 사용 이유

- 오라클DB에서 OS에 있는 파일에 접근할 때 필요
- DB에 디렉토리를 만들어서 사용해야 함
- 과거 exp/imp 사용할 땐 필요없었지만 expdp/impdp를 사용할 땐 꼭 지정해야함

 

DATA PUMP에 필요한 최소한의 권한

- create session
- create table
- create directory
- read, write on directory

 

 

CRUD

// Directory 조회
select * from dba_directories;

// Directory 생성
SQL> create directory DIR1 as 'C:\DUMP';
sys, system 유저가 아닌 일반유저에서 directory 를 생성하려면, create any directory 권한이 있어야 합니다.
grant create any directory to [사용자이름];

// Directory 삭제
SQL> drop directory DIR1;
삭제할때도 sys, system 유저가 아닌 일반유저에서 삭제하려면, drop any directory 권한이 있어야 합니다.
grant drop any directory to scott;
추천 방법 : sys as sysdba로 접근 후 디렉토리를 생성한다. 사용자에게 디렉토리 사용 권한을 부여한다. 

// Directory 변경 (OS위치 변경)
SQL> create or replace directory DIR1 as 'C:\DUMP2';
디렉토리를 다른 유저에서 사용하려면 권한을 부여해야 사용 가능합니다.

// Directory 권한 부여 (읽기/쓰기)
SQL> grant read, write on directory DIR1 to scott;
디렉토리를 다른 유저가 사용하려면 권한이 있어야 한다. 

// Directory 권한 제거
SQL> revoke read, write on directory DIR1 from scott;
And