Gestión de las Bases de Datos de Instantánea

Gestionar las bases de datos de instantáneas para utilizar la base de datos clonada más antigua y suprimir las instantáneas anticuadas.

Crear Base de Datos de Instantánea

Crear una base de datos de instantánea desde el maestro de prueba.

Si el maestro de prueba es una base de datos física en espera, la base de datos maestra de prueba debe tener el estado MONTADA. Si está en modo Sólo LEER, cámbielo a MONTADA antes de crear una base de datos de instantáneas. Esto no es necesario cuando se crea el maestro de prueba con la duplicación activa de RMAN o la copia de seguridad de RMAN desde la producción.
  1. Defina los parámetros y cree una base de datos de instantánea.
    Utilice las siguientes opciones de gDBClone para definir la instantánea:
    • -sdbname: nombre de la base de datos de origen
    • -tdbname: Nombre de la Base de Datos Destino
    • -tdbhome: Directorio Raíz de Base de Datos Destino
    • -racmod: tipo de Oracle RAC. Utilice 0 para una base de datos de instancia única de Oracle.
    • -syspwf: archivo de contraseña cifrado SYS
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone snap -sdbname TSTMSTR -tdbname TSTDEV -tdbhome OraDB12102_home2 -racmod 0 -syspwf /opt/gDBClone/SYS.password
  2. Ejecute el script de creación posterior a la instantánea SQL para activar las referencias externas.
    
    SQL> /u01/app/oracle/product/12.1.0.2/dbhome_2/enable_external_refs_TSTDEV_jTEm.sql
  3. Reinicie la base de datos.
    [oracle@tstmstr ~]$ srvctl stop database
          -d TSTMSTR[oracle@tstmstr ~]$ srvctl start database -d TSTMSTR
  4. Actualice el entorno para la base de datos de instantánea.
    [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. Compruebe el estado de la cartera de TDE en la base de datos de instantánea.
    La utilidad copia automáticamente los archivos de cartera de TDE del maestro de prueba en la base de datos de instantáneas.
    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. Compruebe el entorno y el estado de la base de datos de instantánea. Valide la base de datos de la instantánea y muestre los detalles de ajuste para confirmar que los parámetros son correctos.
    La instantánea debería estar en modo 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. Mostrar una lista de bases de datos para confirmar que la instantánea aparece en la lista.
    [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/
    Para mostrar la relación de hijos padre de las bases de datos, utilice la opción -tree.
    # /opt/gDBClone/gDBClone listdbs -tree
    Parent	Child
    ------	-----
    TSTMSTR
    	      TSTDEV
  8. (Opcional) Cambie el nombre de PDB de la base de datos de instantánea.
    Al crear una instantánea, la base de datos de instantánea y la base de datos de producción tienen el mismo nombre de PDB. Para entornos de desarrollo y prueba, puede cambiar el nombre de PDB de la base de datos de instantánea para que coincida con el entorno. Por ejemplo, cambie PDB1 a 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
    
Puede crear instantáneas adicionales, según sea necesario, y cambiar el nombre de los nombres de PDB para reflejar el entorno.

Visualización de una Lista de Bases de Datos de Instantánea

Mostrar detalles de las bases de datos de instantáneas que están en Oracle ASM Cluster File System (Oracle ACFS), incluida la fecha de creación, la ubicación y la cantidad de almacenamiento asignado a la instantánea.

Para obtener menos información, puede mostrar una lista de instantáneas y el maestro de prueba asociado. En este ejemplo, TSTMSTR es el servidor maestro de prueba y la base de datos de instantánea es TSTDEV.
  1. Inicie sesión en el servidor maestro de prueba como opc y, a continuación, sudo en root.
  2. Visualice las bases de datos de instantáneas que están en 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. (Opcional) Visualice una lista de bases de datos con el comando listdbs o utilice el comando listdbs -tree para mostrar una base de datos maestra de prueba y las bases de datos de clonación de ajuste asociadas.
    Si utiliza el comando listdbs -tree, las bases de datos aparecen en un formato de árbol con la relación de bases de datos principales y secundarias.
    
    [root@sdbm1 gDBClone]# /opt/gDBClone/gDBClone listdbs -tree
    Parent  Child
    ------  -----
    SDBM2
            SDBC1
    

Supresión de una Base de Datos de Instantánea

Suprimir y anular el registro de una base de datos de instantánea.

Para crear una instantánea nueva desde el maestro de prueba, suprima la instantánea existente y cree una nueva con el método configurado para clonar la base de datos de producción.
  1. Inicie sesión en el servidor maestro de prueba como opc y, a continuación, sudo en root.
  2. Suprima y anule el registro de la base de datos de instantánea. Introduzca Y para confirmar que desea suprimir o borrar la base de datos.
    Si no utiliza la opción -force, Oracle Database Configuration Assistant (DBCA) suprime la base de datos.
    [root@tstmstr gDBClone]# /opt/gDBClone deldb -tdbname TESTDEV -syspwf /opt/gDBClone/SYS.password -force
  3. (Opcional) Visualice una lista de bases de datos y confirme que la base de datos suprimida no aparece en la lista.
    root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs