Autonomous Databaseインスタンスでの汎用スクリプトの起動
自律型AIデータベースで、BASH、CまたはPythonタイプの汎用スクリプトを起動できます。
- Autonomous AI Databaseでの汎用スクリプトの実行について
Autonomous AI Databaseインスタンスから、Bash、CまたはPythonで記述されたスクリプトを含む汎用スクリプトを起動できます。 - WalletのアップロードによるEXTPROCエージェント・インスタンスへのセキュアな接続の作成
自己署名付きウォレットは、EXTPROC
エージェント・アプリケーションの作成の一部として作成されます。このウォレットを使用すると、Autonomous AI DatabaseインスタンスからEXTPROC
エージェント・インスタンスにアクセスできます。 - Pythonスクリプトを起動するステップ
Autonomous AI DatabaseでPythonスクリプトを起動するステップを示します。
親トピック: ユーザー定義関数の起動
Autonomous AI Databaseでの汎用スクリプトの実行について
Autonomous AI Databaseインスタンスから、Bash、CまたはPythonで記述されたスクリプトを含む汎用スクリプトを起動できます。
自律型AIデータベース・インスタンスで汎用スクリプトを直接実行することはできません。かわりに、スクリプトは、Oracle Cloud Infrastructure Virtual Cloud Network (VCN)で実行されているOracle Autonomous AI Database Extprocコンテナ・イメージにリモートでホストされます。Oracle Schedulerジョブを使用して、Autonomous AI Databaseから汎用スクリプトを起動します。作成するOracle Schedulerジョブは、実行可能ジョブである必要があります。実行可能ジョブは、シェル・スクリプトまたはその他の実行可能ファイルを実行できます。
自律型AIデータベースからの汎用スクリプトは、データベースがプライベート・エンドポイントにある場合にのみサポートされます。汎用スクリプトを実行するには、EXTPROC
エージェントがインストールされたOracle Autonomous AI Databaseコンテナ・イメージを取得、インストールおよび構成する必要があります。Autonomous AI DatabaseのEXTPROC
コンテナ・イメージを使用すると、BASH、CまたはPythonで記述された外部プロシージャおよびスクリプトをAutonomous AI Databaseからコールできます。EXTPROC
エージェント・インスタンスはプライベート・サブネットでホストされ、Autonomous AI Databaseはリバース接続エンドポイント(RCE)を介してEXTPROC
エージェントにアクセスします。
汎用スクリプトは、次を使用してデプロイされます。
-
Oracle提供のAutonomous AI Databaseコンテナ・イメージで、
EXTPROC
エージェントがインストールされています。Oracleは、GitHubパッケージにコンテナ・イメージを提供します。EXTPROC
コンテナ・イメージを取得および構成する手順は、GitHub READMEを参照してください。EXTPROC
エージェント・インスタンスは、Oracle Cloud Infrastructure Virtual Cloud Network (VCN)で実行されているコンテナ・イメージでリモートでホストされます。自律型AIデータベースとEXTPROC
エージェント・インスタンス間のセキュアな通信は、プライベート・エンドポイントで実行されているAutonomous AI DatabaseインスタンスからEXTPROC
エージェント・インスタンスへのトラフィックが許可されるように、ネットワーク・セキュリティ・グループ(NSG)ルールを設定することで保護されます。EXTPROC
エージェント・イメージは、ポート16000で外部プロシージャをホストおよび実行するように事前構成されています。 -
エンドポイント環境を登録し、登録されたエンドポイントに対する権限を管理するPL/SQLプロシージャ。詳細は、DBMS_CLOUD_FUNCTION_ADMINパッケージを参照してください。
-
汎用スクリプトを起動するスケジューラ・ジョブおよびプログラムを作成および管理するためのPL/SQLプロシージャ。
詳細は、DBMS_SCHEDULERを参照してください。
Autonomous AI Databaseインスタンスから汎用スクリプトを実行するには、次のステップに従います:
-
EXTPROC
コンテナ・イメージを取得および構成します。詳細は、GitHub READMEを参照してください。 -
EXTPROC
エージェント・インスタンスに接続するようにAutonomous AI Databaseを構成します。詳細は、EXTPROCエージェント・インスタンスへのセキュアな接続を作成するためのWalletのアップロードを参照してください。 -
自律型AIデータベースで汎用スクリプトを起動します。詳細は、Pythonスクリプトを起動するステップを参照してください。
WalletのアップロードによるEXTPROCエージェント・インスタンスへのセキュアな接続の作成
自己署名ウォレットは、EXTPROC
エージェント・アプリケーションの作成の一部として作成されます。このウォレットを使用すると、Autonomous AI DatabaseインスタンスからEXTPROC
エージェント・インスタンスにアクセスできます。
EXTPROC
エージェント・インスタンスで汎用スクリプトを実行するには、Autonomous AI DatabaseおよびEXTPROC
エージェントがMutual Transport Layer Security (mTLS)を使用して接続します。mTLSを使用してEXTPROCエージェントに接続する場合、信頼できるクライアント認証局(CA)証明書で標準のTLS 1.2を使用してTCPS (セキュアなTCP)データベース接続を使用します。詳細は、Autonomous AI Databaseインスタンスへの接続についてを参照してください。
認証局(CA)によって発行されたパブリック証明書を取得して使用することもできます。
前提条件として、EXTPROC
が実行されているVMの/u01/app/oracle/wallets/extproc_wallet/
ディレクトリからオブジェクト・ストレージにウォレットをエクスポートする必要があります。これにより、Autonomous AI Databaseはウォレットを使用してEXTPROC
に安全にアクセスできます。
EXTPROC
ウォレットをAutonomous AI Databaseインスタンスにアップロードします:
Pythonスクリプトを起動するステップ
自律型AIデータベースでPythonスクリプトを起動するステップを示します。
Pythonスクリプトを実行するようにEXTPROC
エージェント・インスタンスを構成した後、リモート・エンドポイントを登録し、スクリプトをコールするためのスケジューラ・ジョブを作成します。
Autonomous AI DatabaseでPythonスクリプトを起動するための前提条件を次に示します:
-
汎用スクリプトをEXTPROCエージェント・インスタンスにコピーする必要があります。詳細は、GitHub READMEを参照してください。
-
スケジューラ・ジョブを作成して管理し、ADMIN以外のユーザーでPythonスクリプトを起動するには、次の権限が必要です:
-
MANAGE SCHEDULER
-
CREATE JOB
-
登録済リモート・エンドポイントの権限
-
トピック
- Autonomous Databaseでのリモート・エンドポイントの登録および管理
ADMINユーザーとして、次のステップを実行して、Autonomous AI Databaseでリモート・エンドポイントを登録および管理します。 - 汎用スクリプトを起動するスケジューラ・ジョブの作成と管理
Autonomous AI Databaseから汎用スクリプトを起動するスケジューラ・ジョブを作成および管理するステップを示します。
Autonomous Databaseでのリモート・エンドポイントの登録および管理
ADMINユーザーとして、次のステップを実行して、Autonomous AI Databaseのリモート・エンドポイントを登録および管理します。
リモート・エンドポイントの登録
DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV
を使用して、リモート・エンドポイントを登録します。
例:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'rem_executable',
remote_endpoint_url => 'remote_extproc_hostname:16000',
wallet_dir => 'WALLET_DIR',
remote_cert_dn => 'CN=MACHINENAME'
);
END;
/
この例では、rem_executable
ライブラリを作成し、Autonomous AI Databaseのremote_url
パラメータで指定されたEXTPROC
エージェント・インスタンスを登録します。EXTPROC
エージェント・インスタンスは、ポート16000で汎用スクリプトをホストするように事前構成されています。
詳細は、REGISTER_REMOTE_EXECUTION_ENVプロシージャを参照してください。
登録済エンドポイントの権限の管理
このステップはオプションであり、ADMIN以外のユーザーがAutonomous AI Databaseから汎用スクリプトを起動する必要がある場合にのみ必要です。
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV
を使用して、登録済エンドポイントに対する権限をADMIN以外のユーザーに付与します。
例:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/
この例では、REM_EXECUTABLE
に対する権限を指定されたユーザーに付与します。詳細は、GRANT_REMOTE_EXECUTION_ENVプロシージャを参照してください。
登録済エンドポイントに対する権限を付与した後、DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV
を使用して、登録済エンドポイントに対する権限をユーザーから取り消すことができます。
例:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/
この例では、指定したユーザーからREM_EXECUTABLE
に対する権限を取り消します。詳細は、REVOKE_REMOTE_EXECUTION_ENVプロシージャを参照してください。
DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANT
を問い合せて、すべてのリモート・エンドポイントに付与されている権限をリストできます。詳細は、DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANTビューを参照してください。
登録済エンドポイントの削除
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV
を使用して、登録済リモート・エンドポイントを削除します。
例:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE');
END;
/
これにより、Autonomous AI Databaseからrem_executable
リモート・エンドポイントが削除されます。詳細は、DEREGISTER_REMOTE_EXECUTION_ENVプロシージャを参照してください。
親トピック: Pythonスクリプトを起動するステップ
汎用スクリプトを起動するスケジューラ・ジョブの作成と管理
Autonomous AI Databaseから汎用スクリプトを起動するスケジューラ・ジョブを作成および管理するステップを示します。
親トピック: Pythonスクリプトを起動するステップ