TLS-Datenbanklinks von einer Autonomous Database zu einer anderen Autonomous Database erstellen

Sie können TLS-Datenbanklinks von einer Autonomous Database on Dedicated Exadata Infrastructure zu einem Autonomous Database-Ziel erstellen, das sich auf einem öffentlichen Endpunkt befindet.

Verwandte Themen

Unidirektionale TLS-Datenbanklinks von Autonomous Database zu einer anderen Autonomous Database erstellen

Sie können unidirektionale TLS-Datenbanklinks von einer Autonomous Database on Dedicated Exadata Infrastructure zu einer öffentlich zugänglichen Autonomous Database erstellen.

Um Datenbanklinks zu einem öffentlichen Ziel zu erstellen, muss die Zieldatenbank zugänglich sein. Einige Datenbanken, darunter autonome 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 der Autonomous Database-Quelle suchen und zulassen, dass diese IP-Adresse eine Verbindung zur Zieldatenbank herstellt. 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 einen Datenbanklink zu einem Autonomous Database-Ziel ohne Wallet (TLS):

  1. Stellen Sie sicher, dass einseitige TLS-Verbindungen aktiviert sind.

    Standardmäßig sind einseitige TLS-Verbindungen aktiviert, wenn Sie einen AVMC bereitstellen. Weitere Informationen finden Sie unter Autonomous Exadata-VM-Cluster erstellen.

    Hinweis:

    In einer Autonomous Database on Dedicated Exadata Infrastructure funktionieren Wallet-lose Verbindungen für einseitige TLS, indem ein benutzerdefiniertes SSL-Zertifikat installiert wird, das von einer öffentlichen CA ausgestellt wurde. Weitere Informationen finden Sie unter TLS-Walletless-Verbindungen vorbereiten.
  2. Erstellen Sie in der Autonomous Database-Instanz, in der Sie den Datenbanklink erstellen, Zugangsdaten für den Zugriff auf das Autonomous Database-Ziel. 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:

    Sie müssen den Parameter credential_name angeben.

    Beispiel:

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

    Der Parameter username darf nur Großbuchstaben enthalten.

    Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten 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.

    Beispiel:

    BEGIN
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
            db_link_name => 'SALESLINK', 
            hostname => 'adb.eu-frankfurt-1.oraclecloud.com', 
            port => '2484',
            service_name => 'example_medium.atpc.example.oraclecloud.com',
            credential_name => 'DB_LINK_CRED',
            directory_name => NULL);
    END;
    /

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

    Der Parameterwert port muss für TLS-Verbindungen auf 2484 gesetzt werden. Wenn beim Provisioning des AVMC jedoch eine andere SCAN-Listener-Portnummer ausgewählt wurde, müssen Sie diese Portnummer verwenden. Weitere Informationen finden Sie unter Autonomes Exadata-VM-Cluster erstellen.

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

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

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

    Beispiel:

    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.

Weitere Informationen finden Sie hier:

mTLS-Datenbanklinks von Autonomous Database zu einer anderen Autonomous Database erstellen

Sie können mTLS-Datenbanklinks von einer Autonomous Database on Dedicated Exadata Infrastructure zu einer öffentlich zugänglichen Autonomous Database erstellen.

Um Datenbanklinks zu einem öffentlichen Ziel zu erstellen, muss die Zieldatenbank zugänglich sein. Einige Datenbanken, darunter autonome 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 der Autonomous Database-Quelle suchen und zulassen, dass diese IP-Adresse eine Verbindung zur Zieldatenbank herstellt. Beispiel: Wenn es sich bei der Zieldatenbank um eine andere autonome Datenbank handelt, können Sie der Zieldatenbank-ACL die ausgehende IP-Adresse der Quelldatenbank hinzufügen.

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

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

  1. Stellen Sie sicher, dass mTLS-Verbindungen aktiviert sind.

    Standardmäßig sind einseitige TLS-Verbindungen für einen AVMC aktiviert. Sie können die gegenseitige TLS-Authentifizierung (mTLS) aktivieren, indem Sie das Kontrollkästchen Gegenseitige TLS-Authentifizierung (mTLS) aktivieren beim Provisioning von AVMC aktivieren. Weitere Informationen finden Sie unter Autonomous Exadata-VM-Cluster erstellen.

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

    Beachten Sie Folgendes für die Wallet-Datei:

    • Die Wallet-Datei ermöglicht zusammen mit der Datenbankbenutzer-ID und dem Kennwort Zugriff auf Daten in der Ziel-Oracle Database. 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.

  3. 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 Objektspeicherservices finden Sie unter Prozedur CREATE_CREDENTIAL.
  4. 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.

  5. 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.

    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.

  6. Erstellen Sie in der Autonomous Database-Instanz Zugangsdaten für den Zugriff auf die Zieldatenbank. Die Parameter 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:

    Sie müssen den Parameter credential_name angeben.

    Beispiel:

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

    Der Parameter username darf nur Großbuchstaben enthalten.

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

  7. 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 => '2484',
            service_name => 'example_medium.atpc.example.oraclecloud.com',
            ssl_server_cert_dn => 'CN=atpc.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.

    Der Parameterwert port muss für TLS-Verbindungen auf 2484 gesetzt werden. Wenn beim Provisioning des AVMC jedoch eine andere SCAN-Listener-Portnummer ausgewählt wurde, müssen Sie diese Portnummer verwenden. Weitere Informationen finden Sie unter Autonomes Exadata-VM-Cluster erstellen.

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

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

    Beispiel:

    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.

Weitere Informationen finden Sie hier:

Hinweise zu Datenbanklinks mit einem Ziel, das eine Autonomous Database-Instanz ist

Enthält Hinweise zum Erstellen von Datenbanklinks zu einem Ziel, das eine andere Autonomous Database-Instanz ist.

Hinweise zu Datenbanklinks zu einer anderen Autonomous Database:

  • Pro Verzeichnis ist nur eine Wallet-Datei zur Verwendung mit Datenbanklinks gültig. Sie können jeweils nur eine cwallet.sso-Datei in das Verzeichnis hochladen, das Sie für Wallet-Dateien ausgewählt haben (Beispiel: DBLINK_WALLET_DIR). Das bedeutet, dass Sie mit einer cwallet.sso-Datei in DBLINK_WALLET_DIR nur Datenbanklinks zu den Datenbanken erstellen können, für die das Wallet in diesem Verzeichnis gültig ist. Um mehrere cwallet.sso-Dateien mit Datenbanklinks zu verwenden, müssen Sie zusätzliche Verzeichnisse erstellen und jede cwallet.sso-Datei in einem anderen Verzeichnis ablegen. Wenn Sie Datenbanklinks mit DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK erstellen, geben Sie das Verzeichnis mit dem Wallet mit dem Parameter directory_name an.

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

  • Um die Datenbanklinks aufzulisten, verwenden Sie die View ALL_DB_LINKS. Weitere Informationen finden Sie unter ALL_DB_LINKS in Oracle Database 19c Database Reference oder in der Oracle Database 23ai Database Reference.

  • Die Wallet-Datei ermöglicht zusammen mit der Datenbankbenutzer-ID und dem Kennwort Zugriff auf Daten im Autonomous Database-Ziel. Speichern Sie die Wallet-Dateien an einem sicheren Speicherort. Geben Sie Wallet-Dateien nur für autorisierte Benutzer frei.

  • In der Eingabe von DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK muss der Scanname des dedizierten Autonomous Database-Ziels als "hostname"-Parameter angegeben werden.