[Oracle] datapump 전용 계정 생성

HYEOB KIM·2023년 3월 16일
1

Oracle

목록 보기
36/58

Datapump 전용 계정 생성 방법

  1. Directory 생성 및 지정
  2. Datapump 전용 계정 생성
  3. 전용 계정에 권한 부여
-- 1. OS 경로에 Directory를 생성하고 DB에서 해당 Directory를 사용하도록 지정합니다.
$ mkdir /home/oracle/datapump
SQL> create or replace directory datapump as '/home/oracle/datapump';

SQL> select * from dba_directories;

-- 2. Datapump 전용 계정을 생성합니다.
SQL> create user khyup
  2  identified by 1234
  3  default tablespace users
  4  quota unlimited on users
  5  quota 0m on system;

SQL> select username from dba_users where username='KHYUP';

SQL> grant connect, resource to khyup;

-- 3. Datapump 전용 계정에 권한을 부여합니다.
SQL> grant read, write on directory datapump to khyup;

SQL> grant datapump_exp_full_database, datapump_imp_full_database to khyup;

사정에 따라 Datapump 전용 계정에 dba 권한을 부여할 수도 있습니다.

datapump_exp_full_database, datapump_imp_full_database
: expdp/impdp를 위한 가장 강력한 Role입니다. datapump에는 여러 방법이 있고 과정을 수행하기 위해서는 Datapump 전용 계정이 다른 스키마의 오브젝트를 읽기/쓰기를 해야 할 수 있는데, 이런 Datapump를 위한 모든 권한을 두 개의 Role이 포함하고 있습니다. expdp/impdp 방식을 이용한다면 전용 계정에 datapump_exp_full_database, datapump_imp_full_database를 부여하고, exp/imp 방식을 이용한다면 exp_full_database, imp_full_database를 부여합니다. 가장 강력한 Role이기 때문에 꼭 필요한 곳에 최소한으로 부여해야 합니다.

이후에는 expdp/impdp를 수행하면 됩니다.

$ expdp khyup/1234 directory=<directory_name> dumpfile=<dumpfile_name> logfile=<logfile_name> ...
$ impdp khyup/1234 directory=<directory_name> dumpfile=<dumpfile_name> logfile=<logfile_name> ...
profile
Devops Engineer

0개의 댓글