機械翻訳について

プライベート・エンドポイントのNon-Oracle Databasesへの顧客管理の異機種間接続を使用したデータベース・リンクの作成

Autonomous DatabaseからOracle Databaseゲートウェイへのデータベース・リンクを作成して、プライベート・エンドポイント上にあるOracle以外のデータベースにアクセスできます。

この項では、Autonomous Databaseからnon-Oracle Databaseに接続するためのデータベース・リンクを使用するステップについて説明します。このステップは、Oracle Databaseゲートウェイを介して、non-Oracle Databaseはプライベート・エンドポイント上にあります。

プライベート・エンドポイントで顧客管理の異機種間接続を使用してNon-Oracle Databasesにデータベース・リンクを作成するための前提条件

プライベート・エンドポイントにあるNon-Oracle Databasesへの顧客管理の異機種間接続性を持つAutonomous Databaseからデータベース・リンクを作成するための前提条件を示します。

プライベート・エンドポイント上にあるNon-Oracle Databasesへの顧客管理の異機種間接続を使用してデータベース・リンクを作成するには:

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

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

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

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

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

  • プライベート・エンドポイントに対して、次のイングレス・ルールおよびエグレス・ルールを定義する必要があります:

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

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

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

ノート:

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

プライベート・エンドポイント(ウォレットなし)のNon-Oracle Databasesへの顧客管理の異機種間接続を使用したデータベース・リンクの作成

Autonomous DatabaseインスタンスからOracle Databaseゲートウェイへのデータベース・リンクを作成して、プライベート・エンドポイントにあるOracle以外のデータベースにアクセスし、ウォレット(TCPS)またはウォレット(TLS)なしで接続できます。

プライベート・エンドポイントのAutonomous DatabaseインスタンスからターゲットOracle Databaseゲートウェイへのデータベース・リンクを作成するには、ウォレット(TLS)なしで接続します:

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

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

    たとえば:

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

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

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

  2. 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 =>      NULL,
              gateway_link =>        TRUE,
              private_target =>      TRUE,
              gateway_params =>      NULL);
    END;
    /

    接続がTCPベースのデータベース・リンク(ウォレットなし)として作成されている場合、ssl_server_cert_dnパラメータはオプションです。

    directory_nameNULLの場合、接続はTCPベースのデータベース・リンク(ウォレットなし)として作成されます。

    ターゲットnon-Oracle Databaseがプライベート・エンドポイント上にある場合(つまり、データベース・リンクがVCN DNSサーバーで解決する必要があるホスト名にアクセスする場合)、private_targetパラメータをTRUEに設定する必要があります。 private_targetTRUEの場合、hostnameパラメータは単一のホスト名「(プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません)」である必要があります。

    gateway_linkTRUEで、gateway_paramsNULLの場合、これは、データベース・リンクが顧客管理Oracleゲートウェイへのものであることを指定します。

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

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

    たとえば:

    SELECT * FROM employees@SALESLINK;
    

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

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

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

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

追加情報

プライベート・エンドポイント(Walletを使用)のNon-Oracle Databasesへの顧客管理の異機種間接続によるデータベース・リンクの作成

Autonomous DatabaseインスタンスからOracle Databaseゲートウェイへのデータベース・リンクを作成して、プライベート・エンドポイントにあるOracle以外のデータベースにアクセスし、ウォレット(TCPS)またはウォレット(TLS)なしで接続できます。

プライベート・エンドポイントのAutonomous DatabaseインスタンスからターゲットOracle Databaseゲートウェイへのデータベース・リンクを作成し、ウォレットなしで接続するには:

  1. ターゲットOracle Databaseゲートウェイの自己署名ウォレットをオブジェクト・ストアにコピーします。 たとえば、Oracle Databaseゲートウェイの証明書を含むcwallet.ssoをオブジェクト・ストアにコピーします。

    ウォレット・ファイルは、データベース・ユーザーIDおよびパスワードとともに、ターゲット・ゲートウェイを介して使用可能なデータにアクセスできます。 ウォレット・ファイルを安全な場所に保存します。 ウォレット・ファイルは、許可されたユーザーとのみ共有します。

  2. cwallet.ssoを格納するオブジェクト・ストアにアクセスするための資格証明を作成します。 様々なオブジェクト・ストレージ・サービスのusernameおよびpasswordパラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。
  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は、オブジェクト・ストアの資格証明です。 次のステップでは、ターゲット・ゲートウェイにアクセスするための資格証明を作成します。
  5. Autonomous Databaseで、ターゲット・データベースにアクセスするための資格証明を作成します。 DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、データベース・リンク内で使用されるターゲット・データベースの資格証明です(Oracle Database Gatewayを介してターゲット・データベースにアクセスする場合)。

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

    たとえば:

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

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

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

  6. 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,
              private_target =>      TRUE,
              gateway_params =>      NULL);
    END;
    /

    directory_nameNULLでない場合は、TCPSベースのデータベース・リンクが作成されます。

    ターゲットnon-Oracle Databaseがプライベート・エンドポイント上にある場合(つまり、データベース・リンクがVCN DNSサーバーで解決する必要があるホスト名にアクセスする場合)、private_targetパラメータをTRUEに設定する必要があります。 private_targetTRUEの場合、hostnameパラメータは単一のホスト名「(プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません)」である必要があります。

    gateway_linkTRUEで、gateway_paramsNULLの場合、これは、データベース・リンクが顧客管理Oracleゲートウェイへのものであることを指定します。

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

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

    たとえば:

    SELECT * FROM employees@SALESLINK;
    

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

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

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

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

追加情報