Criar uma Matriz de Testes

Determine o melhor método de clonagem de dados para cada um de seus ambientes de desenvolvimento e teste com base na frequência e na rapidez com que você precisa de informações atualizadas.

Verifique as diretrizes de frequência de atualização de dados a seguir para ajudá-lo a determinar o melhor método de clonagem do banco de dados de produção para criar seu Teste Mestre:

  • Atualizações frequentes (diariamente, semanalmente): Crie um Teste Mestre como um banco de dados stand-by físico
  • Atualizações regulares (quinzenais, mensalmente): Crie um Test Master a partir de um banco de dados ativo usando RMAN DUPLICATE
  • Atualizações Ocasionais (trimestralmente, semestralmente): Crie um Teste Mestre usando o backup completo do banco de dados RMAN

Criar uma Matriz de Testes como um Banco de Dados Stand-by Físico

Crie um Teste Mestre que seja um banco de dados stand-by físico quando você precisar sempre ser sincronizado com a produção.

O stand-by físico é o Test Master para criar snapshots, não use o Test Master para recuperação de acidentes. Os snapshots são criados no mesmo servidor que o Test Master no Oracle ACFS.

Este exemplo usa a versão 12.1.0.2 do Oracle Database com os seguintes nomes:

  • Instância do banco de dados de produção de origem: PRODDB (o nome do PDB é PDB1)
  • Instância do banco de dados de Matriz de Testes: TSTMSTR (o nome do PDB é PDB1)
Adicione a entrada de nome de host de Matriz de Testes ao diretório /etc/hosts do banco de dados de produção, configure as portas no Test Master e configure o Oracle Data Guard entre os bancos de dados de Produção e Matriz de Testes.
  1. Clone o banco de dados de produção para criar um Teste Mestre como um banco de dados stand-by físico.

    Use as seguintes opções de gDBClone para criar um banco de dados stand-by físico:

    • -sdbname: Nome do Banco de Dados de Origem
    • -sdbscan: Nome SCAN do Host do BD de Origem
    • -sdbport: Porta do Listener SCAN de Origem (default 1521)
    • -tdbname: Nome do Banco de Dados Alvo
    • -tdbhome: Home do Banco de Dados de Destino
    • -tdbport: Porta do Listener SCAN Alvo (default 1521)
    • -racmod: tipo Oracle RAC, use 0 para um banco de dados Oracle Single Instance
    • -dataacfs: Arquivos de dados do banco de dados alvo Oracle ACFS armazenamento
    • -redoacfs: redologs do banco de dados para armazenamento do Oracle ACFS (default dataacfs)
    • -recoacfs: Armazenamento do Oracle ACFS do alvo de recuperação do banco de dados (default dataacfs)
    • -channels: canais alocados pelo RMAN (padrão 3)
    • -standby: O clone (snap) é um banco de dados stand-by físico
    • -pmode: As opções de modo stand-by são maxperf, maxavail e maxprot (padrão maxperf)
    • -activedg: Ativar Data Guard Ativo
    • -syspwf: arquivo de senha criptografado SYS
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone clone -sdbname PRODDB_iad1df.bass1.ebsvcn.examplevcn.com -sdbscan proddb.bass1.ebsvcn.examplevcn.com sdbport 1521 -tdbname TSTMSTR -tdbhome OraDB12102_home2 -tdomain bass1.ebsvcn.examplevcn.com -tdbport 1521 -racmod 0 -dataacfs /u02/app/oracle/oradata/TSTMSTR -redoacfs /u03/app/oracle/redo -recoacfs /u03/app/oracle/fast_recovery_area -channels 2 -standby -pmode maxperf -activedg -rtapply -noping -syspwf /opt/gDBClone/SYS.password
  2. Verifique se as informações do banco de dados de Matriz de Testes são precisas.
    [oracle@tstmstr TSTMSTR]$ cat /etc/oratab|grep -i TSTMSTR
  3. Exiba uma lista dos bancos de dados usando o comando gDBClone listdbs para confirmar se a atribuição e a localização estão corretas para o banco de dados stand-by.
    Use o comando gDBClone listdbs -tree para exibir relacionamentos pai/filho.
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs
    Database Name    Database Type   Database Role      Master/Snapshot  Location/Parent
    -------------    -------------   -------------      ---------------  ---------------
    ORCL_iad1hb      SINGLE          PRIMARY            n/a              ASM            
    TSTMSTR          SINGLE          PHYSICAL_STANDBY   Master           /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/
    
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs -tree
    Parent	Child
    ------	-----
    TSTMSTR
  4. Defina as variáveis de ambiente do cluster para o Test Master.
    Configure o Test Master para ser um banco de dados stand-by físico somente para leitura.
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    [oracle@tstmstr ~]$ 
    [oracle@tstmstr ~]$ srvctl setenv database -d TSTMSTR -envs "ORACLE_UNQNAME=TSTMSTR,TZ=UTC"
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    ORACLE_UNQNAME=TSTMSTR
    TZ=UTC
    [oracle@tstmstr ~]$ 
    
    [oracle@tstmstr ~]$ . oraenv
    ORACLE_SID = [oracle] ? TSTMSTR
    The Oracle base has been set to /u01/app/oracle
    [oracle@tstmstr ~]$ srvctl config database -d TSTMSTR
    Database unique name: TSTMSTR
    Database name: 
    Oracle home: /u01/app/oracle/product/12.1.0.2/dbhome_2
    Oracle user: oracle
    Spfile: /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/TSTMSTR/TSTMSTR/spfileTSTMSTR.ora
    Password file: 
    Domain: bass1.ebsvcn.examplevcn.com
    Start options: read only
    Stop options: immediate
    Database role: PHYSICAL_STANDBY
    Management policy: AUTOMATIC
    Server pools: 
    Disk Groups: 
    Mount point paths: /u02/app/oracle/oradata/TSTMSTR,/u03/app/oracle/
    Services: 
    Type: SINGLE
    OSDBA group: dba
    OSOPER group: dbaoper
    Database instance: TSTMSTR
    Configured nodes: tstmstr
    Database is administrator managed
    [oracle@tstmstr ~]$
  5. Reinicie o banco de dados de Matriz de Testes.
    
    [oracle@tstmstr ~]$ srvctl stop database -d TSTMSTR
    [oracle@tstmstr ~]$ srvctl start database -d TSTMSTR
  6. Verifique o status da wallet TDE no banco de dados de Matriz de Testes.
    O status da wallet deve ser OPEN e o tipo da wallet deve ser AUTOLOGIN.
    [oracle@tstmstr ~]$ export 
    ORACLE_UNQNAME=TSTMSTR
    [oracle@tstmstr ~]$ sqlplus / as sysdba
    SQL*Plus: Release 12.1.0.2.0 Production on Thu Sep 30 06:44:14 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> set linesize 180
    SQL> col wrl_parameter format a80
    SQL> select * from v$encryption_wallet;
    
    WRL_TYPE   WRL_PARAMETER                                      STATUS       WALLET_TYPE  WALLET_OR  FULLY_BAC   CON_ID
    --------  ------------ -------------------------------------  -----------  -----------  ---------  ---------   -------
    FILE      /opt/oracle/dcs/commonstore/wallets/tde/TSTMSTR/    OPEN         AUTOLOGIN    SINGLE     NO         0
    
  7. Verifique o status do banco de dados de Matriz de Testes.
    SQL> select name,open_mode,database_role from v$database;
    
    NAME	  OPEN_MODE	       DATABASE_ROLE
    --------- -------------------- ----------------
    PRODDB	  MOUNTED	       PHYSICAL STANDBY
    
    SQL> show pdbs
    
        CON_ID CON_NAME			  OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
    	 2 PDB$SEED			  MOUNTED
    	 3 PDB1 			     MOUNTED
    
  8. Verifique se o stand-by físico está sincronizado com a produção.
    Você pode alternar alguns arquivos de log na produção e verificar se redo está sendo transportado e aplicado no banco de dados de Matriz de Testes.
    SQL> select sequence#,archived,applied from v$archived_log order by sequence#;
    
O Test Master é um banco de dados stand-by físico e está sincronizado com o banco de dados de produção. Você pode criar um snapshot do banco de dados a qualquer momento.

Criar um Test Master com base em um Banco de Dados Ativo

Crie um clone de banco de dados a partir de um banco de dados de produção on-line usando o RMAN (Oracle Recovery Manager) Active Duplication quando precisar atualizar um ambiente de teste regularmente.

Este exemplo usa a versão 12.1.0.2 do Oracle Database com os seguintes nomes:

  • Instância do banco de dados de produção de origem: PRODDB (o nome do PDB é PDB1)
  • Instância do banco de dados de Matriz de Testes: TSTMSTR (o nome do PDB é PDB1)
Adicione o Teste Mestre ao diretório, configure a porta e configure o Oracle Data Guard na instância do banco de dados de Produção.
  1. Criar uma Matriz de Testes usando a Duplicação Ativa do RMAN.

    Use as seguintes opções gDBClone para criar um banco de dados stand-by físico:

    • -sdbname: Nome do Banco de Dados de Origem
    • -sdbscan: Nome SCAN do Host do BD de Origem
    • -sdbport: Porta do Listener SCAN de Origem (default 1521)
    • -tdbname: Nome do Banco de Dados Alvo
    • -tdbhome: Home do Banco de Dados de Destino
    • -tdbport: Porta do Listener SCAN Alvo (default 1521)
    • -racmod: tipo Oracle RAC, use 0 para um banco de dados Oracle Single Instance
    • -dataacfs: Arquivos de dados do banco de dados alvo Oracle ACFS armazenamento
    • -redoacfs: redologs do banco de dados para armazenamento do Oracle ACFS (default dataacfs)
    • -recoacfs: Armazenamento do Oracle ACFS do alvo de recuperação do banco de dados (default dataacfs)
    • -channels: canais alocados pelo RMAN (padrão 3)
    • -standby: O clone (snap) é um banco de dados stand-by físico
    • -pmode: As opções do modo stand-by são maxperf, maxavail e maxprot (default maxperf)
    • -activedg: Ativar Data Guard Ativo
    • -syspwf: arquivo de senha criptografado SYS
    root@tstmstr gDBClone]# /opt/gDBClone/gDBClone clone -sdbname PRODDB_iad1df.bassubad1.ebsvcn.oraclevcn.com -sdbscan proddb.bassubad1.ebsvcn.oraclevcn.com sdbport 1521 -tdbname TSTMSTR -tdbhome OraDB12102_home2 -tdomain bassubad1.ebsvcn.oraclevcn.com -tdbport 1521 -racmod 0 -dataacfs /u02/app/oracle/oradata/TSTMSTR -redoacfs /u03/app/oracle/redo -recoacfs /u03/app/oracle/fast_recovery_area -channels 2 -noping -syspwf /opt/gDBClone/SYS.password
    
  2. Verifique se as informações do banco de dados de Matriz de Testes são precisas.
    [oracle@tstmstr TSTMSTR]$ cat /etc/oratab|grep -i TSTMSTR
  3. Exiba uma lista dos bancos de dados usando o comando gDBClone listdbs para confirmar se a atribuição e a localização estão corretas para o banco de dados stand-by.
    Use o comando gDBClone listdbs -tree para exibir relacionamentos pai/filho.
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs
    Database Name    Database Type   Database Role      Master/Snapshot  Location/Parent
    -------------    -------------   -------------      ---------------  ---------------
    ORCL_iad1hb      SINGLE          PRIMARY            n/a              ASM            
    TSTMSTR          SINGLE          PRIMARY            Master           /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/
    
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs -tree
    Parent	Child
    ------	-----
    TSTMSTR
  4. Defina as variáveis de ambiente do cluster para o Test Master.
    Configure o Test Master para ser um banco de dados stand-by físico somente para leitura.
    
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    [oracle@tstmstr ~]$ 
    [oracle@tstmstr ~]$ srvctl setenv database -d TSTMSTR -envs "ORACLE_UNQNAME=TSTMSTR,TZ=UTC"
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    ORACLE_UNQNAME=TSTMSTR
    TZ=UTC
    [oracle@tstmstr ~]$ 
    
    [oracle@tstmstr ~]$ . oraenv
    ORACLE_SID = [oracle] ? TSTMSTR
    The Oracle base has been set to /u01/app/oracle
    [oracle@tstmstr TSTMSTR]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    ORACLE_UNQNAME=TSTMSTR
    TZ=UTC
    [oracle@tstmstr TSTMSTR]$ srvctl config database -d TSTMSTR
    Database unique name: TSTMSTR
    Database name: 
    Oracle home: /u01/app/oracle/product/12.1.0.2/dbhome_2
    Oracle user: oracle
    Spfile: /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/TSTMSTR/TSTMSTR/spfileTSTMSTR.ora
    Password file: 
    Domain: 
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools: 
    Disk Groups: 
    Mount point paths: /u02/app/oracle/oradata/TSTMSTR,/u03/app/oracle/
    Services: 
    Type: SINGLE
    OSDBA group: dba
    OSOPER group: dbaoper
    Database instance: TSTMSTR
    Configured nodes: tstmstr
    Database is administrator managed
    [oracle@tstmstr TSTMSTR]$ 
    
  5. Reinicie o banco de dados de Matriz de Testes.
    [oracle@tstmstr ~]$ srvctl stop database -d TSTMSTR
    [oracle@tstmstr ~]$ srvctl start database -d TSTMSTR
  6. Verifique o status da wallet TDE (Transparent Data Encryption) no banco de dados de Teste Mestre.
    O status da wallet deve ser OPEN e o tipo da wallet deve ser AUTOLOGIN.
    [oracle@tstmstr ~]$ export ORACLE_UNQNAME=TSTMSTR
    [oracle@tstmstr ~]$ sqlplus / as sysdba
    SQL*Plus: Release 12.1.0.2.0 Production on Thu Sep 30 06:44:14 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> set linesize 180
    SQL> col wrl_parameter format a80
    SQL> select * from v$encryption_wallet;
    
    WRL_TYPE   WRL_PARAMETER					   STATUS	WALLET_TYPE   WALLET_OR   FULLY_BAC   CON_ID
    --------   -------------------------------------------------  ----------- -------------  ---------   ----------- -------
    FILE	/opt/oracle/dcs/commonstore/wallets/tde/TSTMSTR/   OPEN	 AUTOLOGIN      SINGLE      NO	   0
    
  7. Verifique o status do banco de dados de Matriz de Testes e confirme se os bancos de dados plugáveis (PDBs) estão montados.
    SQL> select name,open_mode,database_role from v$database;
    
    NAME	  OPEN_MODE	       DATABASE_ROLE
    --------- -------------------- ----------------
    TSTMSTR   READ WRITE	       PRIMARY
    
    SQL> show pdbs
    
        CON_ID CON_NAME			  OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
    	 2 PDB$SEED			  MOUNTED
    	 3 PDB1 			     MOUNTED
    
Quando o Test Master estiver disponível, você poderá criar um banco de dados de thin clone (snapshot). Quando o Test Master estiver desatualizado, atualize o Banco de Dados Mestre clone do banco de dados de produção antes de criar um snapshot.

Criar uma Matriz de Testes com base em um Backup Completo do Banco de Dados

Crie uma cópia de backup completo do banco de dados de produção de origem no serviço Oracle Cloud Infrastructure File Storage quando o Test Master exigir atualizações ocasionais. Crie o backup com o Oracle Recovery Manager (RMAN) Active Duplication e monte o backup no Test Master Server.

Este exemplo usa a versão 12.1.0.2 do Oracle Database com os seguintes nomes:

  • Instância do banco de dados de produção de origem: PRODDB (o nome do PDB é PDB1)
  • Instância do banco de dados de Matriz de Testes: TSTMSTR (o nome do PDB é PDB1)
  1. Crie um backup do banco de dados de produção configurando o ambiente de clonagem e clonando o banco de dados usando o RMAN.
    Use as seguintes opções de gDBClone:
    • -sdbname: Nome do Banco de Dados de Origem
    • -sbckloc: Localização do Backup Completo do RMAN de Origem
    • -tdbname: Nome do Banco de Dados Alvo
    • -tdbhome: Home do Banco de Dados de Destino
    • -sdbport: Porta do Listener SCAN de Origem (default 1521)
    • -racmod: Modelo do Oracle Real Application Clusters (Oracle RAC), use 0 para um banco de dados Oracle Single Instance
    • -dataacfs: Arquivos de dados do banco de dados alvo Oracle ASM Cluster File System (Oracle ACFS)
    • -redoacfs: Banco de dados redo registra o armazenamento do Oracle ACFS de destino (default dataacfs)
    • -recoacfs: Armazenamento do Oracle ACFS do alvo de recuperação do banco de dados (default dataacfs)
    • -channels: canais alocados pelo RMAN (padrão 3)
    • -syspwf: arquivo de senha criptografado SYS
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone clone -sdbname TSTMSTR -sbckloc '/mnt/fss/dbbackup'  -tdbname TSTDEV -tdbhome OraDB12102_home2 -tdbport 1521 -racmod 0 -dataacfs /u02/app/oracle/oradata/TSTMSTR -redoacfs /u03/app/oracle/redo -recoacfs /u03/app/oracle/fast_recovery_area -channels 2 -noping -syspwf /opt/gDBClone/SYS.password
    O script valida a configuração, configura o ambiente de clonagem e cria um banco de dados de clonagem.
  2. Verifique se as informações do banco de dados de Matriz de Testes são precisas.
    [oracle@tstmstr TSTMSTR]$ cat /etc/oratab|grep -i TSTMSTR
    
  3. Exiba uma lista dos bancos de dados usando o comando gDBClone listdbs para confirmar se a atribuição e a localização estão corretas para o banco de dados stand-by.
    Use o comando gDBClone listdbs -tree para exibir relacionamentos pai/filho.
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs
    Database Name    Database Type   Database Role      Master/Snapshot  Location/Parent
    -------------    -------------   -------------      ---------------  ---------------
    ORCL_iad1hb      SINGLE          PRIMARY            n/a              ASM            
    TSTMSTR          SINGLE          PRIMARY            Master           /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/
    [root@tstmstr gDBClone]# 
    
    [root@tstmstr gDBClone]# /opt/gDBClone/gDBClone listdbs -tree
    Parent	Child
    ------	-----
    TSTMSTR
    
  4. Defina os parâmetros de ambiente do cluster para o banco de dados de Matriz de Testes.
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    [oracle@tstmstr ~]$ 
    [oracle@tstmstr ~]$ srvctl setenv database -d TSTMSTR -envs "ORACLE_UNQNAME=TSTMSTR,TZ=UTC"
    [oracle@tstmstr ~]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    ORACLE_UNQNAME=TSTMSTR
    TZ=UTC
    [oracle@tstmstr ~]$ 
    
    [oracle@tstmstr ~]$ . oraenv
    ORACLE_SID = [oracle] ? TSTMSTR
    The Oracle base has been set to /u01/app/oracle
    [oracle@tstmstr TSTMSTR]$ srvctl getenv database -d TSTMSTR
    TSTMSTR:
    ORACLE_UNQNAME=TSTMSTR
    TZ=UTC
    [oracle@tstmstr TSTMSTR]$ srvctl config database -d TSTMSTR
    Database unique name: TSTMSTR
    Database name: 
    Oracle home: /u01/app/oracle/product/12.1.0.2/dbhome_2
    Oracle user: oracle
    Spfile: /u02/app/oracle/oradata/TSTMSTR/.ACFS/snaps/TSTMSTR/TSTMSTR/spfileTSTMSTR.ora
    Password file: 
    Domain: 
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools: 
    Disk Groups: 
    Mount point paths: /u02/app/oracle/oradata/TSTMSTR,/u03/app/oracle/
    Services: 
    Type: SINGLE
    OSDBA group: dba
    OSOPER group: dbaoper
    Database instance: TSTMSTR
    Configured nodes: tstmstr
    Database is administrator managed
    [oracle@tstmstr TSTMSTR]$ 
    
  5. Reiniciar banco de dados de Matriz de Testes
    
    [oracle@tstmstr ~]$ srvctl stop database -d TSTMSTR
    [oracle@tstmstr ~]$ srvctl start database -d TSTMSTR
  6. Verifique o status da wallet TDE (Transparent Data Encryption) no banco de dados de Teste Mestre.
    A wallet deve ser ABERTA com AUTOLOGIN.
    [oracle@tstmstr ~]$ export ORACLE_UNQNAME=TSTMSTR
    [oracle@tstmstr ~]$ sqlplus / as sysdba
    SQL*Plus: Release 12.1.0.2.0 Production on Thu Sep 30 06:44:14 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> set linesize 180
    SQL> col wrl_parameter format a80
    SQL> select * from v$encryption_wallet;
    
    WRL_TYPE    WRL_PARAMETER					    STATUS	WALLET_TYPE	   WALLET_OR  FULLY_BAC   CON_ID
    --------    -------------------------------------------------   ----------- -------------------- ---------   ----------- -------
    FILE	 /opt/oracle/dcs/commonstore/wallets/tde/TSTMSTR/    OPEN	 AUTOLOGIN	      SINGLE     NO	   0
    
  7. Verifique o status do banco de dados do Test Master e confirme se os bancos de dados plugáveis (PDBs) estão montados.
    O banco de dados TSTMSTR deve estar no modo de gravação e no estado MOUNTED.
    SQL> select name,open_mode,database_role from v$database;
    
    NAME	  OPEN_MODE	  DATABASE_ROLE
    --------- -------------------- ----------------
    TSTMSTR   READ WRITE	    PRIMARY
    SQL> 
    SQL> show pdbs
    
        CON_ID CON_NAME			 OPEN MODE  RESTRICTED
    ---------- ----------------------------- ---------- ----------
    	 2 PDB$SEED			  MOUNTED
    	 3 PDB1 			     MOUNTED
    
O Test Master é uma cópia de backup completa do banco de dados de produção de origem.
Crie um snapshot do banco de dados. Quando o Test Master estiver desatualizado, atualize o Banco de Dados Mestre de Teste de backup do banco de dados de produção antes de criar um snapshot.