DBMS_CLOUD_IMPORTパッケージ

DBMS_CLOUD_IMPORTは、Oracle Heterogeneous Gatewayを使用してAutonomous AI Databaseに、OracleデータベースおよびOracle以外のデータベースからのデータのインポートを容易にします。インポート・プロセス中に、ソース・データ型がOracle互換のデータ型に変換されます。その結果、Oracle異機種間ゲートウェイの制限および制限は、このパッケージで実行される操作にも適用されます。

DBMS_CLOUD_IMPORTサブプログラムの要約

この表は、パッケージにDBMS_CLOUD_IMPORTが含まれるサブプログラムの概要を示しています。

サブプログラム 摘要

ADD_BY_LIKEプロシージャ

指定されたソースからOracleにデータをインポートするためのインポート・タスクを作成します。オプションで、スキーマまたは表によるフィルタリングおよび構成可能なスケジューリング・オプションを使用します。

ADD_FILEプロシージャ

実行中のインポート・タスクを一時的に一時停止して、後で再開できるようにします。

ADD_LATEST_FILESプロシージャ

以前に一時停止したインポート・タスクを再起動し、一時停止した時点から処理を続行します。

ADD_TABLEプロシージャ

インポート・タスクを削除し、関連するタスク定義およびメタデータを削除します。

CREATE_IMPORT_TASKプロシージャ

DBMS_CLOUD_IMPORT.CREATE_IMPORT_TASKプロシージャは、指定されたソース・システムからAutonomous AIデータベースにデータをインポートするインポート・ジョブを作成および構成します。

このプロシージャを実行するには、ADMINユーザーとしてログインする必要があります。

構文

DBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK(
    task_name          IN VARCHAR2,
    hostname           IN VARCHAR2,
    port               IN VARCHAR2,
    service_name       IN VARCHAR2,
    credential_name    IN VARCHAR2,
    directory_name     IN VARCHAR2,
    ssl_server_cert_dn IN VARCHAR2 DEFAULT NULL,
    gateway_params     IN VARCHAR2 DEFAULT NULL,
    schema_list        IN CLOB     DEFAULT NULL,
    table_list         IN CLOB     DEFAULT NULL
);

パラメータ

パラメータ 摘要

task_name

インポート・タスクを一意に識別します。これは、移行タスクに割り当てられた名前です。タスクおよび関連するスケジューラ・ジョブを識別するために使用されます。

hostname

ターゲット・データベースのホスト名。

hostnamelocalhostを指定することはできません。

port

ターゲット・データベースへの接続のポートを指定します。

gateway_paramsパラメータを使用してOracle管理の異機種間接続との接続を指定する場合は、db_type値に基づいてポートを設定します。

詳細は、Oracle管理の異機種間接続データベース・タイプおよびポートを参照してください。

service_name

データベースのリンク先のservice_name。ターゲットAutonomous AI Databaseの場合、次のいずれかの方法でサービス名を検索します:

  • 接続用のAutonomous AI Databaseからダウンロードしたwallet.zipにあるtnsnames.oraファイルで確認します。

  • Oracle Cloud Infrastructure Consoleで「データベース接続」をクリックします。「接続文字列」領域では、各接続文字列に、対応するサービスの接続文字列を含むservice_nameエントリが含まれます。相互TLS (mTLS)接続とTLS接続の両方が許可されている場合、「TLS認証」「TLS」を選択して、TLS認証を使用した接続のTNS名および接続文字列を表示します。詳細は、Autonomous AIデータベース・インスタンスのTNS名および接続文字列の表示を参照してください。

  • V$SERVICESビューを問い合せます。次に例を示します。

    SELECT name FROM V$SERVICES;

    gateway_paramsパラメータを使用してOracle管理の異機種間接続との接続を指定する場合、service_nameはOracle以外のデータベースのデータベース名です。

credential_name

DBMS_CLOUD.CREATE_CREDENTIALで作成された格納済資格証明の名前。これは、ソース・データベースにアクセスするための資格証明です。

directory_name

cwallet.ssoファイルのディレクトリ。このパラメータのデフォルト値は'data_pump_dir'です。

Oracle管理の異機種間接続は、共通の信頼できるルートおよび中間SSL証明書の大部分を含むウォレットで事前構成されています。gateway_paramsパラメータを指定する場合、directory_nameパラメータは不要です。

ssl_server_cert_dn

サーバー証明書にあるDN値。

Oracle管理の異機種間接続は、共通の信頼できるルートおよび中間SSL証明書の大部分を含むウォレットで事前構成されています。gateway_paramsパラメータを指定するか、ssl_server_cert_dnパラメータを含めない場合(デフォルト値はNULL)、ssl_server_cert_dnNULLである必要があります。

gateway_params

異機種間移行に使用される接続およびソース・タイプ設定(ソースがOracle以外のデータベースの場合)を指定します。

JSONオブジェクトとして渡され、ソース・データベース・タイプなどの値(gateway_params => JSON_OBJECT('db_type' VALUE 'mysql')など)が含まれます。

これらのパラメータは、ソース・システムとの接続時およびソース・システムからのデータのインポート時に使用するゲートウェイまたはドライバの動作を移行ジョブに指示します。このパラメータはオプションで、デフォルトはNULLです。

schema_list

インポートに含めるスキーマのリスト。

このパラメータはオプション。値を指定しなかった場合のデフォルトはNULLで、ソース・データベース内のすべてのスキーマが移行されます。

table_list

'[{"schema_name":"public","table_name":"sales_data"}]'エントリのJSON配列として移行する表を指定します。

table_listを使用して表レベルの(部分的な)移行を実行し、指定した表のみを移行します。

schema_listおよびtable_listには、重複するオブジェクトを指定しないでください。このパラメータは、ソース・データベースがOracleの場合にのみサポートされます。

このパラメータはオプションで、デフォルトはNULLです。

BEGIN
  DBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK(
    task_name          => 'orcl_import_job',
    hostname           => '<remote_db_hostname>',
    port               => '<remote_db_port>',
    service_name       => '<remote_db_service_name>',
    ssl_server_cert_dn => '<cn=remote_db_cn_name>',
    directory_name     => '<walletdb>',
    credential_name    => 'db1_cred',
    schema_list        => '["admin"]'
  );
END;
/

SUSPEND_IMPORT_TASKプロシージャ

DBMS_CLOUD_IMPORT.SUSPEND_IMPORT_TASKプロシージャは、実行中のインポート・タスクを一時的に一時停止し、後で再開できるようにします。

構文

DBMS_CLOUD_IMPORT.SUSPEND_IMPORT_TASK(
   task_name IN VARCHAR2 );

パラメータ

パラメータ 摘要

task_name

インポート・タスクを一意に識別します。

BEGIN
  DBMS_CLOUD_IMPORT.SUSPEND_IMPORT_TASK(
   task_name => 'SALES_IMPORT_JOB1'
);
END;
/

RESUME_IMPORT_TASKプロシージャ

DBMS_CLOUD_IMPORT.RESUME_IMPORT_TASKプロシージャは、以前に一時停止されたインポート・タスクを再開します。指定したtask_nameのタスク実行を再開し、一時停止した時点からインポート操作を続行します。

このプロシージャを実行するには、ADMINユーザーとしてログインする必要があります。

構文

DBMS_CLOUD_IMPORT.RESUME_IMPORT_TASK(
   task_name IN VARCHAR2 );

パラメータ

パラメータ 摘要

task_name

インポート・タスクを一意に識別します。

BEGIN
  DBMS_CLOUD_IMPORT.RESUME_IMPORT_TASK(
   task_name => 'SALES_IMPORT_JOB1'
  );
 END;
/

DROP_IMPORT_TASKプロシージャ

DBMS_CLOUD_IMPORT.DROP_IMPORT_TASKプロシージャは、インポート・タスクを削除し、関連するタスク定義およびメタデータを削除します。

このプロシージャを実行するには、ADMINユーザーとしてログインする必要があります。

構文

DBMS_CLOUD_IMPORT.DROP_IMPORT_TASK(
   task_name IN VARCHAR2 );

パラメータ

パラメータ 摘要

task_name

インポート・タスクを一意に識別します。

BEGIN
  DBMS_CLOUD_IMPORT.DROP_IMPORT_TASK(
   task_name => 'SALES_IMPORT_JOB1'
  );
 END;
/