Configurer et se connecter à Oracle Autonomous Database

Obtenez les fichiers de configuration d'Oracle Autonomous Database et installez-les sur la machine sur laquelle CMAN-TDM est installé.

Configurer les fichiers de portefeuille d'Oracle Autonomous Database à l'aide du protocole TLS mutuel

Vous devez utiliser un portefeuille pour vous connecter à Oracle Autonomous Database (notamment Oracle Autonomous Data Warehouse, Oracle Autonomous Transaction Processing et Oracle Autonomous JSON Database). Ainsi, le protocole TLS (Transport Layer Security) mutuel offre une sécurité améliorée pour l'authentification et le chiffrement.
  1. Connectez-vous à la console Oracle Cloud Infrastructure et naviguez jusqu'à la région où réside la base de données autonome.
  2. Naviguez jusqu'à la page Autonomous Database, puis cliquez sur l'onglet Connexion à la base de données.
    Les détails de la base de données Autonomous Database s'affichent.
  3. Cliquez sur Télécharger le portefeuille.
    Vous serez invité à entrer un mot de passe pour le portefeuille.
  4. Fournissez un mot de passe, puis téléchargez le fichier ZIP du portefeuille sur votre ordinateur local.
    Transférez le fichier ZIP téléchargé sur votre machine Linux à l'aide de votre application ou méthode de transfert de fichiers SSH préférée. Il est important d'enregistrer (ou de mémoriser) le mot de passe du portefeuille. Vous devez utiliser le mot de passe plus tard dans cette solution.
    Passez à l'étape suivante après que le fichier ZIP du portefeuille se trouve sur votre machine Linux.
  5. Extrayez le contenu dans le répertoire $TNS_ADMIN.

    Note :

    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 données d'identification de nom d'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 fichiers principaux requis pour le cas d'utilisation courant 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 au moyen d'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

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

  7. Ouvrez le fichier tnsnames.ora et stockez les détails de connexion de votre base de données autonome dans un autre fichier, par exemple $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 configurez CMAN-TDM.
  8. (Facultatif) Vérifiez la connexion à la base de données à l'aide de SQL*Plus.
    • Si SQL*Plus se trouve sur la même machine que CMAN-TDM, vous pouvez voir le fichier tnsnames.ora à partir du répertoire de portefeuille $TNS_ADMIN.

    • Si SQL*Plus est installé sur une machine différente de CMAN-TDM, copiez les fichiers de portefeuille Autonomous Database dans le répertoire $TNS_ADMIN de la machine sur laquelle 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 la même machine.

    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 performance et de la simultanéité des services souhaités dans la base de données.

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

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

Configurer CMAN pour la connexion à Oracle Autonomous Database

Créez, configurez et ajoutez des fichiers de configuration CMAN (cman.ora) avec toutes les spécifications du 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 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. Naviguez jusqu'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 au moyen du protocole TCP, et CMAN se connecte à Oracle Autonomous Database au moyen du 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 régler le paramètre tdm à Vrai pour activer le mode Directeur du trafic.
    • 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 : Définir pour activer le niveau de journalisation requis à des fins de test et de débogage.
    • max_connections : Défini 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éfini en fonction de vos exigences de performance.
    • min_gateway_processes : Défini en fonction de vos exigences de performance.
    • trace_level : Définir pour activer le niveau de traçage requis à des fins de test et de débogage.
    • max_cmctl_sessions : Défini en fonction de vos exigences de performance.
    • 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 les détails SSL. Ces détails sont extraits 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 d'utilisateurs de l'application Traffic Director Mode, que vous créerez plus tard dans cette section.
    • SQLNET.WALLET_OVERRIDE = VRAI
    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 mandataire de base de données (tdm) pour obtenir toutes les autorisations nécessaires à l'activation du mode Traffic Director (TDM).
    1. Connectez-vous à Oracle Autonomous Database au moyen de 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 mandataire de base de données.
      Cet exemple utilise tdm comme utilisateur mandataire 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 mandataire de la base de données.

    Ajoutez les données d'identification d'utilisateur TDM à votre portefeuille Autonomous Database existant.

    1. Naviguez jusqu'au répertoire $TNS_ADMIN où 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.

      Note :

      • Pour le paramètre service_name, entrez le nom du service qui se trouve dans le fichier dbdetails.txt que vous avez créé précédemment.
      • Pour les paramètres username et password, entrez vos données d'identification d'utilisateur tdm. Répétez cette étape si vous voulez que les autres services (tels que exampledb_low) soient disponibles au moyen de tdm.

      Utilisez la syntaxe suivante : $ORACLE_HOME/bin/mkstore -wrl . -createCredential service_name username password. Par 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 du magasin de clés secrètes Oracle, qui indiquent que les données d'identification de l'utilisateur tdm sont stockées et qu'il s'agit de certificats approuvés et de certificats d'utilisateur (certificats SSL Autonomous Database).

    4. Vérifiez que les données d'identification de l'utilisateur tdm se trouvent dans le portefeuille à l'aide de l'utilitaire mkstore. Lorsque vous êtes invité à entrer 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 à l'aide d'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 à l'application au lieu de l'utilisateur ADMIN privilégié pour la connexion à Oracle Autonomous Database au moyen des autorisations CMAN-TDM à l'aide de l'utilisateur mandataire de base de données (tdm).

    Note :

    Si vous avez déjà un ou plusieurs utilisateurs d'application 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 pour ce nouvel utilisateur. Le mot de passe doit respecter les directives relatives aux mots de passe d'utilisateur d'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 entrez le nouveau mot de passe.
  7. Ajoutez les privilèges tdm de l'utilisateur mandataire de la base de données à tous les utilisateurs d'application nécessitant l'accès à Autonomous Database au moyen de 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 serez invité à entrer 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 au moyen de CMAN-TDM.

Se connecter à Oracle Autonomous Database au moyen de 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 voir 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 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 la base de données 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 s'affichent.
  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 la connexion à Autonomous Database.
    $ sqlplus example@exampledb_high_cman_tdm

    L'interrogation SQL affiche l'utilisateur mandataire de base de données TDM utilisé par CMAN-TDM pour se connecter à Oracle Autonomous Database. Cette interrogation retournera une valeur vide lorsque nous établirons une connexion directe à Oracle Database.

Vous êtes maintenant connecté au moyen de CMAN-TDM à Oracle Autonomous Database.