機械翻訳について

Autonomous Databaseからパブリックにアクセス可能なAutonomous Databaseへのデータベース・リンクの作成

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

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

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

Autonomous Databaseからパブリックにアクセス可能なAutonomous Databaseへのデータベース・リンクを、ウォレット(TLS)なしで作成できます。

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

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

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

  1. まだ実行していない場合は、Autonomous DatabaseインスタンスでTLS接続を有効にします。
  2. データベース・リンクを作成するAutonomous Databaseインスタンスで、ターゲット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シークレット資格証明の使用」を参照してください。

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

  3. DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲットAutonomous 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接続を使用して、パブリック・エンドポイントでDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用してターゲットAutonomous Databaseへのデータベース・リンクを作成するには、directory_nameパラメータをNULLにする必要があります。

    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;
/

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

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

ノート:

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

追加情報

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

ウォレット(mTLS)を使用して、Autonomous Databaseからパブリックにアクセス可能なAutonomous Databaseへのデータベース・リンクを作成できます。

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

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

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

  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)データの問合せ」を参照してください。

追加情報