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に直接書き込みます。最初にダンプ・ファイルをデータベース・ディレクトリに保存してから個別にアップロードする必要はありません。
直接エクスポートを実行するには、次の手順を実行します。
DBMS_CLOUD.CREATE_CREDENTIALを使用して、ターゲット・クラウド・オブジェクト・ストレージの資格証明を作成します。- Data Pumpの
credentialパラメータを使用して資格証明名を指定します。 dumpfileパラメータを使用して、ターゲットのクラウド・オブジェクト・ストレージの場所を指定します。- パラメータ・ファイルを使用してData Pump Exportを実行します。
Data Pumpのcredentialパラメータの使用に関する一般的な情報は、「Oracle Data Pumpを使用したCREDENTIALパラメータを使用したオブジェクト・ストアへのデータの輸出(バージョン19.9以上)」を参照してください。
始める前に
始める前に:
- ターゲットのクラウド・オブジェクト・ストレージにバケットまたはコンテナを作成します。
- ターゲットのクラウド・オブジェクト・ストレージへのアクセスに必要な資格証明を取得します。
- Oracle Data Pump 19.9以降をインストールします。Oracleでは、ツール・パッケージを含む最新バージョンのOracle Instant Clientダウンロードを使用することをお薦めします。
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=yesAmazon 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=yesOCIオブジェクト・ストレージへのフル・データベースのエクスポート
次のパラメータ・ファイルは、データベース全体を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.parAmazon S3の例では、次を実行します。
expdp admin/<password>@<db_service_name> parfile=aws_expdp.parOCI Object Storageの例では、次を実行します:
expdp admin/<password>@<db_service_name> parfile=oci_expdp.parGoogle Cloud Storageの例では、次を実行します。
expdp admin/<password>@<db_service_name> parfile=gcs_expdp.parData 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ユーティリティを参照してください。