Konfiguration und Verbindung zu Oracle Autonomous Database

Rufen Sie die Oracle Autonomous Database-Konfigurationsdateien ab, und installieren Sie sie auf dem Rechner, auf dem CMAN-TDM installiert ist.

Oracle Autonomous Database-Wallet-Dateien mit dem gegenseitigen TLS-Protokoll konfigurieren

Sie müssen ein Wallet verwenden, um eine Verbindung zu einer Oracle Autonomous Database herzustellen (einschließlich Oracle Autonomous Data Warehouse, Oracle Autonomous Transaction Processing und Oracle Autonomous JSON Database). Dadurch wird gegenseitige Transport Layer Security (TLS) gewährleistet, die erweiterte Sicherheit für Authentifizierung und Verschlüsselung bietet.
  1. Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an, und navigieren Sie zu der Region, in der sich die autonome Datenbank befindet.
  2. Navigieren Sie zur Seite Autonomous Database, und klicken Sie dann auf die Registerkarte DB-Verbindung.
    Die Autonomous Database-Details werden angezeigt.
  3. Klicken Sie auf Wallet herunterladen.
    Sie werden zur Eingabe eines Wallet-Kennworts aufgefordert.
  4. Geben Sie ein Kennwort an, und laden Sie dann die Wallet-ZIP-Datei auf den lokalen Rechner herunter.
    Übertragen Sie die heruntergeladene ZIP-Datei mit Ihrer bevorzugten SSH-Dateiübertragungsanwendung oder -Methode auf Ihren Linux-Rechner. Es ist wichtig, das Wallet-Kennwort zu speichern (oder sich daran zu erinnern). Sie müssen das Kennwort später in dieser Lösung verwenden.
    Gehen Sie zum nächsten Schritt, nachdem sich die Wallet-ZIP-Datei auf Ihrem Linux-Rechner befindet.
  5. Extrahieren Sie den Inhalt in das Verzeichnis $TNS_ADMIN.

    Hinweis:

    Dieser Speicherort kann der standardmäßige $ORACLE_HOME/network/admin-Pfad der Installation des CMAN-TDM-Rechners sein.

    Das Wallet enthält keinen Datenbankbenutzernamen und keine Kennwortzugangsdaten. Sie sollten das Wallet und die Dateien jedoch zur späteren Verwendung an einem sicheren Speicherort aufbewahren.

    Das folgende Beispiel zeigt die extrahierten Dateien:

    -rw-r--r--. 1 oracle oinstall  7085 Sep  3 07:24 cwallet.sso
    -rw-r--r--. 1 oracle oinstall  7040 Sep  3 07:24 ewallet.p12
    -rw-r--r--. 1 oracle oinstall  3243 Aug 24 14:25 keystore.jks
    -rw-r--r--. 1 oracle oinstall   691 Aug 24 14:25 ojdbc.properties
    -rw-r--r--. 1 oracle oinstall  3387 Aug 24 14:25 README
    -rw-r--r--. 1 oracle oinstall   235 Sep  3 08:00 sqlnet.ora
    -rw-r--r--. 1 oracle oinstall  1832 Sep  3 08:41 tnsnames.ora
    -rw-r--r--. 1 oracle oinstall  3336 Aug 24 14:25 truststore.jks

    Die Hauptdateien, die für den aktuellen Anwendungsfall erforderlich sind, sind cwallet.sso, ewallet.p12, sqlnet.ora und tnsnames.ora. Die anderen Dateien sind nur erforderlich, wenn der Benutzer eine Verbindung über eine JDBC-Anwendung plant.

  6. Bearbeiten Sie die Datei sqlnet.ora, und ändern Sie den Wallet-Speicherort DIRECTORY in das Verzeichnis mit der Datei cwallet.sso:
    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    Nachdem das Wallet festgelegt wurde, können Sie mit einer der Verbindungszeichenfolgen "Network Service Name" aus tnsnames.ora (z.B. exampledb_high) eine Verbindung zur Datenbank herstellen.

  7. Öffnen Sie die Datei tnsnames.ora, und speichern Sie die Verbindungsdetails der autonomen Datenbank in einer anderen Datei, wie $HOME/dbdetails.txt:
    Bei der Konfiguration von CMAN-TDM verwenden Sie die Adress-, Sicherheits- und Servicenamenparameter der autonomen Datenbank.
  8. (Optional) Prüfen Sie die Datenbankverbindung mit SQL*Plus.
    • Wenn SQL*Plus auf demselben Rechner wie CMAN-TDM ausgeführt wird, können Sie die Datei tnsnames.ora im Wallet-Verzeichnis $TNS_ADMIN anzeigen.

    • Wenn SQL*Plus auf einem anderen Rechner als CMAN-TDM installiert ist, kopieren Sie die Autonomous Database-Wallet-Dateien in das Verzeichnis $TNS_ADMIN des Rechners, auf dem SQL*Plus installiert ist. Kopieren Sie dann die Datenbankdetails aus dem vorherigen Abschnitt in die Datei $TNS_ADMIN/tnsnames.ora auf demselben Rechner.

    Die Datei $TNS_ADMIN/tnsnames.ora enthält mehrere Netzwerkservicenamen (links von den "="-Zeichen). Je nach Performance- und Service-Nebenläufigkeit in der Datenbank können Sie beliebige Werte verwenden.

    Führen Sie SQL*Plus als Benutzer ADMIN aus, und geben Sie das Kennwort dieses Benutzers ein, das Sie bei der Datenbankerstellung festgelegt haben:

    $ sqlplus -l admin@adb-name_high
    Wenn Sie erfolgreich sind, werden Sie mit Ihrer Datenbank verbunden.

CMAN für die Verbindung zu Oracle Autonomous Database konfigurieren

Erstellen, konfigurieren und fügen Sie CMAN-(cman.ora-)Konfigurationsdateien mit allen Spezifikationen im Verzeichnis $TNS_ADMIN des CMAN-TDM-Rechners hinzu. Das Verzeichnis befindet sich häufig in ORACLE_HOME/network/admin.

Die Datei cman.ora ist die Hauptkonfigurationsdatei, die von CMAN-TDM gelesen wird. Sie enthält alle Konfigurationsdetails, mit denen Traffic Director und CMAN eine Verbindung zu Oracle Autonomous Database herstellen können.

  1. Melden Sie sich als oracle-Benutzer an.
  2. Navigieren Sie zum Verzeichnis $TNS_ADMIN, und erstellen Sie die Datei cman.ora.
    $ cd $TNS_ADMIN
    $ vi cman.ora
  3. Konfigurieren Sie die Datei cman.ora.
    In diesem Beispiel lautet der Instanzname CMAN-TDM cman-test. Die Clientanwendung stellt über das TCP-Protokoll eine Verbindung zum CMAN-Prozess her, und CMAN stellt über das TCPS-Protokoll eine Verbindung zu Oracle Autonomous Database her.

    Der Adressparameter enthält den Hostnamen, das Protokoll des CMAN-TDM-Servers. Die folgende cman.ora-Beispieldatei verwendet TCP und Portnummer 1523. Sie können eine beliebige verfügbare Portnummer auf Ihrem Linux-Rechner auswählen.

    Konfigurieren Sie die folgenden Parameter:

    • tdm=true: Wichtig: Sie müssen den Parameter tdm auf true setzen, um den Traffic Director-Modus zu aktivieren.
    • tdm_threading_mode=dedicated: In diesem Beispiel wird CMAN-TDM im dedizierten Modus ausgeführt. Dies ist der Standardmodus für den Traffic Director-Modus. Sie können den Traffic Director-Modus im Shared-Modus ausführen.
    • log_level: Diese Option aktiviert die erforderliche Logging-Ebene für Test- und Debuggingzwecke.
    • max_connections: stellen Sie entsprechend Ihren Leistungsanforderungen ein.
    • idle_timeout=0
    • registration_invited_nodes = *
    • inbound_connect_timeout=0
    • session_timeout=0
    • outbound_connect_timeout=0
    • max_gateway_processes: Set entsprechend Ihren Leistungsanforderungen.
    • min_gateway_processes: Set entsprechend Ihren Leistungsanforderungen.
    • trace_level: Diese Option aktiviert die erforderliche Tracingebene für Test- und Debuggingzwecke.
    • max_cmctl_sessions: Set entsprechend Ihren Leistungsanforderungen.
    • event_group: init_and_term, memory_ops
    • next_hop: Der Parameter verweist auf die Adressdetails der Oracle Autonomous Database zusammen mit den SSL-Details. Diese Details stammen aus der Datei dbdetails.txt, die Sie im vorherigen Abschnitt erstellt haben.
    • WALLET_LOCATION: Der Parameter verweist auf den Speicherort des Anwendungsbenutzer-Wallets im Traffic Director-Modus, das Sie später in diesem Abschnitt erstellen werden.
    • SQLNET.WALLET_OVERRIDE = WAHR
    Im Folgenden finden Sie eine cman.ora-Beispieldatei:
    exampledb_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(connect_data=(service_name=g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))
    
    cman-test = (configuration=
      (address=(protocol=tcp)(host=oracle-cloud-linuxvm)(port=1523))
      (parameter_list =
        (tdm=true)
        (tdm_threading_mode=dedicated)
        (log_level=off)
        (max_connections=50)
        (idle_timeout=0)
        (registration_invited_nodes = *)
        (inbound_connect_timeout=0)
        (session_timeout=0)
        (outbound_connect_timeout=0)
        (max_gateway_processes=8)
        (min_gateway_processes=3)
        (trace_level=support)
        (max_cmctl_sessions=4)
        (event_group=init_and_term,memory_ops)
      )
      (next_hop=(description=(address=(protocol=tcps)(port=1522)(host=adb.us-ashburn-1.oraclecloud.com))(security=(ssl_server_dn_match=on)(ssl_server_cert_dn="CN=adwc.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, ST=California, C=US"))))
      (rule_list=
        (rule=
           (src=*)(dst=*)(srv=*)(act=accept)
           (action_list=(aut=off)(moct=0)(mct=0)(mit=0)(conn_stats=on))
      ) )
    )
    
    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin")))
    SQLNET.WALLET_OVERRIDE = TRUE
  4. Erstellen Sie einen Datenbankproxybenutzer (tdm), um alle Berechtigungen abzurufen, die zum Aktivieren des Traffic Director-Modus (TDM) erforderlich sind.
    1. Melden Sie sich über SQL*Plus als Benutzer admin bei Oracle Autonomous Database an.
      $ sqlplus admin@exampledb_high
      
      SQL*Plus: Release 21.0.0.0.0 - Production on Tue May 6 15:34:43 2025
      Version 21.3.0.0.0
      
      Copyright (c) 1982, 2025, Oracle.  All rights reserved.
      
      Enter password:
      Last Successful login time: Tue May 06 2025 15:33:09 +00:00
      
      Connected to:
      Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
      Version 19.12.0.1.0
    2. Erstellen Sie einen Datenbankproxybenutzer.
      In diesem Beispiel wird tdm als Datenbankproxybenutzer verwendet.
      SQL> create user tdm identified by {password} -- replace {password} with your actual password
      
      User created.
      
      SQL> grant create session to tdm;
      
      Grant succeeded.
    3. Beenden Sie SQL*Plus.
  5. Erstellen Sie das Datenbankproxybenutzer-Wallet.

    Fügen Sie die TDM-Benutzerzugangsdaten zum vorhandenen Autonomous Database-Wallet hinzu.

    1. Navigieren Sie zum Verzeichnis $TNS_ADMIN, in dem sich das Autonomous Database-Wallet befindet.
      Das Verzeichnis lautet häufig $ORACLE_HOME/network/admin.
      $ cd $TNS_ADMIN
    2. Fügen Sie die Benutzerdetails tdm zum Autonomous Database-Wallet mit dem Utility mkstore hinzu, das im Verzeichnis $ORACLE_HOME/bin vorhanden ist.

      Hinweis:

      • Geben Sie für den Parameter service_name den Servicenamen in die zuvor erstellte Datei dbdetails.txt ein.
      • Geben Sie für die Parameter username und password Ihre tdm-Benutzerzugangsdaten ein. Wiederholen Sie diesen Schritt, wenn die anderen Services (wie exampledb_low) über tdm verfügbar sein sollen.

      Verwenden Sie die folgende Syntax: $ORACLE_HOME/bin/mkstore -wrl . -createCredential service_name username password. Beispiel:

      
      
      $ $ORACLE_HOME/bin/mkstore -wrl . -createCredential g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com tdm {password}
    3. Prüfen Sie mit dem Utility orapki, ob das Wallet ordnungsgemäß erstellt wurde.
      $ $ORACLE_HOME/bin/orapki wallet display -wallet .
      Oracle PKI Tool Release 21.0.0.0.0 - Production
      Version 21.3.0.0.0
      Copyright (c) 2004, 2021, Oracle and/or its affiliates. All rights reserved.
      
      Requested Certificates:
      User Certificates:
      Subject:        CN=AAE9D2E1AE8646298FED591FC4A097EA,DNQ=V1
      Oracle Secret Store entries:
      oracle.security.client.connect_string1
      oracle.security.client.password1
      oracle.security.client.username1
      Trusted Certificates:
      Subject:        CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
      Subject:        C=US,ST=California,L=Redwood Shores,O=Oracle Corporation Autonomous Data Warehouse Cloud Self-signed CA,CN=Autonomous Data Warehouse Cloud CA
      Subject:        CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=US

      Die Ausgabe muss Oracle Secret Store-Einträge enthalten. Dies gibt an, dass die tdm-Benutzerzugangsdaten gespeichert sind und vertrauenswürdige Zertifikate und Benutzerzertifikate (Autonomous Database-SSL-Zertifikate) sind.

    4. Prüfen Sie mit dem Utility mkstore, ob sich die Zugangsdaten des tdm-Benutzers im Wallet befinden. Wenn Sie zur Eingabe des Wallet-Kennworts aufgefordert werden, geben Sie das Autonomous Database-Wallet-Kennwort ein, das Sie erstellt haben, als Sie die Wallet-ZIP-Datei aus der Oracle Cloud Infrastructure-Konsole heruntergeladen haben.
      $ $ORACLE_HOME/bin/mkstore -wrl . -listCredential
      Oracle Secret Store Tool Release 21.0.0.0.0 - Production
      Version 21.3.0.0.0
      Copyright (c) 2004, 2021, Oracle and/or its affiliates. All rights reserved.
      
      Enter wallet password:
      List credential (index: connect_string username)
      1: g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com tdm
  6. Stellen Sie eine Verbindung mit einem CMAN-TDM-Anwendungsbenutzer in Oracle Autonomous Database her.
    Sie müssen einen "normalen" Datenbankbenutzer für allgemeinen Anwendungszugriff anstelle des privilegierten ADMIN-Benutzers für die Verbindung mit der Oracle Autonomous Database über CMAN-TDM mit den Berechtigungen des Datenbankproxybenutzers (tdm) erstellen.

    Hinweis:

    Wenn bereits ein oder mehrere Anwendungsbenutzer in Autonomous Database vorhanden sind, überspringen Sie diesen Schritt.
    1. Datenbankbenutzer erstellen

      Sie können das folgende createuser.sql-Skript kopieren und anpassen, um den Benutzer zu erstellen.

      define USERNAME = &1
      
      -- Uncomment if you want to clean up a previous user
      -- begin execute immediate 'drop user &USERNAME cascade'; exception when others then if sqlcode <> -1918 then raise; end if; end;
      -- /
      
      create user &USERNAME;
      
      alter user &USERNAME
            default tablespace data temporary tablespace temp
            account unlock quota unlimited on data;
      
      grant connect, resource to &USERNAME;
      
      grant create session, create table, create procedure,
            create sequence, create trigger, create view,
            create synonym, alter  session, create type,
            soda_app to &USERNAME;
      
      password &USERNAME
    2. Starten Sie SQL*Plus als Benutzer ADMIN:
      $ sqlplus -l admin@exampledb_high
    3. Führen Sie das Skript createuser.sql aus.

      Übergeben Sie den Namen des Benutzers als Skriptargument. In diesem Beispiel wird example verwendet.

      Das Skript fordert Sie auf, das Kennwort für diesen neuen Benutzer festzulegen. Das Kennwort muss den Richtlinien für Oracle Autonomous Database-Benutzerkennwörter entsprechen. Sie können keinen Benutzer erstellen, wenn Sie die Richtlinien nicht erfüllen.

      SQL> @createuser.sql example
      Der neue Benutzer wird erstellt, sobald Sie das neue Kennwort eingeben.
  7. Fügen Sie allen Anwendungsbenutzern, die Zugriff auf die Autonomous Database benötigen, über CMAN-TDM die Berechtigungen des Datenbankproxybenutzers tdm hinzu, und beenden Sie SQL*Plus.
    SQL> alter user example grant connect through tdm;
    User altered.
    SQL> exit
  8. Stellen Sie sicher, dass die Verbindung für den neuen Benutzer erfolgreich verläuft (Sie werden zur Eingabe des Kennworts aufgefordert):
    $ sqlplus -l example@exampledb_high
    
    [ . . .]
    
    SQL> show user
    USER is "example"
    
    SQL> quit

Mit diesem Benutzer stellen Sie über CMAN-TDM eine Verbindung zu Oracle Autonomous Database her.

Verbindung zu Oracle Autonomous Database über CMAN herstellen

Fügen Sie die CMAN-TDM-Adresse für den Server in der Datei $TNS_ADMIN/tnsnames.ora auf dem Rechner hinzu, auf dem die Clientanwendung ausgeführt wird, um die Verbindung hinzuzufügen.
  1. Öffnen Sie zuerst den CMAN-TDM-Port (in diesem Fall 1523) als Benutzer root auf der Linux-VM Ihres CMAN-TDM, wenn sich die VM hinter einer Firewall befindet.
    $ sudo su root
    $ firewall-cmd --permanent --add-port=1523/tcp
    $ firewall-cmd --reload
  2. Sie können die Datei $TNS_ADMIN/tnsnames.ora des Rechners anzeigen, auf dem sich die Clientanwendung befindet, um die Adressparameter zu bestätigen. Sie können den Connect-Alias CMAN-TDM in der Datei hinzufügen.

    In diesem Beispiel befindet sich die Client-App SQL*Plus auf demselben Rechner wie CMAN-TDM.

    Der Adressparameter umfasst die CMAN-TDM-Adresse. Der Parameter connect_data muss den Parameter service_name für Autonomous Database enthalten.

    exampledb_high_cman_tdm = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcp)(port=1523)(host=oracle-cloud-linuxvm))(connect_data=(service_name=g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com)))
  3. Führen Sie das Utility cmctl aus, um CMAN-TDM zu starten.
    $ $ORACLE_HOME/bin/cmctl startup -c cman-test
    Das Utility stellt eine Verbindung zur CMAN-Instanz her und startet sie. Der Status der Instanz und die Details werden angezeigt.
  4. Führen Sie SQL*Plus mit dem Verbindungsalias CMAN-TDM und dem Anwendungsbenutzer example aus, der zuvor erstellt wurde, um eine Verbindung zu Autonomous Database herzustellen.
    $ sqlplus example@exampledb_high_cman_tdm

    In der SQL-Abfrage wird der Datenbankproxybenutzer TDM angezeigt, der von CMAN-TDM für die Verbindung zu Oracle Autonomous Database verwendet wird. Diese Abfrage gibt einen leeren Wert zurück, wenn eine direkte Verbindung zu Oracle Database hergestellt wird.

Sie sind jetzt über CMAN-TDM mit einer Oracle Autonomous Database verbunden.