Oracle Data Pumpバージョン19.6以降を使用したSODAコレクション・データをインポート
Oracle Data Pumpを使用してSODAコレクションをAutonomous AI Databaseにインポートするステップを示します。
SODAコレクションは、バージョン19.6以降のOracle Data Pumpユーティリティを使用してエクスポートおよびインポートできます。Oracleでは、Data Pumpファイルからデータベースにデータをインポートするために、最新のOracle Data Pumpバージョンを使用することをお薦めします。
Oracle Instant Client Downloadsから、ご使用のプラットフォーム向けの最新バージョンのOracle Data Pump (Oracle Instant Clientのダウンロード)をダウンロードします。Oracle Instant Clientをダウンロードした後に必要なインストール・ステップについては、プラットフォーム・インストールのダウンロード・ページでインストールの手順を参照してください。
Oracle Data Pumpでは、ソース・ファイルがOracle Cloud Infrastructure Object Storageにある場合、Oracle Cloud InfrastructureネイティブURI、Swift URIまたは事前認証済URIを使用することができます。これらのファイルのURIフォーマットの詳細は、「DBMS_CLOUDパッケージ・ファイルのURI形式」を参照してください。
Oracle Cloud Infrastructureの事前認証済URIを使用している場合でも、credentialパラメータを指定する必要があります。ただし、事前認証済URLの資格証明は無視されます(その場合は、指定された資格証明は有効である必要はありません)。Oracle Cloud Infrastructureの事前認証済URIの詳細は、DBMS_CLOUDパッケージ・ファイルのURI形式を参照してください。
この例では、SODAコレクション・メタデータを作成し、Data Pumpを使用してSODAコレクションをインポートする方法を示します。
-
ソース・データベースで、Oracle Data Pumpの
expdpコマンドを使用してSODAコレクションをエクスポートします。詳細は、「Autonomous AI Databaseにインポートするための既存Oracle AI Databaseのエクスポート」を参照してください。
-
ステップ1のダンプ・ファイル・セットをCloud Object Storageにアップロードします。
-
Autonomous AI Databaseで、必要なSODAコレクション・メタデータを使用してSODAのコレクションを作成します。
たとえば、MyCollectionNameという名前のコレクションを次のメタデータとともにソース・データベースからエクスポートする場合:
-
コンテンツ列は
BLOBタイプです。 -
バージョン列では、
SHA256メソッドが使用されます。
次に、コレクションをインポートするAutonomous AI Databaseで、新しいコレクションを作成します:
-
新しいコレクション用のAutonomous AI Databaseでは、デフォルトで
OSONとして指定されたjsonFormatを持つBLOBにコンテンツ列が設定されます。 -
新しいコレクション用のAutonomous AI Databaseのデフォルトでは、
versionColumn.methodはUUIDに設定されます。
詳細は、「Autonomous AI DatabaseでのSODAのデフォルトのコレクション・メタデータ」を参照してください。
たとえば:
DECLARE collection_create SODA_COLLECTION_T; BEGIN collection_create := DBMS_SODA.CREATE_COLLECTION('MyCollectionName'); END; / COMMIT;PL/SQLファンクション
DBMS_SODA.LIST_COLLECTION_NAMESを使用すると、既存のコレクションを検出できます。詳細は、「LIST_COLLECTION_NAMESファンクション」を参照してください。SODAコレクションのメタデータは、ビュー
USER_SODA_COLLECTIONSを問い合せることによって表示できます。詳細は、「USER_SODA_COLLECTIONS」を参照してください。 -
-
DBMS_CLOUD.CREATE_CREDENTIALを使用してクラウド・オブジェクト・ストレージ資格証明を格納してください。たとえば、Oracle Cloud Infrastructure認証トークン資格証明を作成するには:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DEF_CRED_NAME', username => 'adb_user@example.com', password => 'password' ); END; /Oracle Cloud Infrastructure認証トークン認証の詳細は、CREATE_CREDENTIALプロシージャを参照してください。
たとえば、Oracle Cloud Infrastructure署名キー・ベース資格証明を作成するには:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'DEF_CRED_NAME', user_ocid => 'ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa', tenancy_ocid => 'ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a', private_key => 'MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=', fingerprint => 'f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27'); END; /Oracle Cloud Infrastructure署名キー・ベースの資格証明の詳細は、CREATE_CREDENTIALプロシージャを参照してください。
サポートされている資格証明のタイプ:
-
Data Pump Importは、Oracle Cloud Infrastructure認証トークン・ベース資格証明およびOracle Cloud Infrastructure署名キー・ベース資格証明をサポートしています。
Oracle Cloud Infrastructure署名キー・ベースの資格証明の詳細は、CREATE_CREDENTIALプロシージャを参照してください。
-
Data Pumpでは、Oracle Cloud Infrastructure Object Storageの
dumpfileパラメータに対する事前認証済URLの使用がサポートされています。事前認証済URLを使用する場合、credentialパラメータの指定が必要であり、credential値をNULLにできます。詳細は、事前認証済リクエストの使用を参照してください。
-
-
dumpfileパラメータをクラウド・オブジェクト・ストレージ上のファイルURLのリストに設定し、credentialパラメータを前のステップで作成した資格証明の名前に設定して、Data Pump Importを実行します。
ノート
ノート:オプションCONTENT=DATA_ONLYを使用して、コレクション・データをインポートします。INCLUDEパラメータを使用して、インポートするコレクションを指定します。これは、データ・ファイル・セットにスキーマ全体が含まれ、インポートする必要があるSODAコレクションがダンプ・ファイル・セットの一部として含まれている場合に便利です。インポート中に任意の列を変更するには、
REMAP_DATAを使用します。この例では、REMAP_DATAを使用して、バージョン列メソッドをSHA256からUUIDに変更しています。impdp admin/password@db2022adb_high \ directory=data_pump_dir \ credential=def_cred_name \ dumpfile= https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \ encryption_pwd_prompt=yes \ SCHEMA=my_schema \ INCLUDE=TABLE:"= \'MyCollectionName\'" \ CONTENT=DATA_ONLY \ REMAP_DATA=my_schema.'"MyCollectionName"'.VERSION:SYS.DBMS_SODA.TO_UUIDData Pumpパラメータに関するノート:
-
expdpを使用したエクスポート中にencryption_pwd_prompt=yesパラメータを使用する場合は、encryption_pwd_prompt=yesを使用し、impdpプロンプトで同じパスワードを入力します(エクスポートで指定したパスワードをしてからおいてください)。 -
dumpfileパラメータでは、従来の%Uおよび%uワイルドカードに加えて、%Lおよび%lワイルドカードがサポートされます。たとえば、dumpfile=export%L.dmpです。Oracle AI Databaseリリース12.2以上からのエクスポートには、%Lまたは%lワイルドカードを使用します。このワイルドカードは、ダンプファイルファイル名を100から2147483646までの3桁から10桁の可変幅増分整数に拡張します。リリース12.2より前のOracle Databaseからのエクスポートには、レガシーの
%Uまたは%uワイルドカードを使用します。このオプションを使用し、99を超えるダンプ・ファイルが必要な場合は、それぞれに%Uまたは%uパラメータを指定して、複数のダンプ・ファイル名を指定する必要があります。
dumpfileの場合、この例では、商用レルム(OC1)のOCI専用エンドポイントを使用した推奨URI形式を使用します。namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージの専用エンドポイント、リージョンおよび可用性ドメインおよびオブジェクト・ストレージ・ネームスペースの理解を参照してください。Oracle Data Pumpバージョン19.6以降では、credential引数により、ソース・ファイルに使用されているクラウド・オブジェクト・ストレージ・サービスに対してOracle Data Pumpが認証されます。
credentialパラメータは、Azureサービス・プリンシパル、Amazonリソース名(ARN)またはGoogleサービス・アカウントにはできません。リソース・プリンシパル・ベースの認証の詳細は、ポリシーおよびロールの構成によるクラウド・リソースへのアクセスを参照してください。dumpfile引数は、Data PumpファイルのURLをカンマで区切ったリストである。
最適なインポート・パフォーマンスを得るためには、インポート接続に
HIGHデータベース・サービスを使用して、parallelパラメータをECPUの数(.25 x ECPU数)の4分の1に設定します。OCPUコンピュート・モデルを使用している場合は、パラレル・パラメータをOCPUの数(1 x OCPU数)に設定します。Data Pump Importを実行するために接続するデータベース・サービス名の詳細は、Autonomous AI Databaseでの同時実行性および優先度の管理を参照してください。
様々なクラウド・オブジェクト・ストレージ・サービスのダンプ・ファイルのURL形式については、「DBMS_CLOUDパッケージ・ファイルのURI形式」をご覧ください。
ノート
ノート:完全インポートを実行したり、他のユーザーが所有するオブジェクトをインポートするには、DATAPUMP_CLOUD_IMPロールが必要です。Autonomous AI Databaseで許可されていないオブジェクトの詳細は、SQLコマンドを参照してください。
このインポート例では、
REMAP_DATAパラメータの指定でファンクションDBMS_SODA.TO_UUIDを使用して、UUID値を生成します。デフォルトでは、オンプレミス・データベースの場合、SODAコレクションのバージョン列は、ドキュメントのコンテンツのSHA-256ハッシュを使用して計算されます。Autonomous AI Databaseでは、バージョン列にはドキュメントのコンテンツとは無関係のUUID生成値が使用されます。この例では、
REMAP_DATAパラメータでは、DBMS_SODA.TO_UUIDファンクションを使用して、ソース・コレクションのバージョン・タイプをUUIDバージョニングに置き換えます。versionColumn.methodをインポートしているエクスポート・ダンプ・ファイル・セットでUUIDがすでに設定されている場合、このフィールドのREMAP_DATAは不要です。Oracle Data Pump Importパラメータの詳細は、『Oracle AI Databaseユーティリティ』を参照してください。
-
データ・ポンプ・インポート操作のログ・ファイルは、データ・ポンプ・インポートのDIRECTORYパラメータで指定したディレクトリに格納されます。詳細は、データ・ポンプ・インポートのログ・ファイルへのアクセスに関する項を参照してください。