機械翻訳について

Autonomous DatabaseではないOracle Databaseへのデータベース・リンクの作成

データベース・リンクは、Autonomous Databaseから、プライベート・エンドポイントまたはパブリック・エンドポイントにあるOracleデータベース(パブリックにアクセス可能)に作成できます。

ノート:

データベース・リンクのターゲットが別のAutonomous Databaseの場合は、「Autonomous Databaseから別のAutonomous Databaseへのデータベース・リンクの作成」を参照してください。

Wallet (mTLS)を使用した、Autonomous Databaseからパブリックにアクセス可能なOracle Databaseへのデータベース・リンクの作成

Autonomous Databaseからパブリック・エンドポイントにあるターゲットOracleデータベースへのデータベース・リンクを作成できます。

Autonomous Databaseでデータベース・リンクを使用するには、SSL (TCPS)認証でTCP/IPを使用するようにターゲット・データベースを構成する必要があります。 Autonomous DatabaseはデフォルトでSSL (TCPS)認証を使用してTCP/IPを使用するため、別のAutonomous Databaseにリンクするためにターゲット・データベースで追加の構成を行う必要はありません。 他のOracleデータベースは、SSL (TCPS)認証でTCP/IPを使用するように構成する必要があります。 詳細については、「Secure Sockets Layer認証の構成」を参照してください。

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

詳細については、「Autonomous DatabaseからDatabase Cloud Serviceインスタンスへのデータベース・リンクの作成方法」を参照してください。

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

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

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

    • ウォレット・ファイルは、データベース・ユーザーIDおよびパスワードとともに、ターゲットOracle Databaseのデータへのアクセスを提供します。 ウォレット・ファイルを安全な場所に保存します。 ウォレット・ファイルは、許可されたユーザーとのみ共有します。

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

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

    リソース・プリンシパル資格証明を有効にした場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。 詳細については、「リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセス」を参照してください。

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

    たとえば:

    CREATE DIRECTORY dblink_wallet_dir AS 'directory_path_of_your_choice';
                

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

  4. 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リソースへのアクセス」を参照してください。

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

    ノート:

    データベース・リンクのターゲット・データベース資格証明にボールト・シークレット資格証明を使用できます。 詳細については、「Vaultシークレット資格証明の使用」を参照してください。

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

  6. 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',
            ssl_server_cert_dn => 'CN=adb.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の実行権限を必要とします。

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

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

    たとえば:

    SELECT * FROM employees@SALESLINK;
                

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

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

「パスワード」は新しいパスワードです。

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

ノート:

DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、Big Data Serviceへのリンクを作成できます。 詳細については、「Autonomous DatabaseからのBig Data Service Hadoop (HDFS)データの問合せ」を参照してください。

追加情報

プライベート・エンドポイントでのAutonomous DatabaseからOracle Databaseへのデータベース・リンクの作成

データベース・リンクは、Autonomous Databaseからプライベート・エンドポイントにあるターゲットOracle Databaseに作成できます。

ターゲットOracleデータベースのタイプおよび構成に応じて、次を実行します:

詳細については、「Autonomous DatabaseからDatabase Cloud Serviceインスタンスへのデータベース・リンクの作成方法」を参照してください。

トピック

プライベート・エンドポイントでのAutonomous DatabaseからOracle Databaseへのデータベース・リンクの前提条件

Autonomous Databaseからプライベート・エンドポイントにあるターゲットOracleデータベースへのデータベース・リンクを作成するための前提条件をリストします。

プライベート・エンドポイントのターゲットOracleデータベースへのデータベース・リンクを作成するには:

  • ターゲット・データベースは、ソース・データベースのOracle Cloud Infrastructure VCNからアクセスできる必要があります。 たとえば、次の場合にターゲット・データベースに接続できます:

    • ターゲット・データベースはプライベート・エンドポイントにあります。

    • ソース・データベースとターゲット・データベースの両方が同じOracle Cloud Infrastructure VCNにあります。

    • ソース・データベースとターゲット・データベースは、ペアになっている異なるOracle Cloud Infrastructure VCNにあります。

    • ターゲット・データベースは、FastConnectまたはVPNを使用してソース・データベースOracle Cloud Infrastructure VCNに接続されているオンプレミス・データベースです。

  • ターゲット・データベースを指定するには、hostnameパラメータまたはrac_hostnamesパラメータを使用する2つのオプションがあります:

    • プライベート・エンドポイント上のターゲットの場合、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKでは、hostnameパラメータを使用して単一のホスト名を指定できます。 プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません(ターゲットがパブリック・エンドポイントにある場合、CREATE_DATABASE_LINKではIPアドレス、SCAN IPまたはSCANホスト名の使用がサポートされます)。

    • ターゲットがOracle RACデータベースの場合、rac_hostnamesパラメータを使用して、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで1つ以上のホスト名を指定します。 これにより、Oracle RACの高可用性機能を利用できます。 rac_hostnames値でのIPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません。

      rac_hostnamesパラメータでホスト名のリストを指定すると、CREATE_DATABASE_LINKは、指定されたすべてのホスト名を接続文字列のアドレスとして使用します。 指定されたホストのいずれかがターゲットのOracle RACデータベースで使用できない場合、Autonomous Databaseは、リストから別のホスト名を使用して自動的に接続を試みます。
  • プライベート・エンドポイントに対して、次のイングレス・ルールおよびエグレス・ルールを定義する必要があります:

    • ソース・データベースのサブネット・セキュリティ・リストまたはネットワーク・セキュリティ・グループで、TCPを介したトラフィックがターゲット・データベースのIPアドレスとポート番号に許可されるようにエグレス・ルールを定義します。

    • ターゲット・データベースのサブネット・セキュリティ・リストまたはネットワーク・セキュリティ・グループで、TCP経由のトラフィックがソース・データベースのIPアドレスから宛先ポートに許可されるようにイングレス・ルールを定義します。

    イングレス・ルールおよびエグレス・ルールを使用したプライベート・エンドポイントの構成の詳細は、「プライベート・エンドポイントを使用したネットワーク・アクセスの構成」を参照してください。

ノート:

Autonomous Databaseインスタンスがプライベート・エンドポイントで構成されている場合、ROUTE_OUTBOUND_CONNECTIONSデータベース・パラメータをPRIVATE_ENDPOINTに設定して、すべての送信データベース・リンクがAutonomous Databaseインスタンスのプライベート・エンドポイントVCNエグレス・ルールの対象となることを指定します。 詳細については、「プライベート・エンドポイントを使用したアウトバウンド接続のセキュリティの強化」を参照してください。

Walletを使用しないプライベート・エンドポイントでのOracle Databasesへのデータベース・リンクの作成

DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、Autonomous Databaseからプライベート・エンドポイントにあるターゲットOracleデータベースへのデータベース・リンクを作成し、ウォレット(TCP)なしで接続します。

ノート:

このオプションは、プライベート・エンドポイントにあり、SSL/TCPSが構成されていないターゲットOracleデータベース用です。

必要に応じて、前提条件ステップを実行します。 詳細は「プライベート・エンドポイント上のAutonomous DatabaseからターゲットAutonomous Databaseへのデータベース・リンクの前提条件」を参照してください。

ウォレットなしでセキュアなTCP接続を使用してプライベート・エンドポイントのターゲット・データベースへのデータベース・リンクを作成するには:

  1. Autonomous Databaseで、ターゲット・データベースにアクセスするための資格証明を作成します。 DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、(ターゲット・データベースがVCNを介してアクセスされる)データベース・リンク内で使用されるターゲット・データベースの資格証明です。

    たとえば:

    BEGIN
         DBMS_CLOUD.CREATE_CREDENTIAL(
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             username => 'NICK',
             password => 'password'
             );
    END;
    /

    usernameパラメータの文字はすべて大文字にする必要があります。

    ノート:

    データベース・リンクのターゲット・データベース資格証明にボールト・シークレット資格証明を使用できます。 詳細については、「Vaultシークレット資格証明の使用」を参照してください。

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

  2. DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲット・データベースへのデータベース・リンクを作成します。

    たとえば:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
             db_link_name => 'PRIVATE_ENDPOINT_LINK', 
             hostname => 'exampleHostname',
             port => '1522',
             service_name => 'exampleServiceName',
             ssl_server_cert_dn => NULL,
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             directory_name => NULL,
             private_target => TRUE);
    END;
    /

    プライベート・エンドポイント上のターゲットの場合、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKでは、hostnameパラメータを使用して単一のホスト名を指定できます。 プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません(ターゲットがパブリック・エンドポイントにある場合、CREATE_DATABASE_LINKではIPアドレス、SCAN IPまたはSCANホスト名の使用がサポートされます)。

    ターゲットがOracle RACデータベースの場合、rac_hostnamesパラメータを使用して、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで1つ以上のホスト名を指定します。 これにより、Oracle RACの高可用性機能を利用できます。 rac_hostnames値でのIPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません。

    たとえば、ターゲットのOracle RACデータベースでは、rac_hostnamesパラメータを使用します:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
             db_link_name => 'PRIVATE_ENDPOINT_LINK', 
             rac_hostnames => '["sales1-svr1.example.adb.us-ashburn-1.oraclecloud.com", 
                                "sales1-svr2.example.adb.us-ashburn-1.oraclecloud.com", 
                                "sales1-svr3.example.adb.us-ashburn-1.oraclecloud.com"]', 
             port => '1522',
             service_name => 'exampleServiceName',
             ssl_server_cert_dn => NULL,
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             directory_name => NULL,
             private_target => TRUE);
    END;
    /

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKは、hostnameまたはrac_hostnamesパラメータでlocalhostの値をサポートしていません。

    ADMIN以外のユーザーは、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKの実行権限を必要とします。

    例に示すように、ウォレットなしでセキュアなTCP接続を使用してプライベート・エンドポイントのターゲット・データベースにDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用してデータベース・リンクを作成するには、次のすべてが必要です:

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

    たとえば:

    SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
                  

ノート:

ステップ1で作成した資格証明の場合、Oracle Database資格証明は、ターゲット・ユーザーのパスワードが変更されると、ターゲット・ユーザー資格証明を含む資格証明を次のように更新できます:
BEGIN
     DBMS_CLOUD.UPDATE_CREDENTIAL (
         credential_name => 'DB_LINK_CRED',
         attribute => 'PASSWORD',
         value => 'password');
END;
/

「パスワード」は新しいパスワードです。

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

詳細は、「CREATE_DATABASE_LINKプロシージャ」を参照してください。

Wallet (mTLS)を使用したプライベート・エンドポイントでのAutonomous DatabaseからOracle Databasesへのデータベース・リンクの作成

Autonomous Databaseからプライベート・エンドポイントにあるターゲットOracleデータベースへのデータベース・リンクを作成できます。

ノート:

このオプションは、SSL/TCPSが構成され、プライベート・エンドポイント上にあるターゲットOracleデータベース用です。

ターゲットOracleデータベースにSSL/TCPSが構成されていない場合、次の2つのオプションがあります:

必要に応じて、前提条件ステップを実行します。 詳細は「プライベート・エンドポイント上のAutonomous DatabaseからターゲットAutonomous Databaseへのデータベース・リンクの前提条件」を参照してください。

SSL (TCPS)認証を使用したTCP/IPを使用して、プライベート・エンドポイント上のターゲットOracleデータベースへのデータベース・リンクを作成するには:

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

    ノート:

    ウォレット・ファイル、データベース・ユーザーIDおよびパスワードは、ターゲットOracleデータベースのデータへのアクセスを提供します。 ウォレット・ファイルを安全な場所に保存します。 ウォレット・ファイルは、許可されたユーザーとのみ共有します。
  2. cwallet.ssoを格納するオブジェクト・ストアにアクセスするための資格証明の作成。 様々なオブジェクト・ストレージ・サービスのusernameおよびpasswordパラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。
  3. ウォレット・ファイルcwallet.sso用のディレクトリをAutonomous Databaseに作成します。

    たとえば:

    CREATE DIRECTORY wallet_dir AS 'directory_path_of_your_choice';
                  

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

  4. DBMS_CLOUD.GET_OBJECTを使用して、前のステップの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 => 'WALLET_DIR'); 
    END;
    /

    この例では、namespace-stringがOracle Cloud Infrastructureオブジェクト・ストレージのネームスペースで、bucketnameがバケット名です。 詳細については、「オブジェクト・ストレージのネームスペースについて」を参照してください。

    ノート:

    このステップで使用するcredential_nameは、オブジェクト・ストアの資格証明です。 次のステップでは、ターゲット・データベースにアクセスするための資格証明を作成します。
  5. Autonomous Databaseで、ターゲット・データベースにアクセスするための資格証明を作成します。 DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、(ターゲット・データベースがVCNを介してアクセスされる)データベース・リンク内で使用されるターゲット・データベースの資格証明です。

    ノート:

    credential_nameパラメータを指定する必要があります。

    たとえば:

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'DB_LINK_CRED',
          username => 'NICK',
          password => 'password');
    END;
    /

    usernameパラメータの文字はすべて大文字にする必要があります。

    ノート:

    データベース・リンクのターゲット・データベース資格証明にボールト・シークレット資格証明を使用できます。 詳細については、「Vaultシークレット資格証明の使用」を参照してください。

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

  6. DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲット・データベースへのデータベース・リンクを作成します。

    たとえば:

    BEGIN
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
            db_link_name => 'PEDBLINK1', 
            hostname => 'example1.adb.ap-osaka-1.oraclecloud.com',
            port => '1522',
            service_name => 'example_high.adb.oraclecloud.com',
            ssl_server_cert_dn => 'ssl_server_cert_dn',
            credential_name => 'DB_LINK_CRED',
            directory_name => 'WALLET_DIR',
            private_target => TRUE);
    END;
    /

    ノート:

    ROUTE_OUTBOUND_CONNECTIONSPRIVATE_ENDPOINTに設定すると、このAPIではprivate_targetパラメータをTRUEに設定する必要はありません。 詳細については、「プライベート・エンドポイントを使用したアウトバウンド接続のセキュリティの強化」を参照してください。

    プライベート・エンドポイント上のターゲットの場合、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKでは、hostnameパラメータを使用して単一のホスト名を指定できます。 プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません(ターゲットがパブリック・エンドポイントにある場合、CREATE_DATABASE_LINKではIPアドレス、SCAN IPまたはSCANホスト名の使用がサポートされます)。

    ターゲットがOracle RACデータベースの場合、rac_hostnamesパラメータを使用して、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで1つ以上のホスト名を指定します。 これにより、Oracle RACの高可用性機能を利用できます。 rac_hostnames値でのIPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません。

    たとえば、ターゲットのOracle RACデータベースでは、rac_hostnamesパラメータを使用します:

    BEGIN
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
            db_link_name => 'PEDBLINK1', 
            rac_hostnames => '["sales1-svr1.example.adb.us-ashburn-1.oraclecloud.com",
                               "sales1-svr2.example.adb.us-ashburn-1.oraclecloud.com",
                               "sales1-svr3.example.adb.us-ashburn-1.oraclecloud.com"]',
            port => '1522',
            service_name => 'example_high.adb.oraclecloud.com',
            ssl_server_cert_dn => 'ssl_server_cert_dn',
            credential_name => 'DB_LINK_CRED',
            directory_name => 'WALLET_DIR',
            private_target => TRUE);
    END;
    /

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKは、hostnameまたはrac_hostnamesパラメータでlocalhostの値をサポートしていません。

    ADMIN以外のユーザーは、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKの実行権限を必要とします。

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

    たとえば:

    SELECT * FROM employees@PEDBLINK1;
                  

ノート:

ステップ5で作成した資格証明について、Oracle Database資格証明では、ターゲット・ユーザーのパスワードが変更された場合、次のようにターゲット・ユーザーの資格証明を含む資格証明を更新できます:
BEGIN
    DBMS_CLOUD.UPDATE_CREDENTIAL (
        credential_name => 'DB_LINK_CRED',
        attribute => 'PASSWORD',
        value => 'password');
END;
/

「パスワード」は新しいパスワードです。

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

詳細は、「CREATE_DATABASE_LINKプロシージャ」を参照してください。

データベース・リンク・ノートとターゲットOracle Database

ターゲットOracleデータベースへのデータベース・リンクを作成するためのノートを提供します(ターゲットがAutonomous Databaseでない場合)

他のOracleデータベースへのデータベース・リンクに関するノート:

  • Autonomous Databaseと他のOracle Databasesの間のデータベース・リンクを使用している場合は、Autonomous DatabaseではないOracle Databaseにパッチ33843368を適用する必要がある場合があります。 これは、Autonomous Databaseインスタンスがデータベース・リンクのソースまたはターゲットである場合に適用されます。

    My Oracle Support Knowledge Baseを参照してください: 詳細は、ADB-Sとその他のOracle Databases(Doc ID 2874244.1)間のデータベース・リンクのパッチ要件を参照してください。

  • データベース・リンクで使用するために、ディレクトリごとに1つのウォレット・ファイルのみ有効です。 ウォレット・ファイル用に選択したディレクトリ(DBLINK_WALLET_DIRなど)に一度にアップロードできるcwallet.ssoは1つのみです。 つまり、DBLINK_WALLET_DIRcwallet.ssoでは、そのディレクトリ内のウォレットが有効なデータベースへのデータベース・リンクのみを作成できます。 データベース・リンクに複数のcwallet.ssoファイルを使用するには、追加のディレクトリを作成し、各cwallet.ssoを異なるディレクトリに配置する必要があります。 DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用してデータベース・リンクを作成する場合は、directory_nameパラメータでウォレットを含むディレクトリを指定します。

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

  • 別のOracle Databaseへのデータベース・リンクに対してサポートされているターゲットOracleデータベースのバージョンは次のとおりです: 19c、12.2.0および12.1.0。

  • Autonomous Databaseは、SEC_CASE_SENSITIVE_LOGONパラメータをtrueに設定し、この値は変更できません。 ターゲット・データベースがAutonomous Databaseでない場合は、ターゲット・データベースで SEC_CASE_SENSITIVE_LOGONパラメータをtrueに設定する必要があります。 ターゲット・データベースでSEC_CASE_SENSITIVE_LOGONfalseに設定されている場合、エラーORA-28040: No matching authentication protocolが発生します。

  • データベース・リンクをリストするには、ALL_DB_LINKSビューを使用します。 詳細については、ALL_DB_LINKSを参照してください。

  • ウォレット・ファイル、データベース・ユーザーIDおよびパスワードは、ターゲットOracleデータベースのデータへのアクセスを提供します。 ウォレット・ファイルを安全な場所に保存します。 ウォレット・ファイルは、許可されたユーザーとのみ共有します。

  • Autonomous Databaseインスタンスがプライベート・エンドポイントにある場合、ターゲット・データベースを指定する2つのオプションがあります: hostnameパラメータまたはrac_hostnamesパラメータのいずれかを使用します:

    • プライベート・エンドポイント上のターゲットの場合、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKでは、hostnameパラメータを使用して単一のホスト名を指定できます。 プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません(ターゲットがパブリック・エンドポイントにある場合、CREATE_DATABASE_LINKではIPアドレス、SCAN IPまたはSCANホスト名の使用がサポートされます)。

    • ターゲットがOracle RACデータベースの場合、rac_hostnamesパラメータを使用して、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで1つ以上のホスト名を指定します。 これにより、Oracle RACの高可用性機能を利用できます。 rac_hostnames値でのIPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません。

      rac_hostnamesパラメータでホスト名のリストを指定すると、CREATE_DATABASE_LINKは、指定されたすべてのホスト名を接続文字列のアドレスとして使用します。 指定されたホストのいずれかがターゲットのOracle RACデータベースで使用できない場合、Autonomous Databaseは、リストから別のホスト名を使用して自動的に接続を試みます。
    • DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKは、hostnameまたはrac_hostnamesパラメータでlocalhostの値をサポートしていません。