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

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

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

Datenbanklinks von 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 die Zieldatenbank zugänglich sein. Einige Datenbanken, einschließlich autonomer Datenbanken, können den Zugriff einschränken (z.B. mit Access Control-Listen). Stellen Sie sicher, dass die Zieldatenbank aktiviert ist, damit der Zugriff von der Quelldatenbank für den Datenbanklink funktioniert. Wenn Sie den Zugriff mit Access Control-Listen (ACLs) einschränken, können Sie die ausgehende IP-Adresse Ihrer Autonomous Database-Quelldatei suchen und zulassen, dass diese IP-Adresse eine Verbindung zur Zieldatenbank herstellt. Wenn es sich bei der Zieldatenbank um eine andere Autonomous Database-Instanz handelt, 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 Ziel-Autonomous Database ohne Wallet (TLS):

  1. Wenn dies noch nicht geschehen ist, aktivieren Sie TLS-Verbindungen in Ihrer 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 Werte username und password, die Sie mit DBMS_CLOUD.CREATE_CREDENTIAL angeben, sind die Zugangsdaten für die Zieldatenbank (mit diesen Zugangsdaten können Sie den Datenbanklink erstellen).
    Hinweis

    Der Parameter credential_name muss angegeben werden.

    Beispiele:

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

    Der Parameter username darf nur Großbuchstaben enthalten.

    Hinweis

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

    Dieser Vorgang speichert die Zugangsdaten in verschlüsseltem Format in der Datenbank. Sie können einen beliebigen Namen als Zugangsdatenname verwenden.

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

    Beispiele:

    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 ausgelassen werden. Wenn er eingeschlossen ist, geben Sie einen NULL-Wert an.

    Andere Benutzer als ADMIN benötigen Berechtigungen zur Ausführung von DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

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

    Beispiele:

    SELECT * FROM employees@SALESLINK;
                

Wenn sich für die Zugangsdaten, die Sie in Schritt 1 erstellt haben (die Zugangsdaten der Zieldatenbank), das Kennwort des Zielbenutzers ändert, können Sie die Zugangsdaten mit den Zugangsdaten des Zielbenutzers wie folgt ändern:

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

Dabei ist Kennwort das neue Kennwort.

Nach diesem Vorgang funktionieren die vorhandenen Datenbanklinks, die diese Zugangsdaten verwenden, weiterhin, ohne dass Sie die Datenbanklinks löschen und neu erstellen 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 die Zieldatenbank zugänglich sein. Einige Datenbanken, einschließlich autonomer Datenbanken, können den Zugriff einschränken (z.B. mit Access Control-Listen). Stellen Sie sicher, dass die Zieldatenbank aktiviert ist, damit der Zugriff von der Quelldatenbank für den Datenbanklink funktioniert. Wenn Sie den Zugriff mit Access Control-Listen (ACLs) einschränken, können Sie die ausgehende IP-Adresse Ihrer Autonomous Database-Quelldatei suchen und zulassen, dass diese IP-Adresse eine Verbindung zur Zieldatenbank herstellt. Beispiel: Wenn die Zieldatenbank eine andere Autonomous Database-Instanz 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 Ziel-Autonomous Database mit einem Wallet (mTLS):

  1. Kopieren Sie das Wallet der Zieldatenbank cwallet.sso mit den Zertifikaten für die Zieldatenbank in den Objektspeicher.

    Beachten Sie für die Wallet-Datei Folgendes:

    • Die Wallet-Datei ermöglicht zusammen mit der Datenbankbenutzer-ID und dem Kennwort Zugriff auf Daten in der Oracle Database-Ziel. 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 Parametern für Benutzername und Kennwort für verschiedene Object Storage-Services finden Sie unter Prozedur CREATE_CREDENTIAL.

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

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

    Beispiele:

    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. Verwenden Sie DBMS_CLOUD.GET_OBJECT, um das Wallet der Zieldatenbank in das Verzeichnis DBLINK_WALLET_DIR hochzuladen, das Sie im vorherigen Schritt erstellt haben.

    Beispiele:

    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

    credential_name in diesem Schritt 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 Oracle Cloud Infrastructure Object Storage ist nicht erforderlich, wenn Sie Ressourcen-Principal-Zugangsdaten aktivieren. Weitere Informationen finden Sie unter Resource Principal für den Zugriff auf Oracle Cloud Infrastructure-Ressourcen verwenden.

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

    Der Parameter credential_name muss angegeben werden.

    Beispiele:

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

    Der Parameter username darf nur Großbuchstaben enthalten.

    Hinweis

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

    Dieser Vorgang speichert die Zugangsdaten in verschlüsseltem Format in der Datenbank. Sie können einen beliebigen Namen als Zugangsdatenname verwenden.

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

    Beispiele:

    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 zur Ausführung von DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

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

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

    Beispiele:

    SELECT * FROM employees@SALESLINK;
                

Wenn sich für die Zugangsdaten, die Sie in Schritt 5 erstellt haben (die Zugangsdaten der Zieldatenbank), das Kennwort des Zielbenutzers ändert, können Sie die Zugangsdaten mit den Zugangsdaten des Zielbenutzers wie folgt ändern:

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

Dabei ist Kennwort das neue Kennwort.

Nach diesem Vorgang funktionieren die vorhandenen Datenbanklinks, die diese Zugangsdaten verwenden, weiterhin, ohne dass Sie die Datenbanklinks löschen und neu erstellen 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: