Gestion des bases de données de clichés

Gérez vos bases de données de clichés pour utiliser la base de données de clone léger la plus récente et supprimer les clichés obsolètes.

Créer une base de données de clichés

Créez une base de données de cliché à partir du maître de test.

Si la base de données maître de test est une base de données de secours physique, son état doit être MONTE. S'il est en mode lecture seule, remplacez cette valeur par MOUNTED avant de créer une base de données de clichés. Cette opération n'est pas obligatoire lorsque la base de données maître de test est créée avec une sauvegarde RMAN active ou une duplication RMAN à partir de la production.
  1. Définissez les paramètres et créez une base de données de cliché.
    Utilisez les options gDBClone suivantes pour définir le cliché :
    • -sdbname : nom de la base de données source
    • -tdbname : nom de la base de données cible
    • -tdbhome : répertoire de base de la base de données cible
    • -racmod : type Oracle RAC. Utilisez la valeur 0 pour une base de données mono-instance Oracle.
    • -syspwf : fichier de mots de passe cryptés SYS
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone snap -sdbname TSTMSTR -tdbname TSTDEV -tdbhome OraDB12102_home2 -racmod 0 -syspwf /opt/gDBClone/SYS.password
  2. Exécutez le script SQL de post-création de cliché pour activer les références externes.
    
    SQL> /u01/app/oracle/product/12.1.0.2/dbhome_2/enable_external_refs_TSTDEV_jTEm.sql
  3. Redémarrez la base de données.
    [oracle@tstmstr ~]$ srvctl stop database
          -d TSTMSTR[oracle@tstmstr ~]$ srvctl start database -d TSTMSTR
  4. Mettez à jour l'environnement de la base de données de clichés.
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTDEV
    TSTDEV:
    [oracle@tstmstr ~]$ srvctl setenv database -d TSTDEV -envs "ORACLE_UNQNAME=TSTDEV,TZ=UTC"
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTDEV
    TSTDEV:
    ORACLE_UNQNAME=TSTDEV
    TZ=UTC
  5. Vérifiez le statut du portefeuille TDE dans la base de données de cliché.
    L'utilitaire copie automatiquement les fichiers de portefeuille TDE à partir du maître de test vers la base de données de clichés.
    SQL> set linesize 180
    SQL> col wrl_parameter format a80
    SQL> 
    SQL> select * from v$encryption_wallet;
    
    WRL_TYPW  WRL_PARAMETER					    STATUS   WALLET_TYPE  WALLET_OR FULLY_BAC CON_ID
    -------- --------------------------------------------------  ------- ------------- --------- ----------- ------
    FILE	/opt/oracle/dcs/commonstore/wallets/tde/TSTDEV/    OPEN     UNKNOWN      SINGLE     NO         0
    SQL> 
  6. Vérifiez l'environnement et le statut de la base de données de clichés. Valider la base de données de clichés et afficher les détails de la sélection pour confirmer que les paramètres sont corrects.
    Le cliché doit être en mode READ WRITE.
    [oracle@tstmstr ~]$ . oraenv
    ORACLE_SID = [oracle] ? TSTDEV
    The Oracle base has been set to /u01/app/oracle
    [oracle@tstmstr ~]$ sqlplus / as sysdba
    
    SQL> select name,open_mode from v$database;
    
    SQL> select file_name from dba_data_files;
  7. Affichez la liste des bases de données pour confirmer que le cliché apparaît dans la liste.
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs
    Database Name    Database Type   Database Role      Master/Snapshot  Location/Parent
    -------------    -------------   -------------      ---------------  ---------------
    TSTDEV           SINGLE          PRIMARY            Snapshot         TSTMSTR        
    ORCL_iad1hb      SINGLE          PRIMARY            n/a              ASM            
    TSTMSTR          SINGLE          PRIMARY            Master           /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/
    Pour afficher la relation parent-enfant entre les bases de données, utilisez l'option -tree.
    # /opt/gDBClone/gDBClone listdbs -tree
    Parent	Child
    ------	-----
    TSTMSTR
    	      TSTDEV
  8. (Facultatif) Modifiez le nom de la base de données pluggable de la base de données de cliché.
    Lorsque vous créez un cliché, la base de données de cliché et la base de données de production portent le même nom de base de données pluggable. Pour les environnements de développement et de test, vous pouvez modifier le nom de base de données pluggable de base de données de cliché pour qu'il corresponde à l'environnement. Par exemple, remplacez PDB1 par PDBDEV.
    
    [oracle@tstmstr ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 12.1.0.2.0 Production on Thu Oct 3 07:52:30 2019
    
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 12c EE High Perf Release 12.1.0.2.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP, Advanced Analytics
    and Real Application Testing options
    
    SQL> select name,open_mode from v$database;
    
    NAME	  OPEN_MODE
    --------- --------------------
    TSTDEV   READ WRITE
    
    SQL> alter pluggable database PDB1 close immediate;
    
    Pluggable database altered.
    
    SQL> alter pluggable database PDB1 open restricted;
    
    Pluggable database altered.
    
    SQL> alter session set container=PDB1;
    
    Session altered.
    
    SQL> alter pluggable database PDB1 rename global_name to PDBDEV;
    
    Pluggable database altered.
     
    SQL> connect / as sysdba
    Connected.
    SQL> show pdbs
    
        CON_ID CON_NAME		       OPEN MODE  RESTRICTED
    ---------- ---------------------------- ---------- ----------
    	 2 PDB$SEED			  MOUNTED
    	 3 PDBDEV			    READ WRITE YES
    SQL> alter pluggable database PDBDEV close immediate;
    
    Pluggable database altered.
    
    SQL> alter pluggable database PDBDEV open;
    
    Pluggable database altered.
    
    SQL> show pdbs
    
        CON_ID CON_NAME			  OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
    	 2 PDB$SEED			  MOUNTED
    	 3 PDBDEV			  READ WRITE NO
    
Si nécessaire, vous pouvez créer des clichés supplémentaires et renommer les bases de données pluggables pour refléter l'environnement.

Afficher la liste des bases de données de clichés

Afficher les détails de vos bases de données de clichés qui se trouvent sur Oracle ASM Cluster File System (Oracle ACFS), y compris la date de création, l'emplacement et la quantité de stockage allouée au cliché.

Pour moins de détails, vous pouvez afficher la liste des clichés et du maître de test associé. Dans cet exemple, TSTMSTR est le serveur maître de test et la base de données de cliché est TSTDEV.
  1. Connectez-vous au serveur maître de test en tant qu'utilisateur opc, puis sudo à root.
  2. Afficher les bases de données de clichés qui se trouvent dans Oracle ACFS.
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listsnaps -dataacfs /u02/app/oracle/oradata/TSTMSTR 
    snapshot name: TSTMSTR
    snapshot location: /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/TSTMSTR
    RO snapshot or RW snapshot: RW
    parent name: /u02/app/oracle/oradata/TSTMSTR
    snapshot creation time: Wed Oct  9 07:42:06 2019
    file entry table allocation: 8650752 ( 8.25 MB )
    storage added to snapshot:   4295647232 ( 4.00 GB )
    
    snapshot name: TSTDEV
    snapshot location: /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/TSTDEV
    RO snapshot or RW snapshot: RW
    parent name: TSTMSTR
    snapshot creation time: Wed Oct  9  07:58:14 2019
    file entry table allocation: 8650752   ( 8.25 MB )
    storage added to snapshot: 250892288   ( 239.27 MB )    
    number of snapshots: 2    
    snapshot space usage: 4550168576  ( 4.24 GB )
    [root@tstmstr gDBClone]#
        
  3. (Facultatif) Affichez la liste des bases de données à l'aide de la commande listdbs ou utilisez la commande listdbs -tree pour afficher une base de données maître de test et les bases de données Snap Clone associées.
    Si vous utilisez la commande listdbs -tree, les bases de données apparaissent sous la forme d'une arborescence, montrant la relation entre les bases de données parent et enfant.
    
    [root@sdbm1 gDBClone]# /opt/gDBClone/gDBClone listdbs -tree
    Parent  Child
    ------  -----
    SDBM2
            SDBC1
    

Supprimer une base de données de clichés

Supprimez et désinscrivez une base de données de cliché.

Pour créer un cliché récent à partir du maître de test, supprimez le cliché existant et créez un cliché à l'aide de la méthode que vous avez configurée pour cloner la base de données de production.
  1. Connectez-vous au serveur maître de test en tant qu'utilisateur opc, puis sudo à root.
  2. Supprimez et désinscrivez la base de données de cliché. Entrez Y pour confirmer la suppression de la base de données.
    Si vous n'utilisez pas l'option -force, Oracle Database Configuration Assistant (DBCA) supprime la base de données.
    [root@tstmstr gDBClone]# /opt/gDBClone deldb -tdbname TESTDEV -syspwf /opt/gDBClone/SYS.password -force
  3. (Facultatif) Affichez la liste des bases de données et confirmez que la base de données supprimée n'apparaît pas dans la liste.
    root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs