パブリックにアクセス可能な非Oracle AIデータベースへの顧客管理の異機種間接続によるデータベース・リンクの作成
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、パブリック・エンドポイント上のAutonomous AI DatabaseインスタンスからOracle AI Database Gatewayへのデータベース・リンクを作成し、Oracle以外のデータベースにアクセスします。
パブリック・エンドポイントでAutonomous AI Databaseインスタンスからのデータベース・リンクを使用するには、SSL付きTCP/IP (TCPS)認証を使用するようにOracle AI Database Gatewayのターゲットを構成する必要があります。詳細は、「Secure Sockets Layer認証の構成」を参照してください。
パブリック・エンドポイント上のAutonomous AI DatabaseインスタンスからターゲットのOracle AI Database Gatewayへのデータベース・リンクを作成するには:
-
ターゲットのOracle AI Database Gateway自己署名ウォレットをオブジェクト・ストアにコピーします。たとえば、Oracle AI Database Gatewayの証明書を含む
cwallet.ssoをオブジェクト・ストアにコピーします。ノート
ノート:ウォレット・ファイルは、データベースのユーザーIDおよびパスワードと組み合せて、ターゲットOracle AI Database Gatewayを介して使用可能なデータへのアクセスを可能にしますウォレット・ファイルは安全な場所に保存してください。ウォレット・ファイルは、権限のあるユーザーとのみ共有してください。 -
cwallet.ssoを格納するオブジェクト・ストアにアクセスするための資格証明を作成します。様々なオブジェクト・ストレージ・サービスのusernameおよびpasswordパラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。 -
ウォレット・ファイル
cwallet.ssoのAutonomous AI Databaseインスタンスにディレクトリを作成します。たとえば:
CREATE DIRECTORY *dblink_wallet_dir* AS '*directory_path_of_your_choice*';ディレクトリの作成の詳細は、「Autonomous AI Databaseでのディレクトリの作成」を参照してください。
-
DBMS_CLOUD.GET_OBJECTを使用して、前のステップで作成したディレクトリDBLINK_WALLET_DIRにターゲット・ゲートウェイ自己署名付きウォレットをアップロードします。たとえば:
BEGIN DBMS_CLOUD.GET_OBJECT( credential_name => 'DEF_CRED_NAME', object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/cwallet.sso', directory_name => '*DBLINK_WALLET_DIR*'); END; /この例では、
namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。このステップで使用する
credential_nameは、オブジェクト・ストアの資格証明です。次のステップでは、ターゲット・ゲートウェイにアクセスするための資格証明を作成します。 -
Autonomous AI Databaseインスタンスで、ターゲット・データベースにアクセスするための資格証明を作成します。
DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、データベース・リンクの作成時に使用されるターゲット・データベースの資格証明です(ターゲット・データベースはOracle AI Database Gatewayを介してアクセスされます)。credential_nameパラメータの指定は必須です。たとえば:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END; /usernameパラメータの文字はすべて大文字である必要があります。この操作によって、資格証明が暗号化された形式でデータベースに格納されます。資格証明には任意の名前を使用できます。
-
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲット・ゲートウェイにアクセスするためのデータベース・リンクを作成します。たとえば:
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'SALESLINK', hostname => '*example.com*', port => '1522', service_name => '*example_service_name*', ssl_server_cert_dn => '*ssl_server_cert_dn*', credential_name => 'DB_LINK_CRED', directory_name => '*DBLINK_WALLET_DIR*', gateway_link => TRUE); END; /ADMIN以外のユーザーが
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、権限が必要です。 -
作成したデータベース・リンクを使用すると、ターゲット・ゲートウェイのデータにアクセスできます。
たとえば:
SELECT * FROM employees@SALESLINK;
ステップ5で作成した資格証明(Oracle AI Database Gatewayの資格証明)では、ターゲット・ユーザーのパスワードが変更された場合、ターゲット・ユーザーの資格証明を含む資格証明は、次のように更新できます:
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/ここで、passwordは新しいパスワードです。
この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成しなくても引き続き機能します。
Oracle AI Database Gatewayへのデータベース・リンクを作成してMicrosoft SQL Serverデータベースにアクセスする方法を示す例については、次を参照してください: How to Access Non-Oracle AI Databases from Autonomous AI Database using Oracle AI Database Gateway
その他の情報については、次のWebサイトを参照してください。