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
- Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an, und navigieren Sie zu der Region, in der sich die autonome Datenbank befindet.
- Navigieren Sie zur Seite Autonomous Database, und klicken Sie dann auf die Registerkarte DB-Verbindung.Die Autonomous Database-Details werden angezeigt.
- Klicken Sie auf Wallet herunterladen.Sie werden zur Eingabe eines Wallet-Kennworts aufgefordert.
- 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.
- 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.jksDie Hauptdateien, die für den aktuellen Anwendungsfall erforderlich sind, sind
cwallet.sso,ewallet.p12,sqlnet.oraundtnsnames.ora. Die anderen Dateien sind nur erforderlich, wenn der Benutzer eine Verbindung über eine JDBC-Anwendung plant. - Bearbeiten Sie die Datei
sqlnet.ora, und ändern Sie den Wallet-Speicherort DIRECTORY in das Verzeichnis mit der Dateicwallet.sso:WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin"))) SSL_SERVER_DN_MATCH=yesNachdem 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. - Ö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. - (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.oraim Wallet-Verzeichnis$TNS_ADMINanzeigen. -
Wenn SQL*Plus auf einem anderen Rechner als CMAN-TDM installiert ist, kopieren Sie die Autonomous Database-Wallet-Dateien in das Verzeichnis
$TNS_ADMINdes Rechners, auf dem SQL*Plus installiert ist. Kopieren Sie dann die Datenbankdetails aus dem vorherigen Abschnitt in die Datei$TNS_ADMIN/tnsnames.oraauf demselben Rechner.
Die Datei
$TNS_ADMIN/tnsnames.oraenthä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
ADMINaus, und geben Sie das Kennwort dieses Benutzers ein, das Sie bei der Datenbankerstellung festgelegt haben:$ sqlplus -l admin@adb-name_highWenn Sie erfolgreich sind, werden Sie mit Ihrer Datenbank verbunden. -
CMAN für die Verbindung zu Oracle Autonomous Database konfigurieren
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.
- Melden Sie sich als
oracle-Benutzer an. - Navigieren Sie zum Verzeichnis
$TNS_ADMIN, und erstellen Sie die Dateicman.ora.$ cd $TNS_ADMIN $ vi cman.ora - Konfigurieren Sie die Datei
cman.ora.In diesem Beispiel lautet der Instanzname CMAN-TDMcman-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 Parametertdmauf 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=0registration_invited_nodes= *inbound_connect_timeout=0session_timeout=0outbound_connect_timeout=0max_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_opsnext_hop: Der Parameter verweist auf die Adressdetails der Oracle Autonomous Database zusammen mit den SSL-Details. Diese Details stammen aus der Dateidbdetails.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 einecman.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 - Erstellen Sie einen Datenbankproxybenutzer (
tdm), um alle Berechtigungen abzurufen, die zum Aktivieren des Traffic Director-Modus (TDM) erforderlich sind.- Melden Sie sich über SQL*Plus als Benutzer
adminbei 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 - Erstellen Sie einen Datenbankproxybenutzer. In diesem Beispiel wird
tdmals 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. - Beenden Sie SQL*Plus.
- Melden Sie sich über SQL*Plus als Benutzer
- Erstellen Sie das Datenbankproxybenutzer-Wallet.
Fügen Sie die TDM-Benutzerzugangsdaten zum vorhandenen Autonomous Database-Wallet hinzu.
- 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 - Fügen Sie die Benutzerdetails
tdmzum Autonomous Database-Wallet mit dem Utilitymkstorehinzu, das im Verzeichnis$ORACLE_HOME/binvorhanden ist.Hinweis:
- Geben Sie für den Parameter service_name den Servicenamen in die zuvor erstellte Datei
dbdetails.txtein. - Geben Sie für die Parameter username und password Ihre
tdm-Benutzerzugangsdaten ein. Wiederholen Sie diesen Schritt, wenn die anderen Services (wieexampledb_low) übertdmverfü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} - Geben Sie für den Parameter service_name den Servicenamen in die zuvor erstellte Datei
- 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=USDie 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. - Prüfen Sie mit dem Utility
mkstore, ob sich die Zugangsdaten destdm-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
- Navigieren Sie zum Verzeichnis
- 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.- 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 - Starten Sie SQL*Plus als Benutzer
ADMIN:$ sqlplus -l admin@exampledb_high - Führen Sie das Skript
createuser.sqlaus.Übergeben Sie den Namen des Benutzers als Skriptargument. In diesem Beispiel wird
exampleverwendet.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 exampleDer neue Benutzer wird erstellt, sobald Sie das neue Kennwort eingeben.
- Datenbankbenutzer erstellen
- Fügen Sie allen Anwendungsbenutzern, die Zugriff auf die Autonomous Database benötigen, über CMAN-TDM die Berechtigungen des Datenbankproxybenutzers
tdmhinzu, und beenden Sie SQL*Plus.SQL> alter user example grant connect through tdm; User altered. SQL> exit - 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
$TNS_ADMIN/tnsnames.ora auf dem Rechner hinzu, auf dem die Clientanwendung ausgeführt wird, um die Verbindung hinzuzufügen.- Öffnen Sie zuerst den CMAN-TDM-Port (in diesem Fall 1523) als Benutzer
rootauf 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 - Sie können die Datei
$TNS_ADMIN/tnsnames.orades 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_datamuss den Parameterservice_namefü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))) - Führen Sie das Utility
cmctlaus, um CMAN-TDM zu starten.$ $ORACLE_HOME/bin/cmctl startup -c cman-testDas Utility stellt eine Verbindung zur CMAN-Instanz her und startet sie. Der Status der Instanz und die Details werden angezeigt. - Führen Sie SQL*Plus mit dem Verbindungsalias CMAN-TDM und dem Anwendungsbenutzer
exampleaus, der zuvor erstellt wurde, um eine Verbindung zu Autonomous Database herzustellen.$ sqlplus example@exampledb_high_cman_tdmIn der SQL-Abfrage wird der Datenbankproxybenutzer
TDMangezeigt, 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.