Autonomous AI Databaseから別のAutonomous AI DatabaseへのTLSデータベース・リンクの作成

専用Exadataインフラストラクチャ上のAutonomous AI Databaseから、パブリック・エンドポイントにあるターゲットAutonomous AI DatabaseへのTLSデータベース・リンクを作成できます。

Autonomous AI Databaseから別のAutonomous AI Databaseへの一方向TLSデータベース・リンクの作成

Autonomous AI Database on Dedicated Exadata InfrastructureからパブリックにアクセスできるAutonomous AI Databaseへの一方向TLSデータベース・リンクを作成できます。

パブリック・ターゲットへのデータベース・リンクを作成するには、ターゲット・データベースにアクセスできる必要があります。Autonomous AI Databaseを含む一部のデータベースでは、アクセスが制限される場合があります(アクセス制御リストの使用など)。データベース・リンクを機能するように、ターゲット・データベースがソース・データベースからのアクセスを許可していることを確認してください。アクセス制御リスト(ACL)を使用してアクセスを制限すると、ソースAutonomous AI DatabaseのアウトバウンドIPアドレスを検索し、そのIPアドレスをターゲット・データベースに接続することを許可できます。ターゲット・データベースが別のAutonomous AIデータベースである場合、ソース・ データベースのアウトバウンドIPアドレスをターゲット・データベースACLに追加できます。

アウトバウンドIPアドレスの検索の詳細は、「テナンシ詳細の取得」を参照してください。

ウォレット(TLS)なしでターゲットAutonomous AI Databaseへのデータベース・リンクを作成するには:

  1. 一方向TLS接続が有効になっていることを確認します。

    デフォルトでは、AVMCをプロビジョニングすると一方向TLS接続が有効になります。詳細は、Autonomous Exadata VMクラスタの作成を参照してください。

    ノート: Autonomous AI Database on Dedicated Exadata Infrastructureでは、パブリックCAによって発行されたカスタムSSL証明書をインストールすることで、一方向TLSに対してウォレットレス接続が機能します。詳細は、「TLSウォレットレス接続の準備」を参照してください。

  2. データベース・リンクを作成している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パラメータの文字はすべて大文字である必要があります。

    この操作によって、資格証明が暗号化された形式でデータベースに格納されます。資格証明には任意の名前を使用できます。

  3. 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 => '2484',
             service_name => 'example_medium.atpc.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にする必要があります。

    TLS接続の場合は、portパラメータ値を2484に設定する必要があります。ただし、AVMCのプロビジョニング中に別のSCANリスナー・ポート番号が選択された場合は、そのポート番号を使用する必要があります。詳細は、Autonomous Exadata VMクラスタの作成を参照してください。

    ssl_server_cert_dnパラメータは省略することも、含まれる場合はNULL値を指定することもできます。

    ADMIN以外のユーザーがDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、権限が必要です。

  4. 作成したデータベース・リンクを使用して、ターゲット・データベースのデータにアクセスします。

    たとえば:

     SELECT * FROM employees@SALESLINK;
    

ステップ1で作成した資格証明(ターゲット・データベースの資格証明)では、ターゲット・ユーザーのパスワードが変更された場合、ターゲット・ユーザーの資格証明が含まれる資格証明は、次のように更新できます:

BEGIN
 DBMS_CLOUD.UPDATE_CREDENTIAL (
    credential_name => 'DB_LINK_CRED',
    attribute => 'PASSWORD',
    value => 'password' );
END;
/

ここで、passwordは新しいパスワードです。

この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成しなくても引き続き機能します。

その他の情報については、次のWebサイトを参照してください。

Autonomous AI Databaseから別のAutonomous AI DatabaseへのmTLSデータベース・リンクの作成

Autonomous AI Database on Dedicated Exadata InfrastructureからパブリックにアクセスできるAutonomous AI DatabaseへのmTLSデータベース・リンクを作成できます。

パブリック・ターゲットへのデータベース・リンクを作成するには、ターゲット・データベースにアクセスできる必要があります。Autonomous AI Databaseを含む一部のデータベースでは、アクセスが制限される場合があります(アクセス制御リストの使用など)。データベース・リンクを機能するように、ターゲット・データベースがソース・データベースからのアクセスを許可していることを確認してください。アクセス制御リスト(ACL)を使用してアクセスを制限すると、ソースAutonomous AI DatabaseのアウトバウンドIPアドレスを検索し、そのIPアドレスをターゲット・データベースに接続することを許可できます。たとえば、ターゲット・データベースが別のAutonomous AIデータベースである場合、ソース・ データベースのアウトバウンドIPアドレスをターゲット・データベースACLに追加できます。

アウトバウンドIPアドレスの検索の詳細は、「テナンシ詳細の取得」を参照してください。

ウォレット(mTLS)を使用してターゲットAutonomous AI Databaseへのデータベース・リンクを作成するには:

  1. mTLS接続が有効化されていることを確認します。

    デフォルトでは、AVMCに対して一方向TLS接続が有効になっています。AVMCのプロビジョニング中に「相互TLS (mTLS)認証の有効化」チェック・ボックスを選択すると、相互TLS (mTLS)認証を有効にできます。詳細は、Autonomous Exadata VMクラスタの作成を参照してください。

  2. ターゲット・データベースの証明書を含むターゲット・データベース・ウォレットcwallet.ssoをオブジェクト・ストアにコピーします。

    ウォレット・ファイルについては、次の点に注意してください。

    • ウォレット・ファイルは、データベース・ユーザーIDおよびパスワードと組み合せて、ターゲットOracle Database内のデータにアクセスできます。ウォレット・ファイルは安全な場所に保存してください。ウォレット・ファイルは、権限のあるユーザーとのみ共有してください。

    • ウォレット・ファイルの名前を変更しないでください。オブジェクト・ストレージのウォレット・ファイルには、cwallet.ssoという名前を付ける必要があります。

  3. ウォレット・ファイルcwallet.ssoを格納するオブジェクト・ストアにアクセスするための資格証明を作成します。様々なオブジェクト・ストレージ・サービスのusernameおよびpasswordパラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。

  4. ウォレット・ファイルcwallet.ssoのディレクトリをAutonomous AI Databaseに作成します。

    たとえば:

    CREATE DIRECTORY *dblink_wallet_dir* AS '*directory_path_of_your_choice*';
    

    ディレクトリの作成の詳細は、「Autonomous AI Databaseでのディレクトリの作成」を参照してください。

  5. 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はバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

  6. 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パラメータの文字はすべて大文字である必要があります。

    この操作によって、資格証明が暗号化された形式でデータベースに格納されます。資格証明には任意の名前を使用できます。

  7. 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 => '2484',
             service_name => 'example_medium.atpc.example.oraclecloud.com',
             ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
             credential_name => 'DB_LINK_CRED',
             directory_name => 'DBLINK_WALLET_DIR');
     END;
     /
    

    ADMIN以外のユーザーがDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、権限が必要です。

    TLS接続の場合は、portパラメータ値を2484に設定する必要があります。ただし、AVMCのプロビジョニング中に別のSCANリスナー・ポート番号が選択された場合は、そのポート番号を使用する必要があります。詳細は、Autonomous Exadata VMクラスタの作成を参照してください。

    directory_nameで指定されたディレクトリ内のウォレット・ファイルがcwallet.ssoでない場合、プロシージャはORA-28759: failure to open fileなどのエラーを報告します。

  8. 作成したデータベース・リンクを使用して、ターゲット・データベースのデータにアクセスします。

    たとえば:

     SELECT * FROM employees@SALESLINK;
    

ステップ5で作成した資格証明(ターゲット・データベースの資格証明)では、ターゲット・ユーザーのパスワードが変更された場合、ターゲット・ユーザーの資格証明が含まれる資格証明は、次のように更新できます:

BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL (
    credential_name => 'DB_LINK_CRED',
    attribute => 'PASSWORD',
    value => 'password' );
END;
/

passwordは、新しいパスワードです。

この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成しなくても引き続き機能します。

その他の情報については、次のWebサイトを参照してください。

Autonomous AI Databaseであるターゲットとのデータベース・リンクに関するノート

別のAutonomous AIデータベースであるターゲットへのデータベース・リンクを作成するためのノートを提供します。

別のAutonomous AI Databaseへのデータベース・リンクに関するノート:

関連コンテンツ