Autonomous AI Databaseからパブリックにアクセス可能なAutonomous AI Databaseへのデータベース・リンクの作成
Autonomous AI Databaseから、パブリック・エンドポイントにあるターゲットAutonomous AI Databaseへのデータベース・リンクを作成できます。
詳細は、Autonomous AIデータベースからDatabase Cloud Serviceインスタンスへのデータベース・リンクの作成方法を参照してください。
Wallet (TLS)を使用せずに、自律型AIデータベースからパブリックにアクセス可能な自律型AIデータベースへのデータベース・リンクの作成
自律型AIデータベースから、ウォレット(TLS)なしでパブリックにアクセス可能な自律型AIデータベースへのデータベース・リンクを作成できます。
パブリック・ターゲットへのデータベース・リンクを作成するには、ターゲット・データベースにアクセスできる必要があります。自律型AIデータベースを含む一部のデータベースでは、アクセスが制限される場合があります(アクセス制御リストの使用など)。データベース・リンクを機能するように、ソース・データベースからのアクセスが許可されるようターゲット・データベースを有効にしてください。アクセス制御リスト(ACL)を使用してアクセスを制限すると、ソースAutonomous AI DatabaseのアウトバウンドIPアドレスを検索し、そのIPアドレスをターゲット・データベースに接続することを許可できます。ターゲット・データベースが別のAutonomous AI Databaseである場合、ソース・ データベースのアウトバウンドIPアドレスをターゲット・データベースACLに追加できます。
アウトバウンドIPアドレスの検索の詳細は、「テナンシ詳細の取得」を参照してください。
ウォレット(TLS)のないターゲットAutonomous AI Databaseへのデータベース・リンクを作成するには:
-
自律型AIデータベース・インスタンスでTLS接続を有効にしていない場合は、有効にします。
詳細は、TLS認証とmTLS認証の両方を許可するようにAutonomous AIデータベース・インスタンスを更新を参照してください。
-
データベース・リンクを作成しているAutonomous AI Databaseインスタンスで、ターゲットAutonomous AI Databaseにアクセスするための資格証明を作成します。
DBMS_CLOUD.CREATE_CREDENTIALを指定して指定するusernameおよびpasswordは、ターゲット・データベースの資格証明です(これらの資格証明を使用してデータベース・リンクを作成します)。ノート
ノート:
credential_nameパラメータの指定は必須です。たとえば:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END; /usernameパラメータの文字はすべて大文字である必要があります。ノート
ノート:データベース・リンクのターゲット・データベース資格証明には、ボールト・シークレット資格証明を使用できます。詳細は、ボールト・シークレット資格証明の使用を参照してください。この操作によって、資格証明が暗号化された形式でデータベースに格納されます。資格証明には任意の名前を使用できます。
-
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲットAutonomous AI Databaseインスタンスへのデータベース・リンクを作成します。たとえば:
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'SALESLINK', hostname => 'adb.eu-frankfurt-1.oraclecloud.com', port => '1521', service_name => 'example_medium.adb.example.oraclecloud.com', credential_name => 'DB_LINK_CRED', directory_name => NULL); END; /ウォレットのないセキュアなTCP接続を使用して、パブリック・エンドポイント上のターゲットAutonomous AI Databaseへの
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを含むデータベース・リンクを作成するには、directory_nameパラメータをNULLにする必要があります。ssl_server_cert_dnパラメータは省略することも、含まれる場合はNULL値を指定することもできます。ADMIN以外のユーザーが
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、権限が必要です。 -
作成したデータベース・リンクを使用して、ターゲット・データベースのデータにアクセスします。
たとえば:
SELECT * FROM employees@SALESLINK;
ステップ1で作成した資格証明(ターゲット・データベースの資格証明)では、ターゲット・ユーザーのパスワードが変更された場合、ターゲット・ユーザーの資格証明が含まれる資格証明は、次のように更新できます:
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password' );
END;
/ここで、passwordは新しいパスワードです。
この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成しなくても引き続き機能します。
ノート
ノート: DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用してビッグ・データ・サービスへのリンクを作成できます。詳細は、「Autonomous AI DatabaseからのBig Data Service Hadoop (HDFS)データの問い合せ」を参照してください。
その他の情報については、次のWebサイトを参照してください。
Wallet (mTLS)を使用した自律型AIデータベースからパブリックにアクセス可能な自律型AIデータベースへのデータベース・リンクの作成
自律型AIデータベースから、ウォレット(mTLS)を使用してパブリックにアクセス可能な自律型AIデータベースへのデータベース・リンクを作成できます。
パブリック・ターゲットへのデータベース・リンクを作成するには、ターゲット・データベースにアクセスできる必要があります。自律型AIデータベースを含む一部のデータベースでは、アクセスが制限される場合があります(アクセス制御リストの使用など)。データベース・リンクを機能するように、ソース・データベースからのアクセスが許可されるようターゲット・データベースを有効にしてください。アクセス制御リスト(ACL)を使用してアクセスを制限すると、ソースAutonomous AI DatabaseのアウトバウンドIPアドレスを検索し、そのIPアドレスをターゲット・データベースに接続することを許可できます。たとえば、ターゲット・データベースが別のAutonomous AI Databaseである場合、ソース・ データベースのアウトバウンドIPアドレスをターゲット・ データベースのACLに追加できます。
アウトバウンドIPアドレスの検索の詳細は、「テナンシ詳細の取得」を参照してください。
ウォレット(mTLS)を使用してターゲットAutonomous AI Databaseへのデータベース・リンクを作成するには:
-
ターゲット・データベースの証明書を含むターゲット・データベース・ウォレット
cwallet.ssoをオブジェクト・ストアにコピーします。ウォレット・ファイルについて次の点に注意してください。
-
ウォレット・ファイルは、データベース・ユーザーIDおよびパスワードと組み合せて、ターゲットOracle AI Database内のデータへのアクセスを可能にする。ウォレット・ファイルは安全な場所に保存してください。ウォレット・ファイルは、権限のあるユーザーとのみ共有してください。
-
ウォレット・ファイルの名前を変更しないでください。オブジェクト・ストレージのウォレット・ファイルには、
cwallet.ssoという名前を付ける必要があります。
-
-
ウォレット・ファイル
cwallet.ssoを格納するオブジェクト・ストアにアクセスするための資格証明を作成します。様々なオブジェクト・ストレージ・サービスのusernameおよびpasswordパラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。
-
ウォレット・ファイル
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は、オブジェクト・ストアの資格証明です。次のステップでは、ターゲット・データベースにアクセスするための資格証明を作成します。リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。
-
Autonomous AI Databaseインスタンスで、ターゲット・データベースにアクセスするための資格証明を作成します。
DBMS_CLOUD.CREATE_CREDENTIALで指定したusernameおよびpasswordは、データベース・リンクの作成に使用するターゲット・データベースの資格証明になります。ノート
ノート: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 => 'adb.eu-frankfurt-1.oraclecloud.com', port => '1522', service_name => 'example_medium.adb.example.oraclecloud.com', credential_name => 'DB_LINK_CRED', directory_name => '*DBLINK_WALLET_DIR*'); END; /ADMIN以外のユーザーが
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、権限が必要です。directory_nameで指定されたディレクトリ内のウォレット・ファイルがcwallet.ssoでない場合、プロシージャはORA-28759: failure to open fileなどのエラーを報告します。 -
作成したデータベース・リンクを使用して、ターゲット・データベースのデータにアクセスします。
たとえば:
SELECT * FROM employees@SALESLINK;
ステップ5で作成した資格証明(ターゲット・データベースの資格証明)では、ターゲット・ユーザーのパスワードが変更された場合、ターゲット・ユーザーの資格証明が含まれる資格証明は、次のように更新できます:
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password' );
END;
/ここで、passwordは新しいパスワードです。
この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成しなくても引き続き機能します。
ノート: DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用してビッグ・データ・サービスへのリンクを作成できます。詳細は、「Autonomous AI DatabaseからのBig Data Service Hadoop (HDFS)データの問い合せ」を参照してください。
その他の情報については、次のWebサイトを参照してください。