Gerenciar Seus Bancos de Dados de Snapshot

Gerencie seus bancos de dados de snapshot para usar o banco de dados de clone mais atual e exclua snapshots desatualizados.

Criar um Banco de Dados de Snapshot

Crie um banco de dados de snapshot com base na Matriz de Testes.

Se o Test Master for um stand-by físico, o banco de dados Test Master deverá estar no estado MOUNTED. Se estiver no modo Somente LEITURA, altere-o para MOUNTED antes de criar um banco de dados de snapshot. Isso não é necessário quando o Test Master é criado com duplicação ativa do RMAN ou backup do RMAN da produção.
  1. Defina os parâmetros e crie um banco de dados de snapshot.
    Use as seguintes opções de gDBClone para definir o instantâneo:
    • -sdbname: Nome do Banco de Dados de Origem
    • -tdbname: Nome do Banco de Dados Alvo
    • -tdbhome: Home do Banco de Dados de Destino
    • -racmod: tipo Oracle RAC. Use 0 para um banco de dados Oracle Single Instance.
    • -syspwf: arquivo de senha criptografado SYS
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone snap -sdbname TSTMSTR -tdbname TSTDEV -tdbhome OraDB12102_home2 -racmod 0 -syspwf /opt/gDBClone/SYS.password
  2. Execute o script SQL de criação de pós-snapshot para ativar referências externas.
    
    SQL> /u01/app/oracle/product/12.1.0.2/dbhome_2/enable_external_refs_TSTDEV_jTEm.sql
  3. Reinicie o banco de dados.
    [oracle@tstmstr ~]$ srvctl stop database
          -d TSTMSTR[oracle@tstmstr ~]$ srvctl start database -d TSTMSTR
  4. Atualize o ambiente para o banco de dados de snapshot.
    [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. Verifique o status da wallet de TDE no banco de dados do snapshot.
    O utilitário copia automaticamente os arquivos de wallet do TDE da Matriz de Testes para o banco de dados de snapshot.
    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. Verifique o ambiente e o status do banco de dados Snapshot. Valide o banco de dados de snapshot e exiba os detalhes de snapshot para confirmar se os parâmetros estão corretos.
    O snapshot deve estar no 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. Exiba uma lista de bancos de dados para confirmar se o snapshot aparece na 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 exibir o relacionamento filho pai dos bancos de dados, use a opção -tree.
    # /opt/gDBClone/gDBClone listdbs -tree
    Parent	Child
    ------	-----
    TSTMSTR
    	      TSTDEV
  8. (Opcional) Altere o nome do PDB do banco de dados de snapshot.
    Quando você cria um snapshot, o banco de dados de snapshot e o banco de dados de produção têm o mesmo nome do PDB. Para ambientes de desenvolvimento e teste, você pode alterar o nome do PDB do banco de dados de snapshot para coincidir com o ambiente. Por exemplo, altere PDB1 para 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
    
Você pode criar snapshots adicionais, conforme necessário, e renomear os nomes do PDB para refletir o ambiente.

Exibir uma Lista de Bancos de Dados de Snapshot

Exibir detalhes dos seus bancos de dados de snapshot que estão no Oracle ASM Cluster File System (Oracle ACFS), incluindo a data de criação, o local e o volume de armazenamento alocado para o snapshot.

Para obter menos detalhes, você pode exibir uma lista de snapshots e a Matriz de Testes associada. Neste exemplo, TSTMSTR é o servidor de Teste Mestre e o banco de dados de snapshot é TSTDEV.
  1. Efetue log-in no Servidor de Teste Mestre como opc e, em seguida, sudo para raiz.
  2. Exibe os bancos de dados do snapshot que estão no 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) Exiba uma lista de bancos de dados usando o comando listdbs ou use o comando listdbs -tree para exibir um banco de dados de Matriz de Testes e os bancos de dados de snap clone associados.
    Se você usar o comando listdbs -tree, os bancos de dados aparecerão em um formato de árvore mostrando o relacionamento dos bancos de dados pai e filho.
    
    [root@sdbm1 gDBClone]# /opt/gDBClone/gDBClone listdbs -tree
    Parent  Child
    ------  -----
    SDBM2
            SDBC1
    

Excluir um Banco de Dados de Snapshot

Excluir e cancelar o registro de um banco de dados de snapshot.

Para criar um novo snapshot a partir do Test Master, delete o snapshot existente e crie um novo snapshot usando o método que você configurou para clonar seu banco de dados de produção.
  1. Efetue log-in no Servidor de Teste Mestre como opc e, em seguida, sudo para raiz.
  2. Excluir e cancelar o registro do banco de dados de snapshot. Digite Y para confirmar que você deseja deletar ou eliminar o banco de dados.
    Se você não usar a opção -force, o Oracle Database Configuration Assistant (DBCA) excluirá o banco de dados.
    [root@tstmstr gDBClone]# /opt/gDBClone deldb -tdbname TESTDEV -syspwf /opt/gDBClone/SYS.password -force
  3. (Opcional) Exiba uma lista de bancos de dados e confirme que o banco de dados excluído não aparece na lista.
    root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs