Amazon RDS (Relational Database Service) for Oracle は、Amazon Web Services (AWS) によって提供されるマネージドデータベースサービスの一つであり、Oracle データベースのデプロイ、運用、およびスケーリングを簡単に行うためのサービスです。RDS を使用することで、データベースの管理タスク(バックアップ、パッチ適用、モニタリング、スケーリングなど)を Amazon によって自動化・管理することができます。
Export と Import の方法
Oracle データベースからデータをエクスポートする一般的な方法の一つに expdp (Data Pump Export) コマンドがあります。これを RDS for Oracle で使用した場合、エクスポートされるファイルはどのディレクトリに出力されるかについて説明します。
ディレクトリオブジェクトの作成
RDS for Oracle では、エクスポートファイルの出力先ディレクトリを管理するために Oracle のディレクトリオブジェクトを作成することが一般的です。しかし、RDS 環境では通常のファイルシステムに直接アクセスすることはできず、Oracle Managed Files (OMF) を使用しなければなりません。
RDS for Oracle データベースでの Data Pump Export のためのディレクトリの作成手順は次の通りです:
- ディレクトリオブジェクトの作成: ディレクトリ名(論理名)を指定して、Oracle にディレクトリオブジェクトを作成します。以下はその例です。
CREATE DIRECTORY data_pump_dir AS 'data_pump_dir'; - 適切な権限の付与: エクスポートを実行するユーザーにディレクトリオブジェクトの使用権限を付与します。
GRANT READ, WRITE ON DIRECTORY data_pump_dir TO admin_user;
expdp コマンドの実行
RDS for Oracle 上で expdp コマンドを使用してデータをエクスポートする際には、事前に作成したディレクトリオブジェクトを指定します。
例えば、expdp を以下のように実行します:
expdp admin_user/password@your_rds_instance \
DUMPFILE=my_export.dmp \
DIRECTORY=data_pump_dir \
LOGFILE=my_export.log \
SCHEMAS=your_schema
ここで:
admin_user/password@your_rds_instanceは、RDS インスタンスの接続情報です。DUMPFILEは生成されるダンプファイルの名前です。DIRECTORYは先ほど作成したディレクトリオブジェクトを指定します。LOGFILEはエクスポートプロセスのログが書き込まれるファイル名です。SCHEMASはエクスポートするスキーマ名を指定します。
出力ファイルの場所
AWS RDS for Oracle では、実際にデータエクスポートファイルが保存される物理ディレクトリは見えません。ディレクトリオブジェクトの論理名によって指定された位置にファイルが保存されます。
エクスポートファイルは AWS Management Console にログインして Athena を使って RDS のファイルストレージにアクセスするか、または S3 経由でエクスポートデータを取得する方法が一般的です。
また、AWS RDS の制約上、Oracle RDS には S3 との統合機能があります。AWS S3 バケットにデータポンプのファイルをアップロードしたりダウンロードする設定を使用して管理できます。
以下は、ダンプファイルを S3 バケットへコピーするコマンドの一例です:
BEGIN
rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
p_bucket_name => 'your-s3-bucket-name',
p_prefix => 'optional-prefix/',
p_files => 'data_pump_dir:my_export.dmp');
END;
まとめ
Amazon RDS for Oracle では、expdp コマンドを使用してデータをエクスポートする場合、データは指定したディレクトリオブジェクト(例: data_pump_dir)に出力されます。このディレクトリは物理的にアクセス可能ではないため、通常は S3 バケットなどの外部ストレージと連携してファイルを管理します。これにより、データのエクスポートとインポートが効率的に行えます。

コメント