Data Pumpを使用したOracle Database 26aiのクラウド・オブジェクト・ストレージへのデータのエクスポート

Oracle Database 26aiでは、Autonomous AI Databaseから次のCloud Object StorageへのOracle Data Pump直接エクスポートがサポートされています。

  • Oracle Cloud Infrastructure Object Storage
  • Amazon S3
  • Azure Blob StorageまたはAzure Data Lake Storage
  • Google Cloud Storage

このエクスポート方法では、Oracle Data Pumpはダンプ・ファイルをターゲットのCloud Object Storageに直接書き込みます。最初にダンプ・ファイルをデータベース・ディレクトリに保存してから個別にアップロードする必要はありません。

直接エクスポートを実行するには、次の手順を実行します。

  1. DBMS_CLOUD.CREATE_CREDENTIALを使用して、ターゲット・クラウド・オブジェクト・ストレージの資格証明を作成します。
  2. Data Pumpのcredentialパラメータを使用して資格証明名を指定します。
  3. dumpfileパラメータを使用して、ターゲットのクラウド・オブジェクト・ストレージの場所を指定します。
  4. パラメータ・ファイルを使用してData Pump Exportを実行します。

Data Pumpのcredentialパラメータの使用に関する一般的な情報は、「Oracle Data Pumpを使用したCREDENTIALパラメータを使用したオブジェクト・ストアへのデータの輸出(バージョン19.9以上)」を参照してください。

始める前に

始める前に:

  1. ターゲットのクラウド・オブジェクト・ストレージにバケットまたはコンテナを作成します。
  2. ターゲットのクラウド・オブジェクト・ストレージへのアクセスに必要な資格証明を取得します。
  3. Oracle Data Pump 19.9以降をインストールします。Oracleでは、ツール・パッケージを含む最新バージョンのOracle Instant Clientダウンロードを使用することをお薦めします。
  4. HIGHサービスを使用してAutonomous AI Databaseに接続し、最適なエクスポート・パフォーマンスを実現します。

directoryパラメータは、Data Pumpログ・ファイルに使用されるデータベース・ディレクトリを指定します。ダンプ・ファイルは、dumpfileパラメータで指定されたクラウド・オブジェクト・ストレージ・サービスに直接書き込まれます。

クラウド・オブジェクト・ストレージ資格証明の作成

ダンプ・ファイルをエクスポートするクラウド・オブジェクト・ストレージの資格証明を作成します。

次の例では、サポートされている各クラウド・オブジェクト・ストレージの資格証明を作成する方法を示します。対応するData Pumpパラメータ・ファイルに作成する資格証明名を使用します。

OCIオブジェクト・ストレージ

Oracle Cloud Infrastructure Object Storageの場合は、Oracle Database 26aiでサポートされているOCIネイティブ認証を使用します。次に例を示します。

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'OCI_OBJECT_STORAGE_CRED',
    username        => 'oci_user@example.com',
    password        => 'oci_authentication_token'
  );
END;
/

Amazon S3

Amazon S3の場合は、AWSアクセス・キーIDをusernameに、AWSシークレット・アクセス・キーをpasswordに指定します。

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'AWS_S3_CRED',
    username        => 'AKIAEXAMPLE123456789',
    password        => 'aws_secret_access_key'
  );
END;
/

Azure Blobストレージ

Azure Blob StorageまたはAzure Data Lake Storageの場合は、ストレージ・アカウント名をusername、共有アクセス署名(SAS)トークンをpasswordとして指定します。

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'AZURE_BLOB_CRED',
    username        => 'myadlsstorageacct',
    password        => 'azure_sas_token'
  );
END;
/

Google Cloud Storage

Google Cloud Storageの場合は、Google Cloud Storage認証方法に必要なサービス・アカウント情報を使用して資格証明を作成します。次に例を示します。

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'GCS_CRED',
    username        => 'gcs-service-account@example-project.iam.gserviceaccount.com',
    password        => 'google_private_key'
  );
END;
/

詳細は、次を参照してください。

Data Pumpパラメータ・ファイルの作成

エクスポートするオブジェクト、資格証明およびクラウド・オブジェクト・ストレージURLを指定するパラメータ・ファイルを作成します。次の例では、ログ・ファイルにDATA_PUMP_DIRを使用し、必要に応じて%Lを使用して追加のダンプ・ファイルを作成します。

Azure Blob Storageへのスキーマのエクスポート

次のパラメータ・ファイルは、HRスキーマをAzure Blob Storageにエクスポートします。

schemas=HR
credential=AZURE_BLOB_CRED
dumpfile=https://<azure_storage_account>.blob.core.windows.net/<container>/hr_exp%L.dmp
filesize=5GB
parallel=8
directory=DATA_PUMP_DIR
logfile=hr_export.log
encryption_pwd_prompt=yes

Amazon S3へのフル・データベースのエクスポート

次のパラメータファイルは、データベース全体を Amazon S3にエクスポートします。

full=y
credential=AWS_S3_CRED
dumpfile=https://s3.<aws_region>.amazonaws.com/<bucket>/adb_exp%L.dmp
filesize=5GB
parallel=8
directory=DATA_PUMP_DIR
logfile=aws_export.log
encryption_pwd_prompt=yes

OCIオブジェクト・ストレージへのフル・データベースのエクスポート

次のパラメータ・ファイルは、データベース全体をOCIオブジェクト・ストレージ・バケットにエクスポートします。これは、前のステップで作成したOCI_OBJECT_STORAGE_CRED資格証明を使用します。

full=y
credential=OCI_OBJECT_STORAGE_CRED
dumpfile=https://<namespace>.objectstorage.<region>.oci.customer-oci.com/n/<namespace>/b/<bucket>/o/adb_exp%L.dmp
filesize=5GB
parallel=8
directory=DATA_PUMP_DIR
logfile=oci_export.log
encryption_pwd_prompt=yes

この例では、Data PumpはOCI資格証明を使用してオブジェクト・ストレージで認証し、ダンプ・ファイルを指定したバケットに書き込みます。<NAMESPACE><REGION>および<BUCKET>をOCIテナンシの値に置き換えます。

Google Cloud Storageへのスキーマのエクスポート

次のパラメータ・ファイルは、HRスキーマをGoogle Cloud Storageバケットにエクスポートします。これは、前のステップで作成したGCS_CRED資格証明を使用します。

schemas=HR
credential=GCS_CRED
dumpfile=https://storage.googleapis.com/<BUCKET>/hr_exp%L.dmp
filesize=5GB
parallel=8
directory=DATA_PUMP_DIR
logfile=gcs_export.log
encryption_pwd_prompt=yes

この例では、Data PumpはHRスキーマのみをエクスポートし、指定されたGoogle Cloudストレージ・バケットにダンプ・ファイルを書き込みます。

Data Pump Exportの実行

パラメータ・ファイルを使用してData Pump Exportを実行します。次に例を示します。

expdp admin/<password>@<db_service_name> parfile=azure_expdp.par

Amazon S3の例では、次を実行します。

expdp admin/<password>@<db_service_name> parfile=aws_expdp.par

OCI Object Storageの例では、次を実行します:

expdp admin/<password>@<db_service_name> parfile=oci_expdp.par

Google Cloud Storageの例では、次を実行します。

expdp admin/<password>@<db_service_name> parfile=gcs_expdp.par

Data Pumpログ・ファイルがDATA_PUMP_DIRに書き込まれます。ダンプ・ファイルは、パラメータ・ファイルに指定されたクラウド・オブジェクト・ストレージURLに書き込まれます。

使用上のノート

  • HIGHデータベース・サービスを使用して、最適なエクスポート・パフォーマンスを実現します。
  • parallelを、使用可能なECPUの約4分の1に設定します。
  • %L置換変数は、必要に応じて複数のダンプ・ファイルを作成します。
  • 大規模なエクスポートにはcompression=allを使用することを検討してください。
  • 機密データをエクスポートする場合は、encryption_pwd_prompt=yesを使用します。ダンプ・ファイルをインポートする場合は、同じ暗号化パスワードを使用します。
  • 全体エクスポートを実行するか、他のユーザーが所有するオブジェクトをエクスポートするには、DATAPUMP_CLOUD_EXPロールが必要です。
  • ダンプ・ファイルのダウンロード、Data Pump Import実行、およびオブジェクト・ストアのクリーン・アップの詳細は、「ダンプ・ファイルのダウンロード、Data Pump Importを実行、およびオブジェクト・ストアのクリーン・アップ」に関する項を参照してください。

Data Pump Exportパラメータの詳細は、Oracle AI Databaseユーティリティを参照してください。