RDS for Oracle DB 인스턴스와 Amazon EFS 파일 시스템 간 파일 전송 - Amazon Relational Database Service

RDS for Oracle DB 인스턴스와 Amazon EFS 파일 시스템 간 파일 전송

RDS for Oracle 인스턴스와 Amazon EFS 파일 시스템 간에 파일을 전송하려면 하나 이상의 Oracle 디렉터리를 생성하고 DB 인스턴스 액세스를 제어하도록 EFS 파일 시스템 권한을 구성해야 합니다.

Oracle 디렉터리 생성

Oracle 디렉터리를 생성하려면 rdsadmin.rdsadmin_util.create_directory_efs 프로시저를 사용합니다. 프로시저에는 다음과 같은 파라미터가 있습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_directory_name

VARCHAR2

Oracle 디렉터리의 이름입니다.

p_path_on_efs

VARCHAR2

EFS 파일 시스템의 경로입니다. 경로 이름의 접두사는 /rdsefs-fsid/ 패턴을 사용합니다. 여기서 fsid는 EFS 파일 시스템 ID의 자리 표시자입니다.

예를 들어 EFS 파일 시스템의 이름이 fs-1234567890abcdef0이고 이 파일 시스템에 이름이 mydir인 하위 디렉터리를 생성하는 경우 다음 값을 지정할 수 있습니다.

/rdsefs-fs-1234567890abcdef0/mydir

EFS 파일 시스템 fs-1234567890abcdef0에 이름이 /datapump1인 하위 디렉터리를 생성한다고 가정해 보겠습니다. 다음 예제에서는 EFS 파일 시스템의 /datapump1 디렉터리를 가리키는 Oracle 디렉터리 DATA_PUMP_DIR_EFS를 생성합니다. p_path_on_efs 파라미터의 파일 시스템 경로 값에는 문자열 접두사 /rdsefs-가 붙습니다.

BEGIN rdsadmin.rdsadmin_util.create_directory_efs( p_directory_name => 'DATA_PUMP_DIR_EFS', p_path_on_efs => '/rdsefs-fs-1234567890abcdef0/datapump1'); END; /

EFS 파일 시스템으로/EFS 파일 시스템에서 데이터 전송: 예제

다음 예제에서는 Oracle Data Pump를 사용하여 이름이 MY_TABLE인 테이블을 datapump.dmp 파일로 내보냅니다. 이 파일은 EFS 파일 시스템에 있습니다.

DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'EXPORT', job_mode => 'TABLE', job_name=>null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-exp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /

다음 예제에서는 Oracle Data Pump를 사용하여 이름이 MY_TABLE인 테이블을 datapump.dmp 파일로 가져옵니다. 이 파일은 EFS 파일 시스템에 있습니다.

DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'TABLE', job_name => null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file ); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-imp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /

자세한 내용은 Amazon RDS의 Oracle로 데이터 가져오기 단원을 참조하십시오.