Configurar y conectarse a Oracle Autonomous Database

Obtenga los archivos de configuración de Oracle Autonomous Database e instálelos en la máquina en la que está instalado CMAN-TDM.

Configuración de los archivos de cartera de Oracle Autonomous Database mediante el protocolo TLS mutuo

Debe utilizar una cartera para conectarse a una instancia de Oracle Autonomous Database (incluidos Oracle Autonomous Data Warehouse, Oracle Autonomous Transaction Processing y Oracle Autonomous JSON Database). Esto proporciona seguridad de capa de transporte (TLS) mutua, que proporciona seguridad mejorada para la autenticación y el cifrado.
  1. Conéctese a la consola de Oracle Cloud Infrastructure y navegue a la región en la que reside la base de datos autónoma.
  2. Vaya a la página Autonomous Database y, a continuación, haga clic en el separador Conexión de base de datos.
    Se muestra Detalles de Autonomous Database.
  3. Haga clic en Descargar cartera.
    Se le pedirá una contraseña para la cartera.
  4. Proporcione una contraseña y, a continuación, descargue el archivo ZIP de cartera en la máquina local.
    Transfiera el archivo ZIP descargado a su máquina Linux con su método o aplicación de transferencia de archivos SSH preferidos. Es importante guardar (o recordar) la contraseña de la cartera. Debe utilizar la contraseña más adelante en esta solución.
    Vaya al siguiente paso después de que el archivo ZIP de la cartera esté en la máquina Linux.
  5. Extraiga el contenido en el directorio $TNS_ADMIN.

    Note:

    Esta ubicación puede ser la ruta $ORACLE_HOME/network/admin predeterminada de la instalación de la máquina CMAN-TDM.

    La cartera no contiene las credenciales de nombre de usuario y contraseña de la base de datos, pero debe mantener la cartera y los archivos en una ubicación segura para su uso posterior.

    A continuación, se muestra un ejemplo de los archivos extraídos:

    -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

    Los archivos principales necesarios para el caso de uso actual son cwallet.sso, ewallet.p12, sqlnet.ora y tnsnames.ora. Los demás archivos sólo son necesarios si el usuario tiene previsto conectarse a través de una aplicación JDBC.

  6. Edite el archivo sqlnet.ora y cambie la ubicación de cartera DIRECTORY al directorio que contiene el archivo cwallet.sso:
    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    Ahora que la cartera está definida, puede conectarse a la base de datos mediante una de las cadenas de conexión "nombre de servicio de red" de tnsnames.ora (por ejemplo, exampledb_high).

  7. Abra el archivo tnsnames.ora y almacene los detalles de conexión de la base de datos autónoma en otro archivo, como $HOME/dbdetails.txt:
    Utilizará los parámetros de dirección, seguridad y nombre de servicio de la base de datos autónoma al configurar CMAN-TDM.
  8. (Opcional) Compruebe la conexión a la base de datos mediante SQL*Plus.
    • Si SQL*Plus está en la misma máquina que CMAN-TDM, puede ver el archivo tnsnames.ora desde el directorio de cartera $TNS_ADMIN.

    • Si SQL*Plus está instalado en una máquina diferente a la CMAN-TDM, copie los archivos de cartera de Autonomous Database en el directorio $TNS_ADMIN de la máquina en la que está instalado SQL*Plus. A continuación, copie los detalles de la base de datos de la sección anterior en el archivo $TNS_ADMIN/tnsnames.ora de la misma máquina.

    El archivo $TNS_ADMIN/tnsnames.ora contiene varios nombres de servicio de red (a la izquierda de los signos "="). Puede utilizar cualquiera, según el nivel de rendimiento y la simultaneidad de servicio que desee de la base de datos.

    Ejecute SQL*Plus como usuario ADMIN e introduzca la contraseña de ese usuario definida durante la creación de la base de datos:

    $ sqlplus -l admin@adb-name_high
    Cuando tenga éxito, se conectará a la base de datos.

Configuración de CMAN para conectarse a Oracle Autonomous Database

Cree, configure y agregue archivos de configuración de CMAN (cman.ora) con todas las especificaciones del directorio $TNS_ADMIN del equipo CMAN-TDM. El directorio se encuentra a menudo en ORACLE_HOME/network/admin.

El archivo cman.ora es el archivo de configuración principal que lee CMAN-TDM. Contiene todos los detalles de configuración para activar Traffic Director y CMAN para conectarse con Oracle Autonomous Database.

  1. Conéctese como usuario oracle.
  2. Navegue hasta el directorio $TNS_ADMIN y cree el archivo cman.ora.
    $ cd $TNS_ADMIN
    $ vi cman.ora
  3. Configure el archivo cman.ora.
    En este ejemplo, el nombre de instancia de CMAN-TDM es cman-test. La aplicación cliente se conecta al proceso de CMAN mediante el protocolo TCP y CMAN se conecta a Oracle Autonomous Database mediante el protocolo TCPS.

    El parámetro de dirección contiene el nombre de host y el protocolo del servidor CMAN-TDM. El siguiente ejemplo de archivo cman.ora utiliza TCP y el número de puerto 1523. Puede elegir cualquier número de puerto disponible en su máquina Linux.

    Configure los siguientes parámetros:

    • tdm=true: importante Debe definir el parámetro tdm en true para activar el modo de director de tráfico.
    • tdm_threading_mode=dedicated: en este ejemplo, se ejecuta CMAN-TDM en modo dedicado, que es el modo predeterminado para el modo de director de tráfico. Puede ejecutar el modo de director de tráfico en modo compartido.
    • log_level: se define para activar el nivel necesario de registro para fines de prueba y depuración.
    • max_connections: defina según sus requisitos de rendimiento.
    • idle_timeout=0
    • registration_invited_nodes = *
    • inbound_connect_timeout=0
    • session_timeout=0
    • outbound_connect_timeout=0
    • max_gateway_processes: defina según sus requisitos de rendimiento.
    • min_gateway_processes: defina según sus requisitos de rendimiento.
    • trace_level: se define para activar el nivel necesario de rastreo para fines de prueba y depuración.
    • max_cmctl_sessions: defina según sus requisitos de rendimiento.
    • event_group: init_and_term, memory_ops
    • next_hop: el parámetro apunta a los detalles de dirección de Oracle Autonomous Database junto con los detalles de SSL. Estos detalles se toman del archivo dbdetails.txt, que ha creado en la sección anterior.
    • WALLET_LOCATION: el parámetro apunta a la ubicación de la cartera de usuario de la aplicación Traffic Director Mode, que creará más adelante en esta sección.
    • SQLNET.WALLET_OVERRIDE = VERDADERO
    A continuación, se muestra un archivo cman.ora de ejemplo:
    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. Cree un usuario proxy de base de datos (tdm) para obtener todos los permisos necesarios para activar el modo de director de tráfico (TDM).
    1. Conéctese a Oracle Autonomous Database mediante SQL*Plus como usuario 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. Crear un usuario proxy de base de datos.
      En este ejemplo, se utiliza tdm como usuario proxy de base de datos.
      SQL> create user tdm identified by {password} -- replace {password} with your actual password
      
      User created.
      
      SQL> grant create session to tdm;
      
      Grant succeeded.
    3. Salga de SQL*Plus.
  5. Cree la cartera de usuario de proxy de base de datos.

    Agregue las credenciales de usuario de TDM a la cartera de Autonomous Database existente.

    1. Vaya al directorio $TNS_ADMIN donde se encuentra la cartera de Autonomous Database.
      El directorio suele ser $ORACLE_HOME/network/admin.
      $ cd $TNS_ADMIN
    2. Agregue los detalles de usuario tdm a la cartera de Autonomous Database mediante la utilidad mkstore presente en el directorio $ORACLE_HOME/bin.

      Note:

      • Para el parámetro service_name, introduzca el nombre de servicio que se encuentra en el archivo dbdetails.txt que ha creado anteriormente.
      • Para los parámetros username y password, introduzca las credenciales de usuario tdm. Repita este paso si desea que otros servicios (como exampledb_low) estén disponibles a través de tdm.

      Utilice la siguiente sintaxis: $ORACLE_HOME/bin/mkstore -wrl . -createCredential service_name username password. Por ejemplo:

      
      
      $ $ORACLE_HOME/bin/mkstore -wrl . -createCredential g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com tdm {password}
    3. Verifique que la cartera se ha creado correctamente mediante la utilidad 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

      La salida debe contener entradas del almacén secreto de Oracle, lo que indica que las credenciales de usuario tdm están almacenadas y son certificados de confianza y certificados de usuario (certificados SSL de Autonomous Database).

    4. Verifique que las credenciales de usuario tdm están en la cartera mediante la utilidad mkstore. Cuando se le solicite la contraseña de cartera, introduzca la contraseña de cartera de Autonomous Database que ha creado al descargar el archivo zip de cartera de la consola de 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. Conéctese mediante un usuario de aplicación CMAN-TDM en Oracle Autonomous Database.
    Tendrá que crear un usuario de base de datos 'normal' para el acceso general a la aplicación en lugar del usuario con privilegios ADMIN para conectarse a Oracle Autonomous Database a través de CMAN-TDM mediante los permisos de usuario proxy de base de datos (tdm).

    Note:

    Si ya tiene uno o más usuarios de aplicación existentes en Autonomous Database, omita este paso.
    1. Cree un usuario de base de datos.

      Puede copiar y personalizar el siguiente script createuser.sql para crear el usuario.

      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. Inicie SQL*Plus como usuario ADMIN:
      $ sqlplus -l admin@exampledb_high
    3. Ejecuta el script createuser.sql.

      Transfiera el nombre del usuario como argumento de script. En este ejemplo se utiliza example.

      El script le solicitará que defina la contraseña para este nuevo usuario. La contraseña debe cumplir las directrices de contraseña de usuario de Oracle Autonomous Database. No podrá crear un usuario si no cumple con las directrices.

      SQL> @createuser.sql example
      El nuevo usuario se crea tan pronto como se introduce la nueva contraseña.
  7. Agregue los privilegios tdm del usuario de proxy de base de datos a todos los usuarios de la aplicación que necesiten acceso a la instancia de Autonomous Database mediante CMAN-TDM y, a continuación, salga de SQL*Plus.
    SQL> alter user example grant connect through tdm;
    User altered.
    SQL> exit
  8. Verifique que la conexión se realiza correctamente para el nuevo usuario (se le solicitará que introduzca la contraseña):
    $ sqlplus -l example@exampledb_high
    
    [ . . .]
    
    SQL> show user
    USER is "example"
    
    SQL> quit

Este usuario se utilizará para conectarse a Oracle Autonomous Database a través de CMAN-TDM.

Conexión a Oracle Autonomous Database a través de CMAN

Agregue la dirección CMAN-TDM para el servidor en el archivo $TNS_ADMIN/tnsnames.ora en la máquina que ejecuta la aplicación cliente para agregar la conexión.
  1. Abra el puerto de CMAN-TDM (1523 en este caso) primero como usuario root en la máquina virtual de Linux de CMAN-TDM si la máquina virtual está detrás de un firewall.
    $ sudo su root
    $ firewall-cmd --permanent --add-port=1523/tcp
    $ firewall-cmd --reload
  2. Puede ver el archivo $TNS_ADMIN/tnsnames.ora de la máquina en la que se encuentra la aplicación cliente para confirmar los parámetros de dirección. Puede agregar el alias de conexión CMAN-TDM en el archivo.

    En este ejemplo, la aplicación cliente SQL*Plus está en el mismo equipo que la CMAN-TDM.

    El parámetro de dirección incluye la dirección CMAN-TDM. El parámetro connect_data debe contener el parámetro service_name para 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. Ejecute la utilidad cmctl para iniciar CMAN-TDM.
    $ $ORACLE_HOME/bin/cmctl startup -c cman-test
    La utilidad se conectará e iniciará la instancia de CMAN. Se muestran el estado de la instancia y los detalles.
  4. Ejecute SQL*Plus mediante el alias de conexión de CMAN-TDM y el usuario de aplicación example creados anteriormente para conectarse a Autonomous Database.
    $ sqlplus example@exampledb_high_cman_tdm

    La consulta SQL mostrará el usuario de proxy de base de datos TDM que utiliza CMAN-TDM para conectarse a Oracle Autonomous Database. Esta consulta devolverá un valor en blanco cuando nos conectemos directamente a Oracle Database.

Ahora está conectado mediante CMAN-TDM a una instancia de Oracle Autonomous Database.