Configuration d'Oracle Autonomous Database et connexion à celui-ci

Obtenez les fichiers de configuration Oracle Autonomous Database et installez-les sur l'ordinateur sur lequel CMAN-TDM est installé.

Configuration des fichiers de portefeuille Oracle Autonomous Database à l'aide du protocole TLS mutuel

Vous devez utiliser un portefeuille pour vous connecter à une instance Oracle Autonomous Database (y compris Oracle Autonomous Data Warehouse, Oracle Autonomous Transaction Processing et Oracle Autonomous JSON Database). Le protocole TLS (Transport Layer Security) offre ainsi une sécurité améliorée pour l'authentification et le cryptage.
  1. Connectez-vous à la console Oracle Cloud Infrastructure et accédez à la région où réside la base de données autonome.
  2. Accédez à la page Autonomous Database, puis cliquez sur l'onglet Connexion de base de données.
    Les détails d'Autonomous Database s'affichent.
  3. Cliquez sur Télécharger un portefeuille.
    Un mot de passe de portefeuille vous sera demandé.
  4. Indiquez un mot de passe, puis téléchargez le fichier ZIP de portefeuille sur l'ordinateur local.
    Transférez le fichier ZIP téléchargé vers votre ordinateur Linux à l'aide de la méthode ou de l'application de transfert de fichiers SSH de votre choix. Il est important d'enregistrer (ou de mémoriser) le mot de passe du portefeuille. Vous devez utiliser le mot de passe ultérieurement dans cette solution.
    Passez à l'étape suivante après que le fichier ZIP de portefeuille se trouve sur votre ordinateur Linux.
  5. Extrayez le contenu dans le répertoire $TNS_ADMIN.

    Remarques :

    Cet emplacement peut être le chemin $ORACLE_HOME/network/admin par défaut de l'installation de votre machine CMAN-TDM.

    Le portefeuille ne contient pas de nom utilisateur et de mot de passe de base de données, mais vous devez conserver le portefeuille et les fichiers dans un emplacement sécurisé pour une utilisation ultérieure.

    Voici un exemple des fichiers extraits :

    -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

    Les principaux fichiers requis pour le cas d'utilisation actuel sont cwallet.sso, ewallet.p12, sqlnet.ora et tnsnames.ora. Les autres fichiers ne sont requis que si l'utilisateur prévoit de se connecter via une application JDBC.

  6. Modifiez le fichier sqlnet.ora et remplacez l'emplacement du portefeuille DIRECTORY par le répertoire contenant le fichier cwallet.sso :
    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/u01/app/oracle/network/admin")))
    SSL_SERVER_DN_MATCH=yes

    Une fois le portefeuille défini, vous pouvez vous connecter à la base de données à l'aide de l'une des chaînes de connexion "nom de service réseau" de tnsnames.ora (par exemple, exampledb_high).

  7. Ouvrez le fichier tnsnames.ora et stockez les détails de connexion de la base de données autonome dans un autre fichier, tel que $HOME/dbdetails.txt :
    Vous utiliserez les paramètres d'adresse, de sécurité et de nom de service de la base de données autonome lorsque vous configurerez CMAN-TDM.
  8. (Facultatif) Vérifiez la connexion de base de données à l'aide de SQL*Plus.
    • Si SQL*Plus se trouve sur le même ordinateur que CMAN-TDM, vous pouvez visualiser le fichier tnsnames.ora à partir du répertoire de portefeuille $TNS_ADMIN.

    • Si SQL*Plus est installé sur un autre ordinateur que le CMAN-TDM, copiez les fichiers de portefeuille Autonomous Database dans le répertoire $TNS_ADMIN de l'ordinateur sur lequel SQL*Plus est installé. Copiez ensuite les détails de la base de données de la section précédente dans le fichier $TNS_ADMIN/tnsnames.ora sur le même ordinateur.

    Le fichier $TNS_ADMIN/tnsnames.ora contient plusieurs noms de service réseau (à gauche des signes "="). Vous pouvez en utiliser n'importe quel, en fonction du niveau de performances et de simultanéité de service que vous souhaitez obtenir de la base de données.

    Exécutez SQL*Plus en tant qu'utilisateur ADMIN et entrez le mot de passe de cet utilisateur lors de la création de la base de données :

    $ sqlplus -l admin@adb-name_high
    En cas de réussite, vous serez connecté à votre base de données.

Configuration de CMAN pour la connexion à Oracle Autonomous Database

Créez, configurez et ajoutez des fichiers de configuration CMAN (cman.ora) avec toutes les spécifications dans le répertoire $TNS_ADMIN de la machine CMAN-TDM. Le répertoire se trouve souvent dans ORACLE_HOME/network/admin.

Le fichier cman.ora est le fichier de configuration principal qui est lu par CMAN-TDM. Il contient tous les détails de configuration permettant à Traffic Director et à CMAN de se connecter à Oracle Autonomous Database.

  1. Connectez-vous en tant qu'utilisateur oracle.
  2. Accédez au répertoire $TNS_ADMIN et créez le fichier cman.ora.
    $ cd $TNS_ADMIN
    $ vi cman.ora
  3. Configurez le fichier cman.ora.
    Dans cet exemple, le nom de l'instance CMAN-TDM est cman-test. L'application client se connecte au processus CMAN via le protocole TCP, et CMAN se connecte à Oracle Autonomous Database via le protocole TCPS.

    Le paramètre d'adresse contient le nom d'hôte et le protocole du serveur CMAN-TDM. L'exemple de fichier cman.ora suivant utilise TCP et le numéro de port 1523. Vous pouvez choisir n'importe quel numéro de port disponible sur votre machine Linux.

    Configurez les paramètres suivants :

    • tdm=true : important : Vous devez définir le paramètre tdm sur true pour activer le mode Traffic Director.
    • tdm_threading_mode=dedicated : cet exemple exécute CMAN-TDM en mode dédié, qui est le mode par défaut pour le mode Traffic Director. Vous pouvez exécuter le mode Traffic Director en mode partagé.
    • log_level : permet d'activer le niveau de journalisation requis à des fins de test et de débogage.
    • max_connections : définir en fonction de vos exigences de performance.
    • idle_timeout=0
    • registration_invited_nodes = *
    • inbound_connect_timeout=0
    • session_timeout=0
    • outbound_connect_timeout=0
    • max_gateway_processes : définissez-le en fonction de vos besoins en performances.
    • min_gateway_processes : définissez-le en fonction de vos besoins en performances.
    • trace_level : permet d'activer le niveau de trace requis à des fins de test et de débogage.
    • max_cmctl_sessions : définissez-le en fonction de vos besoins en performances.
    • event_group: init_and_term, memory_ops
    • next_hop : le paramètre pointe vers les détails d'adresse d'Oracle Autonomous Database, ainsi que vers les détails SSL. Ces détails proviennent du fichier dbdetails.txt que vous avez créé dans la section précédente.
    • WALLET_LOCATION : le paramètre pointe vers l'emplacement du portefeuille utilisateur de l'application Traffic Director Mode, que vous allez créer ultérieurement dans cette section.
    • SQLNET.WALLET_OVERRIDE = TRUE
    Voici un exemple de fichier 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. Créez un utilisateur proxy de base de données (tdm) pour obtenir tous les droits d'accès nécessaires à l'activation du mode Traffic Director (TDM).
    1. Connectez-vous à Oracle Autonomous Database via SQL*Plus en tant qu'utilisateur 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. Créez un utilisateur proxy de base de données.
      Cet exemple utilise tdm en tant qu'utilisateur proxy de base de données.
      SQL> create user tdm identified by {password} -- replace {password} with your actual password
      
      User created.
      
      SQL> grant create session to tdm;
      
      Grant succeeded.
    3. Quittez SQL*Plus.
  5. Créez le portefeuille de l'utilisateur proxy de base de données.

    Ajoutez les informations d'identification utilisateur TDM au portefeuille Autonomous Database existant.

    1. Accédez au répertoire $TNS_ADMIN dans lequel se trouve le portefeuille Autonomous Database.
      Le répertoire est souvent $ORACLE_HOME/network/admin.
      $ cd $TNS_ADMIN
    2. Ajoutez les détails de l'utilisateur tdm au portefeuille Autonomous Database à l'aide de l'utilitaire mkstore présent dans le répertoire $ORACLE_HOME/bin.

      Remarques :

      • Pour le paramètre service_name, entrez le nom de service figurant dans le fichier dbdetails.txt que vous avez créé précédemment.
      • Pour les paramètres username et password, entrez vos informations d'identification utilisateur tdm. Répétez cette étape si vous souhaitez que les autres services (tels que exampledb_low) soient disponibles via tdm.

      Utilisez la syntaxe suivante : $ORACLE_HOME/bin/mkstore -wrl . -createCredential service_name username password. Exemple :

      
      
      $ $ORACLE_HOME/bin/mkstore -wrl . -createCredential g5cadf7d7e4c6c8_exampledb_high.adb.oraclecloud.com tdm {password}
    3. Vérifiez que le portefeuille est créé correctement à l'aide de l'utilitaire 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 sortie doit contenir des entrées de banque de clés secrètes Oracle, ce qui indique que les informations d'identification utilisateur tdm sont stockées et sont des certificats sécurisés et des certificats utilisateur (certificats SSL Autonomous Database).

    4. Vérifiez que les informations d'identification utilisateur tdm se trouvent dans le portefeuille à l'aide de l'utilitaire mkstore. Lorsque vous êtes invité à saisir le mot de passe du portefeuille, entrez le mot de passe du portefeuille Autonomous Database que vous avez créé lorsque vous avez téléchargé le fichier ZIP de portefeuille à partir de la console 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. Connectez-vous en utilisant un utilisateur d'application CMAN-TDM sur Oracle Autonomous Database.
    Vous devrez créer un utilisateur de base de données "normal" pour l'accès général aux applications au lieu de l'utilisateur ADMIN privilégié pour la connexion à Oracle Autonomous Database via CMAN-TDM à l'aide des droits d'accès de l'utilisateur proxy de base de données (tdm).

    Remarques :

    Si vous avez déjà des utilisateurs d'application existants dans Autonomous Database, ignorez cette étape.
    1. Créez un utilisateur de base de données.

      Vous pouvez copier et personnaliser le script createuser.sql suivant pour créer l'utilisateur.

      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. Démarrez SQL*Plus en tant qu'utilisateur ADMIN :
      $ sqlplus -l admin@exampledb_high
    3. Exécutez le script createuser.sql.

      Transmettez le nom de votre utilisateur en tant qu'argument de script. Cet exemple utilise example.

      Le script vous invite à définir le mot de passe de ce nouvel utilisateur. Le mot de passe doit respecter les instructions relatives au mot de passe utilisateur Oracle Autonomous Database. Vous ne pourrez pas créer d'utilisateur si vous ne respectez pas les directives.

      SQL> @createuser.sql example
      Le nouvel utilisateur est créé dès que vous saisissez le nouveau mot de passe.
  7. Ajoutez les privilèges d'utilisateur proxy de base de données tdm à tous les utilisateurs d'application qui ont besoin d'accéder à Autonomous Database via CMAN-TDM, puis quittez SQL*Plus.
    SQL> alter user example grant connect through tdm;
    User altered.
    SQL> exit
  8. Vérifiez que la connexion réussit pour le nouvel utilisateur (vous êtes invité à saisir le mot de passe) :
    $ sqlplus -l example@exampledb_high
    
    [ . . .]
    
    SQL> show user
    USER is "example"
    
    SQL> quit

Vous utiliserez cet utilisateur pour vous connecter à Oracle Autonomous Database via CMAN-TDM.

Connexion à Oracle Autonomous Database via CMAN

Ajoutez l'adresse CMAN-TDM du serveur dans le fichier $TNS_ADMIN/tnsnames.ora de l'ordinateur exécutant l'application client pour ajouter la connexion.
  1. Ouvrez d'abord le port CMAN-TDM (1523 dans ce cas) en tant qu'utilisateur root sur la machine virtuelle Linux de votre CMAN-TDM si la machine virtuelle est derrière un pare-feu.
    $ sudo su root
    $ firewall-cmd --permanent --add-port=1523/tcp
    $ firewall-cmd --reload
  2. Vous pouvez visualiser le fichier $TNS_ADMIN/tnsnames.ora de l'ordinateur sur lequel se trouve l'application client pour confirmer les paramètres d'adresse. Vous pouvez ajouter l'alias de connexion CMAN-TDM dans le fichier.

    Dans cet exemple, l'application client SQL*Plus se trouve sur le même ordinateur que le CMAN-TDM.

    Le paramètre d'adresse inclut l'adresse CMAN-TDM. Le paramètre connect_data doit contenir le paramètre service_name pour 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. Exécutez l'utilitaire cmctl pour démarrer CMAN-TDM.
    $ $ORACLE_HOME/bin/cmctl startup -c cman-test
    L'utilitaire se connecte à votre instance CMAN et la démarre. Le statut de l'instance et les détails sont affichés.
  4. Exécutez SQL*Plus à l'aide de l'alias de connexion CMAN-TDM et de l'utilisateur d'application example créés précédemment pour se connecter à Autonomous Database.
    $ sqlplus example@exampledb_high_cman_tdm

    La requête SQL affiche l'utilisateur proxy de base de données TDM utilisé par CMAN-TDM pour la connexion à Oracle Autonomous Database. Cette requête renvoie une valeur vide lorsque nous nous nous connectons directement à Oracle Database.

Vous êtes maintenant connecté via CMAN-TDM à une instance Oracle Autonomous Database.