ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

ファイル操作

ファイル転送

ORACLEから他ORACLEへのファイル転送になる。
転送先をDBLINKで作成し、DBMS_FILE_TRANSFERパッケージを利用する。
※転送先のユーザはDirectoryやファイル作成への権限が必要

CREATE DATABASE LINK TO_RDS
  CONNECT TO MYUSER1 IDENTIFIED BY pass1234 
  USING 'MYRDS'
  1. AWSのRDSへの転送で使用した

ファイルの転送

BEGIN
  DBMS_FILE_TRANSFER.PUT_FILE(
    source_directory_object       => 'DATA_PUMP_DIR',
    source_file_name              => 'EXPDP.DMP',
    destination_directory_object  => 'DATA_PUMP_DIR',
    destination_file_name         => 'EXPDP.DMP', 
    destination_database          => 'TO_RDS' 
  );
END;
/

ファイルの取得

BEGIN
  DBMS_FILE_TRANSFER.GET_FILE(
    source_directory_object       => 'DATA_PUMP_DIR',
    source_file_name              => 'exp.log',
    source_database          => 'TO_RDS', 
    destination_directory_object  => 'DUMP_DIR',
    destination_file_name         => 'exp.log' 
  );
END;
/

ファイルリストの取得

※RDSの場合

select * from table(RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR')) order by mtime;  

ファイルの削除

exec utl_file.fremove('DATA_PUMP_DIR','[file name]');