Datenbanklinks von Autonomous Database zu einer öffentlich zugänglichen autonomen Datenbank erstellen

Sie können Datenbanklinks von einer Autonomous Database zu einer Autonomous Database-Zielinstanz erstellen, die sich auf einem öffentlichen Endpunkt befindet.

Weitere Informationen finden Sie unter Datenbanklink von Ihrer Autonomous Database zu einer Database Cloud Service-Instanz erstellen.

Datenbanklinks aus Autonomous Database zu einer öffentlich zugänglichen Autonomous Database ohne Wallet (TLS) erstellen

Sie können Datenbanklinks von einer Autonomous Database zu einer öffentlich zugänglichen Autonomous Database ohne Wallet (TLS) erstellen.

Um Datenbanklinks zu einem öffentlichen Ziel zu erstellen, muss auf die Zieldatenbank zugegriffen werden können. Einige Datenbanken, einschließlich autonomer Datenbanken, können den Zugriff einschränken (z.B. mit Access Control-Listen). Stellen Sie sicher, dass die Zieldatenbank den Zugriff von der Quelldatenbank aus ermöglicht, damit der Datenbanklink funktioniert. Wenn Sie den Zugriff mit Access Control-Listen (ACLs) einschränken, können Sie die ausgehende IP-Adresse der Quell-Autonomous Database ermitteln und zulassen, dass diese IP-Adresse eine Verbindung zur Zieldatenbank herstellt. Wenn die Zieldatenbank eine weitere Autonomous Database ist, können Sie die ausgehende IP-Adresse der Quelldatenbank zur ACL der Zieldatenbank hinzufügen.

Informationen zum Suchen der ausgehenden IP-Adresse finden Sie unter Mandantendetails abrufen.

So erstellen Sie einen Datenbanklink zu einer Autonomous Database-Zielinstanz ohne Wallet (TLS):

  1. Wenn dies noch nicht geschehen ist, aktivieren Sie TLS-Verbindungen in der Autonomous Database-Instanz.
  2. Erstellen Sie in der Autonomous Database-Instanz, in der Sie den Datenbanklink erstellen, Zugangsdaten für den Zugriff auf die Autonomous Database-Zielinstanz. Die username und password, die Sie mit DBMS_CLOUD.CREATE_CREDENTIAL angeben, sind die Zugangsdaten für die Zieldatenbank (Sie verwenden diese Zugangsdaten zum Erstellen des Datenbanklinks).
    Hinweis

    Die Angabe des Parameters credential_name ist erforderlich.

    Beispiel:

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

    Die Zeichen im Parameter username müssen Großbuchstaben enthalten.

    Hinweis

    Sie können Vault-Secret-Zugangsdaten für die Zieldatenbankzugangsdaten in einem Datenbanklink verwenden. Weitere Informationen finden Sie unter Vault-Secret-Zugangsdaten verwenden.

    Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten Format in der Datenbank. Sie können einen beliebigen Namen für den Zugangsdatennamen verwenden.

  3. Erstellen Sie mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK einen Datenbanklink zur Autonomous Database-Zielinstanz.

    Beispiel:

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

    Um einen Datenbanklink mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK zu einer Autonomous Database-Zielinstanz auf einem öffentlichen Endpunkt mit einer sicheren TCP-Verbindung ohne Wallet zu erstellen, muss der Parameter directory_name NULL lauten.

    Der Parameter ssl_server_cert_dn kann entweder ausgelassen werden, oder geben Sie einen NULL-Wert an, wenn er enthalten ist.

    Andere Benutzer als ADMIN benötigen Berechtigungen zum Ausführen von DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

  4. Verwenden Sie den von Ihnen erstellten Datenbanklink, um auf Daten in der Zieldatenbank zuzugreifen.

    Beispiel:

    SELECT * FROM employees@SALESLINK;
                

Für die Zugangsdaten, die Sie in Schritt 1 erstellen, die Zieldatenbankzugangsdaten. Wenn sich das Kennwort des Zielbenutzers ändert, können Sie die Zugangsdaten mit den Zugangsdaten des Zielbenutzers folgendermaßen aktualisieren:

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

Dabei ist password das neue Kennwort.

Nach diesem Vorgang funktionieren die vorhandenen Datenbanklinks, die diese Zugangsdaten verwenden, weiter, ohne die Datenbanklinks löschen und neu erstellen zu müssen.

Hinweis

Sie können Links zu Big Data Service mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK erstellen. Weitere Informationen finden Sie unter Big Data Service-Hadoop-(HDFS-)Daten aus Autonomous Database abfragen.

Weitere Informationen finden Sie hier:

Datenbanklinks von Autonomous Database zu einer öffentlich zugänglichen Autonomous Database mit einem Wallet (mTLS) erstellen

Sie können Datenbanklinks von einer Autonomous Database zu einer öffentlich zugänglichen Autonomous Database mit einem Wallet (mTLS) erstellen.

Um Datenbanklinks zu einem öffentlichen Ziel zu erstellen, muss auf die Zieldatenbank zugegriffen werden können. Einige Datenbanken, einschließlich autonomer Datenbanken, können den Zugriff einschränken (z.B. mit Access Control-Listen). Stellen Sie sicher, dass die Zieldatenbank den Zugriff von der Quelldatenbank aus ermöglicht, damit der Datenbanklink funktioniert. Wenn Sie den Zugriff mit Access Control-Listen (ACLs) einschränken, können Sie die ausgehende IP-Adresse der Quell-Autonomous Database ermitteln und zulassen, dass diese IP-Adresse eine Verbindung zur Zieldatenbank herstellt. Beispiel: Wenn die Zieldatenbank eine andere Autonomous Database ist, können Sie die ausgehende IP-Adresse der Quelldatenbank zur ACL der Zieldatenbank hinzufügen.

Informationen zum Suchen der ausgehenden IP-Adresse finden Sie unter Mandantendetails abrufen.

So erstellen Sie Datenbanklinks zu einer Autonomous Database-Zielinstanz mit einem Wallet (mTLS):

  1. Kopieren Sie das Zieldatenbank-Wallet cwallet.sso, das die Zertifikate für die Zieldatenbank enthält, in den Objektspeicher.

    Beachten Sie Folgendes für die Wallet-Datei:

    • Die Wallet-Datei sowie die Datenbankbenutzer-ID und das Kennwort ermöglichen den Zugriff auf Daten in der Oracle Database-Zielinstanz. Speichern Sie die Wallet-Dateien an einem sicheren Speicherort. Geben Sie Wallet-Dateien nur für autorisierte Benutzer frei.

    • Benennen Sie die Wallet-Datei nicht um. Die Wallet-Datei in Object Storage muss den Namen cwallet.sso haben.

  2. Erstellen Sie Zugangsdaten für den Zugriff auf den Objektspeicher, in dem Sie die Wallet-Datei cwallet.sso speichern. Informationen zu den Benutzernamen- und Kennwortparametern für verschiedene Objektspeicherservices finden Sie unter Prozedur CREATE_CREDENTIAL.

    Das Erstellen von Zugangsdaten für den Zugriff auf den Oracle Cloud Infrastructure-Objektspeicher ist nicht erforderlich, wenn Sie Resource-Principal-Zugangsdaten aktivieren. Weitere Informationen finden Sie unter Resource Principal für den Zugriff auf Oracle Cloud Infrastructure-Ressourcen nutzen.

  3. Erstellen Sie ein Verzeichnis in Autonomous Database für die Wallet-Datei cwallet.sso.

    Beispiel:

    CREATE DIRECTORY dblink_wallet_dir AS 'directory_path_of_your_choice';
                

    Informationen zum Erstellen von Verzeichnissen finden Sie unter Verzeichnis in Autonomous Database erstellen.

  4. Mit DBMS_CLOUD.GET_OBJECT können Sie das Zieldatenbank-Wallet in das Verzeichnis hochladen, das Sie im vorherigen Schritt erstellt haben, DBLINK_WALLET_DIR.

    Beispiel:

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

    In diesem Beispiel ist namespace-string der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.

    Hinweis

    Die in diesem Schritt verwendete credential_name sind die Zugangsdaten für den Objektspeicher. Im nächsten Schritt erstellen Sie die Zugangsdaten für den Zugriff auf die Zieldatenbank.

    Das Erstellen von Zugangsdaten für den Zugriff auf den Oracle Cloud Infrastructure-Objektspeicher ist nicht erforderlich, wenn Sie Resource-Principal-Zugangsdaten aktivieren. Weitere Informationen finden Sie unter Resource Principal für den Zugriff auf Oracle Cloud Infrastructure-Ressourcen nutzen.

  5. Erstellen Sie in der Autonomous Database-Instanz Zugangsdaten für den Zugriff auf die Zieldatenbank. Die username und password, die Sie mit DBMS_CLOUD.CREATE_CREDENTIAL angeben, sind die Zugangsdaten für die Zieldatenbank, mit der Sie den Datenbanklink erstellen.
    Hinweis

    Die Angabe des Parameters credential_name ist erforderlich.

    Beispiel:

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

    Die Zeichen im Parameter username müssen Großbuchstaben enthalten.

    Hinweis

    Sie können Vault-Secret-Zugangsdaten für die Zieldatenbankzugangsdaten in einem Datenbanklink verwenden. Weitere Informationen finden Sie unter Vault-Secret-Zugangsdaten verwenden.

    Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten Format in der Datenbank. Sie können einen beliebigen Namen für den Zugangsdatennamen verwenden.

  6. Erstellen Sie den Datenbanklink zur Zieldatenbank mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Beispiel:

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

    Andere Benutzer als ADMIN benötigen Berechtigungen zum Ausführen von DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Wenn die Wallet-Datei im Verzeichnis, das mit directory_name angegeben ist, nicht cwallet.sso ist, meldet die Prozedur einen Fehler wie: ORA-28759: failure to open file.

  7. Verwenden Sie den von Ihnen erstellten Datenbanklink, um auf Daten in der Zieldatenbank zuzugreifen.

    Beispiel:

    SELECT * FROM employees@SALESLINK;
                

Für die Zugangsdaten, die Sie in Schritt 5 erstellen, die Zieldatenbankzugangsdaten. Wenn sich das Kennwort des Zielbenutzers ändert, können Sie die Zugangsdaten mit den Zugangsdaten des Zielbenutzers folgendermaßen aktualisieren:

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

Dabei ist password das neue Kennwort.

Nach diesem Vorgang funktionieren die vorhandenen Datenbanklinks, die diese Zugangsdaten verwenden, weiter, ohne die Datenbanklinks löschen und neu erstellen zu müssen.

Hinweis

Sie können Links zu Big Data Service mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK erstellen. Weitere Informationen finden Sie unter Big Data Service-Hadoop-(HDFS-)Daten aus Autonomous Database abfragen.

Weitere Informationen finden Sie hier: