Créer une instance de secours

Créez une instance cloud de secours à partir de la base de données principale.

Créer un journal d'archives

Vérifiez le mode journal de votre Oracle Exadata Database Machine sur site. S'il est en mode NOARCHIVELOG, changez-le en mode ARCHIVELOG pour créer un journal d'archive.

  1. Visualisez le mode journal du serveur sur site.
    SQL> select log_mode from v$database;
    La sortie ressemble à ce qui suit lorsque le mode journal est en mode NOARCHIVELOG :
    LOG_MODE
    ------------
    NOARCHIVELOG
  2. Arrêtez l'instance sur site.
    SQL> shutdown immediate;
    La sortie ressemblera à ce qui suit :
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
  3. Montez la base de données sur site.
    SQL> startup mount;
    La sortie ressemblera à ce qui suit :
    ORACLE instance started.
    
    Total System Global Area 4966054520 bytes
    Fixed Size		    9144952 bytes
    Variable Size		  922746880 bytes
    Database Buffers	 4026531840 bytes
    Redo Buffers		    7630848 bytes
    Database mounted.
  4. Modifiez le journal d'archivage de base de données, puis ouvrez la base de données.
    SQL> alter database archivelog;
    SQL> alter database open;
  5. Modifiez le mode journal en ARCHIVELOG.
    SQL> select log_mode from v$database;
    LOG_MODE
    ------------
    ARCHIVELOG
  6. Affichez la liste des journaux d'archives.
    SQL> archive log list;
    La sortie ressemblera à ce qui suit :
    Database log mode
           Archive Mode
    Automatic archival
           Enabled
    Archive destination
           USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     4
    Next log sequence to archive   7
    Current log sequence           7
  7. Archivez tous les journaux.
    SQL> archive log all;
    ORA-00271:there are no logs that need archiving

Instantifier la base de données de secours sur OCI

Instantanez la base de données Oracle Database Exadata Cloud Service de secours.

  1. Arrêtez ou arrêtez la base de données Oracle Database Exadata Cloud Service à l'aide de l'utilitaire srvctl.
    • $ srvctl stop database -d standby DB_UNIQUE_NAME -o immediate
    • $ srvctl stop database -d DB1_phx3g7 -o immediate
  2. Connectez-vous à la base de données.
    SQL> startup nomount;
  3. Dans Oracle Exadata Database Machine sur site principal, exécutez la série de commandes suivante pour forcer la journalisation et définir le fichier journal.
    SQL> alter database force logging;
    SQL> set linesize 500 pages 0                                                                                                    
    SQL> col value for a90
    SQL> col name for a50
    SQL> select name, value from v$parameter where name in 
    ('db_name','db_unique_name','log_archive_config', 
    'log_archive_dest_1','log_archive_dest_2','log_archive_dest_state_1','log_archive_de
    st_state_2', 'remote_login_passwordfile', 
    'log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert'
    ,'log_file_name_convert', 'standby_file_management');
    La sortie ressemblera à ce qui suit :
    db_file_name_convert
    log_file_name_convert
    log_archive_dest_1
    location=USE_DB_RECOVERY_FILE_DEST 
    valid_for=(ALL_LOGFILES,ALL_ROLES) MAX_FAILURE=1 REOPEN
    =5 DB_UNIQUE_NAME=db1 ALTERNATE=LOG_ARCHIVE_DEST_2
    log_archive_dest_2
    location=+DATAC1 
    valid_for=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=db1 ALTERNATE=LOG_ARCHI
       VE_DEST_1
    log_archive_dest_state_1                   ENABLE
    log_archive_dest_state_2                   ALTERNATE
    fal_server
    log_archive_config
    log_archive_format                         %t_%s_%r.dbf
    log_archive_max_processes                  4
    standby_file_management                    MANUAL
    remote_login_passwordfile                  EXCLUSIVE
    db_name                                    db1
    db_unique_name                             db1
    14 rows selected.
  4. Définissez la gestion des fichiers de secours.
    SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SID='*';
  5. Dans l'Oracle Exadata Database Machine principal sur site, définissez les paramètres suivants pour l'archivage des journaux et la gestion des secours.
    LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD1,STAND1)'
    LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST 
    VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD1'
    LOG_ARCHIVE_DEST_2='SERVICE=STAND1 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
    DB_UNIQUE_NAME=STAND1'
    LOG_ARCHIVE_DEST_STATE_1=ENABLE
    LOG_ARCHIVE_DEST_STATE_2=ENABLE
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
    LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
    LOG_ARCHIVE_MAX_PROCESSES=8
    FAL_SERVER=STAND1
    DB_FILE_NAME_CONVERT='STAND1',' PROD1'
    LOG_FILE_NAME_CONVERT= 'STAND1',' PROD1'
    STANDBY_FILE_MANAGEMENT=AUTO
    L'exemple suivant inclut les valeurs de paramètre :
    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB1, DB1_phx3g7)';
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST 
    VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DB1';
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=DB1_phx3g7 
    VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB1_phx3g7’;
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER;
    ALTER SYSTEM SET FAL_SERVER=DB1_phx3g7;
    ALTER SYSTEM SET FAL_CLIENT=DB1;
    ALTER SYSTEM SET DB_FILE_NAME_CONVERT='DB1_phx3g7','DB1' scope=spfile;
    ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='DB1_phx3g7','DB1' scope=spfile;
    ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
  6. Dans l'Oracle Exadata Database Machine principal sur site, connectez-vous en tant que sysdba, puis exécutez la série de commandes suivante pour forcer la journalisation.
    $ sqlplus / as sysdba
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB1, DB1_phx3g7)';
    System altered.
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST 
    VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DB1';
    System altered.
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=DB1_phx3g7 
    VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB1_phx3g7';
    System altered.
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
    System altered.
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER;
    System altered.
    SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;
    ERROR at line 1:
    ORA-02095: specified initialization parameter cannot be modified
    SQL> ALTER SYSTEM SET FAL_SERVER=DB1_phx3g7;             
    System altered.
    SQL> ALTER SYSTEM SET FAL_CLIENT=DB1;
    System altered.
    SQL> ALTER SYSTEM SET DB_FILE_NAME_CONVERT='DB1_phx3g7','DB1' scope=spfile;
    System altered.
    SQL> ALTER SYSTEM SET LOG_FILE_NAME_CONVERT= 'DB1_phx3g7','DB1' scope=spfile;
    System altered.
    SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
    System altered.
    Ne créez pas pfile sur l'Oracle Exadata Database Machine principal sur site. Utilisez plutôt Pfile par défaut créé par Oracle Database Exadata Cloud Service.
  7. Dans Oracle Database Exadata Cloud Service de secours, connectez-vous en tant que sysdba, puis démarrez l'instance sans monter la base de données.
    $ sqlplus / as sysdba
    SQL> startup nomount;
  8. Dans Oracle Database Exadata Cloud Service de secours, exécutez la série de commandes suivante pour définir le serveur, la journalisation et la gestion des fichiers.
    alter system set fal_server='DB1' scope =spfile;
    alter system set fal_client='DB1_PHX3G7' scope =spfile;
    alter system set log_archive_config='DG_CONFIG=(DB1, DB1_phx3g7)' scope =spfile;
    alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST 
    VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DB1_PHX3G7' scope =spfile;
    alter system set log_archive_dest_2='SERVICE=DB1 
    VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB1' scope =spfile;
    alter system set log_archive_dest_state_1='ENABLE' scope =spfile;
    alter system set log_archive_dest_state_2='ENABLE' scope =spfile;
    alter system set log_archive_format='%t_%s_%r.dbf' scope =spfile;
    alter system set log_file_name_convert='DB1','DB1_phx3g7' scope =spfile;
    alter system set db_file_name_convert='DB1','DB1_phx3g7' scope =spfile;
    alter system set remote_login_passwordfile='exclusive' scope =spfile;
    alter system set standby_file_management='AUTO' scope =spfile;
  9. Dans Oracle Database Exadata Cloud Service de secours, utilisez Oracle Recovery Manager (RMAN) pour définir une cible de test et une base de secours dans le cloud, puis exécutez RMAN pour créer la base de secours.
    rman target sys/Test_Dr_123@DB1 auxiliary sys/Test_Dr_123@DB1_Phx3g7
    Le résultat obtenu est semblable au résultat suivant :
    connected to target database: DB1 (DBID=1657313530)
    connected to auxiliary database: DB1 (not mounted)
    RMAN> run
  10. Dans Oracle Database Exadata Cloud Service de secours, connectez-vous en tant que sysdba, puis déconnectez-vous de la session.
    $ sqlplus / as sysdba
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
  11. Dans Oracle Database Exadata Cloud Service de secours, visualisez les journaux pour vérifier que la récupération des médias est en transit.
    [oracle@exacs82-vm3sv1 DB11]$ pwd /u02/app/oracle/diag/rdbms/db1_phx3g7/DB11
    [oracle@exacs82-vm3sv1 trace]$ tail -f alert_DB11.log 
    La sortie comprendra une ligne semblable à ce qui suit :
    PR00 (PID:253670): Media Recovery Waiting for T-1.S-125 (in transit)
  12. Dans Oracle Exadata Database Machine sur site principal, connectez-vous à sqlplus sous la forme sysdba, puis exécutez la série suivante de commandes sql pour basculer le fichier journal.
    $ sqlplus / as sysdba
    SQL> alter system switch logfile;
    SQL> /
    SQL> /
    SQL> /
  13. Dans Oracle Database Exadata Cloud Service de secours, connectez-vous en tant que sysdba, puis exécutez la série de commandes suivante.
    SQL> SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received", APPL.SEQUENCE# 
    "Last Sequence Applied", (ARCH.SEQUENCE# - APPL.SEQUENCE#) "Difference" FROM (SELECT 
    THREAD#,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT 
    THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,(SELECT THREAD# 
    ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT 
    THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE ARCH.THREAD# = 
    APPL.THREAD# ORDER BY 1;
    Thread     Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1              124                  124                  0
     2               26                   26                  0
    SQL> /
    Thread     Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1              124                124                      0
     2               26                 26                      0
    SQL> /
    Thread     Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1              130                    128                  2
     2               27                     27                  0
    SQL> /
    Thread     Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1              130                    128                  2
     2               27                     27                  0
    SQL> /
    Thread     Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1              130                    130                 0
     2               28                     28                 0
  14. Dans Oracle Database Exadata Cloud Service de secours, connectez-vous en tant que sysdba, puis exécutez la série de commandes suivante.
    SQL> alter database recover managed
          standby database cancel;
    SQL> show parameter cluster
    NAME                                 TYPE          VALUE
    ------------------------------------ ----------- ------------------------------
    cdb_cluster                           boolean        FALSE
    cdb_cluster_name                      string
    cluster_database                      boolean        FALSE
    cluster_database_instances            integer         1
    cluster_interconnects                 string         192.0.2.22:192.0.2.23
    SQL> alter system set cluster_database=TRUE scope=spfile;
    System altered.
    SQL> alter system set cluster_database=TRUE scope=spfile;
    SQL> show parameter cluster;
    NAME                                  TYPE           VALUE
    ------------------------------------ ----------- ------------------------------
    cdb_cluster                             boolean         FALSE
    cdb_cluster_name                        string
    cluster_database                        boolean         FALSE
    cluster_database_instances              integer         1
    cluster_interconnects                   string         192.0.2.22:192.0.2.23
    SQL> /
    System altered.
    SQL> show parameter pluggable;
    NAME                                 TYPE             VALUE
    ------------------------------------ ----------- ------------------------------
    enable_pluggable_database             boolean         FALSE
    SQL> shutdown;
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
  15. Dans Oracle Database Exadata Cloud Service de secours, affichez le statut des ressources et confirmez qu'elles sont toutes en ligne.
    [grid@exacs82-vm3sv1 ~]$ crsctl stat res
    La sortie inclut le type, le statut cible et l'état de chaque ressource. Par exemple :
    NAME=ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
    TYPE=ora.asm_listener.type
    TARGET=ONLINE                  , ONLINE
    STATE=ONLINE on exacs82-vm3sv1, ONLINE on exacs82-vm3sv2
    
    NAME=ora.DATAC1.ACFSVOL01.advm
    TYPE=ora.volume.type
    TARGET=ONLINE                  , ONLINE
    STATE=ONLINE on exacs82-vm3sv1, ONLINE on exacs82-vm3sv2
    
    NAME=ora.DATAC1.dg(ora.asmgroup)
    TYPE=ora.diskgroup.type
    TARGET=ONLINE                  , ONLINE
    STATE=ONLINE on exacs82-vm3sv1, ONLINE on exacs82-vm3sv2
    NAME=ora.LISTENER.lsnr
    TYPE=ora.listener.type
    TARGET=ONLINE                  , ONLINE
    STATE=ONLINE on exacs82-vm3sv1, ONLINE on exacs82-vm3sv2
    .
    .
    .
  16. Sur le serveur Oracle Database Exadata Cloud Service de secours, démarrez et montez la base de données.
    [oracle@exacs82-vm3sv1 ~]$ source DB1.env 
    [oracle@exacs82-vm3sv1 ~]$ srvctl start database -db db1_phx3g7 -startoption mount
  17. Sur le noeud 1 du Oracle Database Exadata Cloud Service de secours, connectez-vous en tant que sysdba, montez la base de données dans open_mode, puis quittez.
    oracle@exacs82-vm3sv1
    SQL> select open_mode from v$database;
    Le résultat obtenu est semblable au résultat suivant :
    OPEN_MODE
    --------------------
    MOUNTED
    SQL> exit
  18. Sur le noeud 2 du Oracle Database Exadata Cloud Service de secours, connectez-vous en tant que sysdba, montez la base de données dans open_mode, puis quittez.
    oracle@exacs82-vm3sv2
    SQL> select open_mode from v$database;
    Le résultat obtenu est semblable au résultat suivant :
    OPEN_MODE
    --------------------
    MOUNTED
    SQL> exit
  19. Déconnectez-vous de la session.
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Le résultat obtenu est semblable au résultat suivant :
  20. Dans Oracle Exadata Database Machine sur site principal, exécutez la série suivante de commandes SQL pour le fichier journal.
    SQL> alter database force logging;
    SQL> /
    SQL> /
  21. Dans Oracle Database Exadata Cloud Service de secours, connectez-vous en tant que sysdba, puis exécutez la série de commandes suivante.
    SQL> SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received", APPL.SEQUENCE# 
    "Last Sequence Applied", (ARCH.SEQUENCE# - APPL.SEQUENCE#) "Difference" FROM (SELECT 
    THREAD#,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT 
    THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,(SELECT THREAD# 
    ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT 
    THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE ARCH.THREAD# = 
    APPL.THREAD# ORDER BY 1;
    Thread     Last Sequence Received  Last Sequence Applied  Difference
    ---------- ----------------------  ---------------------  ----------
     1          161                        161                      0
     2           41                         41                      0
    SQL> /
    Thread     Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1          161                   161                      0
     2           41                   41                       0
    SQL> /
    Thread Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1          161                    161                    0
     2           41                     41                    0
    SQL> /
    Thread Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1              163                161                      2
     2               41                 41                      0
    SQL> /
    Thread Last Sequence Received Last Sequence Applied Difference
    ---------- ---------------------- --------------------- ----------
     1              163                    161                  2
     2               41                     41                  0
    SQL> /
    Thread Last  Sequence Received     Last Sequence Applied  Difference
    ----------   ---------------------- ---------------------  ----------
     1              163                    163                      0
     2               42                     42                      0
  22. Dans l'Oracle Exadata Database Machine principal sur site, vérifiez que le fichier tnsnames.ora est correctement configuré pour les éléments suivants :
    DB1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = exa11-scan1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
    (SERVICE_NAME = db1.us.osc.oracle.com)
          (INSTANCE_NAME = db12)
        )
      )
    DB1_phx3g7 =
      (DESCRIPTION =
        (SDU = 65536)
        (RECV_BUF_SIZE = 134217728)
        (SEND_BUF_SIZE = 134217728)
        (ADDRESS_LIST =
          (CONNECT_TIMEOUT = 3)
          (RETRY_COUNT = 3)
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = DB1_phx3g7.datasubnetactiv.oscphevcn.oraclevcn.com)
          (UR = A)
        )
      )
    Vérifiez tnsnames pour la base de données sur site (db1) :
    [oracle@exa11db01 admin]$ tnsping db1
    Used parameter files:
    /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = exa11-scan1)(PORT = 
    1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db1.us.osc.oracle.com) 
    (INSTANCE_NAME = db11)))
    OK (0 msec)
    Vérifiez tnsnames pour l'instance Oracle Database Exadata Cloud Service (DB1_phx3g7) :
    [oracle@exa11db01 admin]$ tnsping DB1_phx3g7
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 05-FEB-2021 16:19:15
    Copyright (c) 1997, 2020, Oracle.  All rights reserved.
    Used parameter files:
    /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (SDU = 65536) (RECV_BUF_SIZE = 134217728) 
    (SEND_BUF_SIZE = 134217728) (ADDRESS_LIST = (CONNECT_TIMEOUT = 3) (RETRY_COUNT = 3) 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))) (CONNECT_DATA = (SERVER = 
    DEDICATED) (SERVICE_NAME = DB1_phx3g7.datasubnetactiv.oscphevcn.oraclevcn.com) (UR = A)))
    OK (40 msec)
  23. Dans Oracle Database Exadata Cloud Service de secours, vérifiez que le fichier tnsnames.ora est correctement configuré pour les éléments suivants :
    db1 = 
    (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.74.18)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = db1.us.osc.oracle.com) 
    (UR=A) 
    )
             ) 
    DB1_phx3g7 =
      (DESCRIPTION =
        (SDU = 65536)
        (RECV_BUF_SIZE = 134217728)
        (SEND_BUF_SIZE = 134217728)
        (ADDRESS_LIST =
          (CONNECT_TIMEOUT = 3)
          (RETRY_COUNT = 3)
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = DB1_phx3g7.datasubnetactiv.oscphevcn.oraclevcn.com)
          (INSTANCE_NAME = DB12)
          (UR = A)
        )
      )
    Vérifiez tnsnames pour la base de données sur site (db1) :
    [oracle@exacs82-vm3sv2 DB1]$ tnsping db1
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 05-FEB-2021 16:34:59
    Copyright (c) 1997, 2020, Oracle.  All rights reserved.
    Used parameter files:
    /u02/app/oracle/product/19.0.0.0/dbhome_5/network/admin/DB1/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) (ADDRESS_LIST = (CONNECT_TIMEOUT=3)(RETRY_COUNT=3) (ADDRESS = 
    (PROTOCOL = TCP)(HOST = 10.136.74.18)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) 
    (SERVICE_NAME = db1.us.osc.oracle.com) (UR=A)))
    OK (40 msec)
    Vérifiez tnsnames pour l'instance Oracle Database Exadata Cloud Service (DB1_phx3g7) :
    [oracle@exacs82-vm3sv2 DB1]$ tnsping DB1_phx3g7
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 05-FEB-2021 16:35:15
    Copyright (c) 1997, 2020, Oracle.  All rights reserved.
    Used parameter files:
    /u02/app/oracle/product/19.0.0.0/dbhome_5/network/admin/DB1/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (SDU = 65536) (RECV_BUF_SIZE = 134217728) 
    (SEND_BUF_SIZE = 134217728) (ADDRESS_LIST = (CONNECT_TIMEOUT = 3) (RETRY_COUNT = 3) 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.195.136)(PORT = 1521))) (CONNECT_DATA = (SERVER = 
    DEDICATED) (SERVICE_NAME = DB1_phx3g7.datasubnetactiv.oscphevcn.oraclevcn.com) 
    (INSTANCE_NAME = DB12) (UR = A)))
    OK (0 msec)