Configurare e connettersi a Oracle Autonomous Database

Ottenere i file di configurazione di Oracle Autonomous Database e installarli sul computer in cui è installato CMAN-TDM.

Configurare i file wallet di Oracle Autonomous Database mediante il protocollo TLS reciproco

È necessario utilizzare un wallet per connettersi a un Oracle Autonomous Database (inclusi Oracle Autonomous Data Warehouse, Oracle Autonomous Transaction Processing e Oracle Autonomous JSON Database). Ciò offre TLS (Transport Layer Security) reciproco, che offre una sicurezza avanzata per l'autenticazione e la cifratura.
  1. Accedi alla console di Oracle Cloud Infrastructure e vai all'area in cui risiede il database autonomo.
  2. Andare alla pagina Autonomous Database, quindi fare clic sulla scheda Connessione DB.
    Vengono visualizzati i dettagli di Autonomous Database.
  3. Fare clic su Scarica wallet.
    Verrà richiesta una password del wallet.
  4. Fornire una password, quindi scaricare il file ZIP del wallet nel computer locale.
    Trasferire il file ZIP scaricato nel computer Linux utilizzando l'applicazione o il metodo di trasferimento file SSH preferito. È importante salvare (o ricordare) la password del wallet. Utilizzare la password in un secondo momento in questa soluzione.
    Andare al passo successivo dopo che il file ZIP del wallet si trova nel computer Linux.
  5. Estrarre il contenuto nella directory $TNS_ADMIN.

    Nota

    Questa posizione potrebbe essere il percorso $ORACLE_HOME/network/admin predefinito dell'installazione del computer CMAN-TDM.

    Il wallet non contiene credenziali di nome utente e password del database, ma è comunque necessario mantenere il wallet e i file in una posizione sicura per un uso successivo.

    Di seguito è riportato un esempio dei file estratti.

    -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

    I file principali richiesti per il caso d'uso corrente sono cwallet.sso, ewallet.p12, sqlnet.ora e tnsnames.ora. Gli altri file sono necessari solo se l'utente prevede di connettersi tramite un'applicazione JDBC.

  6. Modificare il file sqlnet.ora e modificare la posizione del wallet DIRECTORY nella DIRECTORY contenente il file cwallet.sso:
    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    Ora che il wallet è impostato, è possibile connettersi al database utilizzando una delle stringhe di connessione "nome servizio di rete" da tnsnames.ora (ad esempio, exampledb_high).

  7. Aprire il file tnsnames.ora e memorizzare i dettagli di connessione del database autonomo in un altro file, ad esempio $HOME/dbdetails.txt:
    Durante la configurazione di CMAN-TDM, verranno utilizzati i parametri relativi a indirizzo, sicurezza e nome del servizio dell'Autonomous Database.
  8. (Facoltativo) Controllare la connessione al database utilizzando SQL*Plus.
    • Se SQL*Plus si trova sullo stesso computer di CMAN-TDM, è possibile visualizzare il file tnsnames.ora dalla directory wallet $TNS_ADMIN.

    • Se SQL*Plus è installato su un computer diverso da CMAN-TDM, copiare i file wallet di Autonomous Database nella directory $TNS_ADMIN del computer in cui è installato SQL*Plus. Copiare quindi i dettagli del database dalla sezione precedente nel file $TNS_ADMIN/tnsnames.ora sullo stesso computer.

    Il file $TNS_ADMIN/tnsnames.ora contiene diversi nomi di servizio di rete (a sinistra dei segni "="). È possibile utilizzare qualsiasi, a seconda del livello di prestazioni e concorrenza del servizio desiderato dal database.

    Eseguire SQL*Plus come utente ADMIN e immettere la password dell'utente impostata durante la creazione del database:

    $ sqlplus -l admin@adb-name_high
    Al termine dell'operazione, si verrà connessi al database.

Configurare CMAN per connettersi a Oracle Autonomous Database

Creare, configurare e aggiungere i file di configurazione CMAN (cman.ora) con tutte le specifiche presenti nella directory $TNS_ADMIN del computer CMAN-TDM. La directory si trova spesso in ORACLE_HOME/network/admin.

Il file cman.ora è il file di configurazione principale letto da CMAN-TDM. Contiene tutti i dettagli di configurazione per consentire a Traffic Director e CMAN di connettersi a Oracle Autonomous Database.

  1. Eseguire il login come utente oracle.
  2. Andare alla directory $TNS_ADMIN e creare il file cman.ora.
    $ cd $TNS_ADMIN
    $ vi cman.ora
  3. Configurare il file cman.ora.
    In questo esempio, il nome dell'istanza CMAN-TDM è cman-test. L'applicazione client si connette al processo CMAN tramite il protocollo TCP e CMAN si connette a Oracle Autonomous Database tramite il protocollo TCPS.

    Il parametro address contiene il nome host, protocollo del server CMAN-TDM. Il file cman.ora di esempio riportato di seguito utilizza TCP e numero di porta 1523. È possibile scegliere qualsiasi numero di porta disponibile sul computer Linux.

    Configurare i parametri seguenti:

    • tdm=true: Importante. Per abilitare la modalità Traffic Director è necessario impostare il parametro tdm su true.
    • tdm_threading_mode=dedicated: in questo esempio viene eseguito CMAN-TDM in modalità dedicata, che è la modalità predefinita per la modalità Traffic Director. È possibile eseguire la modalità Traffic Director in modalità condivisa.
    • log_level: impostato per abilitare il livello di registrazione richiesto a scopo di test e debug.
    • max_connections: impostato in base ai requisiti di prestazioni.
    • idle_timeout=0
    • registration_invited_nodes = *
    • inbound_connect_timeout=0
    • session_timeout=0
    • outbound_connect_timeout=0
    • max_gateway_processes: Impostare in base ai requisiti di prestazioni.
    • min_gateway_processes: Impostare in base ai requisiti di prestazioni.
    • trace_level: impostato per abilitare il livello di trace richiesto a scopo di test e debug.
    • max_cmctl_sessions: Impostare in base ai requisiti di prestazioni.
    • event_group: init_and_term, memory_ops
    • next_hop: il parametro punta ai dettagli dell'indirizzo di Oracle Autonomous Database insieme ai dettagli SSL. Questi dettagli sono tratti dal file dbdetails.txt, creato nella sezione precedente.
    • WALLET_LOCATION: il parametro punta alla posizione del wallet utente dell'applicazione Modalità Traffic Director, che verrà creato più avanti in questa sezione.
    • SQLNET.WALLET_OVERRIDE = VERO
    Di seguito è riportato un esempio di file cman.ora.
    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. Creare un utente proxy del database (tdm) per ottenere tutte le autorizzazioni necessarie per abilitare la modalità Traffic Director (TDM).
    1. Eseguire il login a Oracle Autonomous Database tramite SQL*Plus come utente admin.
      $ 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. Creare un utente proxy del database.
      In questo esempio viene utilizzato tdm come utente proxy del database.
      SQL> create user tdm identified by {password} -- replace {password} with your actual password
      
      User created.
      
      SQL> grant create session to tdm;
      
      Grant succeeded.
    3. Uscire da SQL*Plus.
  5. Creare il wallet utente proxy del database.

    Aggiungere le credenziali utente TDM al wallet Autonomous Database esistente.

    1. Andare alla directory $TNS_ADMIN in cui si trova il wallet di Autonomous Database.
      La directory è spesso $ORACLE_HOME/network/admin.
      $ cd $TNS_ADMIN
    2. Aggiungere i dettagli utente tdm al wallet Autonomous Database utilizzando la utility mkstore presente nella directory $ORACLE_HOME/bin.

      Nota

      • Per il parametro service_name, immettere il nome del servizio presente nel file dbdetails.txt creato in precedenza.
      • Per i parametri username e password, immettere le credenziali utente tdm. Ripetere questa operazione se si desidera che gli altri servizi (ad esempio exampledb_low) siano disponibili tramite tdm.

      Usare la sintassi seguente: $ORACLE_HOME/bin/mkstore -wrl . -createCredential service_name username password. Ad esempio:

      
      
      $ $ORACLE_HOME/bin/mkstore -wrl . -createCredential g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com tdm {password}
    3. Verificare che il wallet sia stato creato correttamente utilizzando la utility orapki.
      $ $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

      L'output deve contenere voci dell'area di memorizzazione dei segreti Oracle, che indica che le credenziali utente tdm sono memorizzate e che sono certificati protetti e certificati utente (certificati SSL di Autonomous Database).

    4. Verificare che le credenziali utente tdm si trovino nel wallet utilizzando la utility mkstore. Quando viene richiesta la password del wallet, immettere la password del wallet Autonomous Database creata durante il download del file zip del wallet dalla console di Oracle Cloud Infrastructure.
      $ $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. Connettiti utilizzando un utente dell'applicazione CMAN-TDM su Oracle Autonomous Database.
    Sarà necessario creare un utente di database 'normale' per l'accesso generale all'applicazione anziché l'utente ADMIN con privilegi per la connessione a Oracle Autonomous Database tramite CMAN-TDM utilizzando le autorizzazioni dell'utente proxy del database (tdm).

    Nota

    Se si dispone già di uno o più utenti dell'applicazione esistenti in Autonomous Database, saltare questo passo.
    1. Creare un utente del database.

      È possibile copiare e personalizzare il seguente script createuser.sql per creare l'utente.

      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. Avviare SQL*Plus come utente ADMIN:
      $ sqlplus -l admin@exampledb_high
    3. Eseguire lo script createuser.sql.

      Passare il nome dell'utente come argomento dello script. In questo esempio viene utilizzato example.

      Lo script richiederà di impostare la password per questo nuovo utente. La password deve essere conforme alle Linee guida per la password degli utenti di Oracle Autonomous Database. Non sarà possibile creare un utente se non si rispettano le linee guida.

      SQL> @createuser.sql example
      Il nuovo utente viene creato non appena si immette la nuova password.
  7. Aggiungere i privilegi tdm dell'utente proxy del database a tutti gli utenti dell'applicazione che richiedono l'accesso ad Autonomous Database tramite CMAN-TDM, quindi uscire da SQL*Plus.
    SQL> alter user example grant connect through tdm;
    User altered.
    SQL> exit
  8. Verificare che la connessione riesca per il nuovo utente (verrà richiesto di immettere la password):
    $ sqlplus -l example@exampledb_high
    
    [ . . .]
    
    SQL> show user
    USER is "example"
    
    SQL> quit

Questo utente verrà utilizzato per connettersi a Oracle Autonomous Database tramite CMAN-TDM.

Connettiti a Oracle Autonomous Database tramite CMAN

Aggiungere l'indirizzo CMAN-TDM per il server nel file $TNS_ADMIN/tnsnames.ora nel computer in cui è in esecuzione l'applicazione client per aggiungere la connessione.
  1. Aprire la porta CMAN-TDM (in questo caso 1523) prima come utente root nella VM Linux di CMAN-TDM se la VM è protetta da un firewall.
    $ sudo su root
    $ firewall-cmd --permanent --add-port=1523/tcp
    $ firewall-cmd --reload
  2. È possibile visualizzare il file $TNS_ADMIN/tnsnames.ora del computer in cui si trova l'applicazione client per confermare i parametri dell'indirizzo. È possibile aggiungere l'alias di connessione CMAN-TDM nel file.

    In questo esempio, l'applicazione client SQL*Plus si trova sullo stesso computer di CMAN-TDM.

    Il parametro address include l'indirizzo CMAN-TDM. Il parametro connect_data deve contenere il parametro service_name per Autonomous Database.

    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. Eseguire la utility cmctl per avviare CMAN-TDM.
    $ $ORACLE_HOME/bin/cmctl startup -c cman-test
    La utility si connetterà e avvierà l'istanza CMAN. Vengono visualizzati lo stato dell'istanza e i dettagli.
  4. Eseguire SQL*Plus utilizzando l'alias di connessione CMAN-TDM e l'utente applicazione example creati in precedenza per connettersi ad Autonomous Database.
    $ sqlplus example@exampledb_high_cman_tdm

    La query SQL visualizzerà l'utente proxy del database TDM utilizzato da CMAN-TDM per connettersi a Oracle Autonomous Database. Questa query restituirà un valore vuoto quando ci connettiamo direttamente a Oracle Database.

Ora sei connesso tramite CMAN-TDM a un Oracle Autonomous Database.