Oracle Data Pumpを使用したベクトルのアンロードおよびロード

Oracle Database 23ai以降、Oracle Data Pumpでは、複数の成分を使用して、データベースにベクトルをロードおよびアンロードできます。

Oracle Data Pumpテクノロジを使用すると、データおよびメタデータをデータベース間で非常に高速に移動できます。Oracleデータ・ポンプは、コマンドライン・クライアントのexpdpとimpdp、DBMS_DATAPUMP PL/SQLパッケージ(データ・ポンプAPI)、およびDBMS_METADATA PL/SQLパッケージ(メタデータAPI)の3つの個別のコンポーネントで構成されています。

ベクトル・データ型列を含む表のアンロードおよびロードは、使用可能なすべてのアクセス・メソッド(DIRECT_PATH EXTERNAL_TABLEAUTOMATICINSERT_AS_SELECT)を使用して、すべてのモード(FULLSCHEMATABLES)でサポートされています。

ベクトル・エクスポートおよびインポートの構文の例

expdp <username>/<password>@<Database-instance-TNS-alias>  dumpfile=<dumpfile-name>.dmp directory=<directory-name> full=y metrics=y access_method=direct_path

expdp <username>/<password>@<Database-instance-TNS-alias>  dumpfile=<dumpfile-name>.dmp directory=<directory-name> schemas=<schema-name> metrics=y access_method=external_table

expdp <username>/<password>@<Database-instance-TNS-alias>  dumpfile=<dumpfile-name>.dmp directory=<directory-name> tables=<schema-name>.<table-name> metrics=y access_method=direct_path

impdp <username>/<password>@<Database-instance-TNS-alias>  dumpfile=<dumpfile-name>.dmp directory=<directory-name> metrics=y access_method=direct_path

ノート:

  • TABLE_EXISTS_ACTION=APPEND | TRUNCATEは、EXTERNAL_TABLEアクセス・メソッドでのみ使用できます。
  • 変換がそのVARCHAR2に収まる場合、TABLE_EXISTS_ACTION=APPEND | TRUNCATEVECTOR列データをVARCHAR2列にロードできます。
  • TABLE_EXISTS_ACTION=APPEND | TRUNCATEは、ロードされたVECTOR列の次元と一致するソースVECTORデータ次元を持つVECTOR列のみをロードできます。次元が一致しない場合は、エラーが発生します。
  • TABLE_EXISTS_ACTION=REPLACEは、すべてのアクセス・メソッドをサポートします。
  • トランスポータブル表領域モードをベクトル索引とともに使用することはできません。ただし、このモードでは、VECTORデータ型の表がサポートされます。