• atendimento@beg.inf.br 
  • (51) 3562-3705 
  • Joaquim Pedro Soares 500, Sala 44 - Centro, Novo Hamburgo - RS - CEP: 93510-320
Quarta, 01 Julho 2015 20:31

Oracle Database Appliance - Criando ambiente de Desenvolvimento/Testes em minutos

Escrito por 

 Uma das tarefas mais corriqueiras no dia a dia de nossa equipe, é a atualização/criação de ambientes de Dev/Testes para nossos clientes. Existem aqueles clientes que possuem equipe interna de desenvolvimento, onde essa base é tão fundamental quanto a base de produção (na visão do Gerente de Desenvolvimento é claro). 

Muitas vezes, uma adição de datafile no ambiente de produção, sem a devida atenção, faz com que aquele velho script de "duplicate" da madrugada, com o backup anterior a essa adição, não execute com sucesso ! Pronto, iniciamos o dia com stress !!! 

O gerente de desenvolvimento não aceita a base Dev/Testes fora, passa para o Gestor de TI que o projeto vai atrasar, pois a equipe "TODA" está parada sem produzir, por uma falha da equipe de DBA's.

Pois bem meu amigo DBA, já viu esse filme ? Fez parte dele ? Olha só o que o ODA pode fazer por você .

O Oracle Database Appliance Manager release 12.1.2, suporta snapshots de banco de dados e de VM's, isso nos possibilita criar de forma rápida e eficiente, ambientes de HML/DEV em minutos.

Aquele velho script de "duplicate" já era, um único comando do "oakcli", te entrega uma nova instância do seu banco de dados em qualquer horário, sem comprometer a performance do storage e do ambiente de produção.

Com um único comando, uma instância de banco de dados é criada em minutos, pronta para ser usada para testes.

oakcli create snapshotdb -db <novo db sid> -de <-db sid existente>

Primeiro, quero mostrar para vocês o espaço utilizado pela base de dados a ser "duplicada" :

[root@oda0 ~]# oakcli show dbstorage

 

All the DBs with DB TYPE as non-CDB share the same volumes 

 

DB_NAMES           DB_TYPE    Filesystem                                        Size     Used    Available    AutoExtend Size  DiskGroup

-------            -------    ------------                                    ------    -----    ---------   ----------------   --------

orcl               non-CDB    /u01/app/oracle/oradata/datastore                   22G     3.18G      18.82G              2G        REDO

                              /u02/app/oracle/oradata/datastore                 1137G   501.72G     635.28G            113G        DATA 

                              /u01/app/oracle/fast_recovery_area/datastore      1487G    21.89G    1465.11G            148G        RECO

No Grupo Agrale (proprietário deste "brinquedinho"), a atualização da base de dados de HML, com mais ou menos 500GB,  leva menos de 15 minutos.

[root@oda0 ~]# oakcli create snapshotdb -db hml -from orcl 

INFO: 2015-08-31 11:32:49: Look at the logfile  '/opt/oracle/oak/log/oda0/tools/12.1.2.4.0/createdb_hml_96075.log' for more details

 

Please enter the 'root'  password : 

Please re-enter the 'root' password: 

 

Please enter the 'SYS'  password for the database orcl: 

Please re-enter the 'SYS' password: 

 

Please select one of the following for EE Database Node  [1 .. 2]:

1    => oda0 

2    => oda1 

1

Selected value is : oda0

Please select one of the following for Database Class  [1 .. 3]:

1    => odb-01s  (   1 cores ,     4 GB memory) 

2    =>  odb-01  (   1 cores ,     8 GB memory) 

3    =>  odb-02  (   2 cores ,    16 GB memory) 

2

Selected value is : odb-01  (   1 cores ,     8 GB memory)

..........done

...

SUCCESS: All nodes in /opt/oracle/oak/temp_clunodes.txt are pingable and alive.

......

SUCCESS: All nodes in /opt/oracle/oak/temp_clunodes.txt are pingable and alive.

INFO: 2015-08-31 11:35:42: Creating the snap database 'hml' from the source database 'orcl'

INFO: 2015-08-31 11:35:46: Do not perform any Structural change to database 'orcl' till snap database 'hml' is created

INFO: 2015-08-31 11:35:54: Taking snap of the Database 'orcl'

INFO: 2015-08-31 11:35:54: Successfully took  the snap of database: orcl

INFO: 2015-08-31 11:36:07: Creating controlfile for database: hml

INFO: 2015-08-31 11:37:07: Successfully created the controlfile for the database : hml

INFO: 2015-08-31 11:37:11: Recovering the database: hml,  snapshot time : '2015-08-31:11:35:54' , until time : '2015-08-31:11:35:57'

INFO: 2015-08-31 11:37:12: Succesfully recovered the database

INFO: 2015-08-31 11:37:12: Opening the database with resetlogs

INFO: 2015-08-31 11:37:28: Successfully opened the database after recovery

INFO: 2015-08-31 11:37:32: Setting the temporary tablespace for database : hml

INFO: 2015-08-31 11:37:33: Successfully set the temporary tablespace for the database : hml

INFO: 2015-08-31 11:38:37: Successfully changed the Database ID

INFO: 2015-08-31 11:39:50: Adding the Database resource to the clusterware

INFO: 2015-08-31 11:41:04: Successfully started the database

INFO: 2015-08-31 11:41:04: Updating the TNS entries for the database hml

INFO: 2015-08-31 11:41:22: Successfully set the rman snapshot controlfile

INFO: 2015-08-31 11:41:27: Disabling the external references in the database 'hml' inherited from 'orcl'

INFO: 2015-08-31 11:41:27: Successfully disabled the external references

INFO: 2015-08-31 11:41:39: Run the sql script '/u01/app/oracle/product/12.1.0.2/dbhome_1/enable_external_refs_hml_b3sT.sql' on the database 'hml' to enable these external references 

 Also need to restart the database after running this sql script

SUCCESS: 2015-08-31 11:42:14: Successfully created the database 'hml' from 'orcl'

 

[root@oda0 ~]# 

Ah, podemos liberar ainda caso necessário, uma base nova para um desenvolvedor específico no meio do dia, a partir do snapshot anteriormente criado, o tempo de liberação é mais ridículo ainda...

[root@oda0 ~]# oakcli create snapshotdb -db devel -from hml 

INFO: 2015-08-31 11:47:38: Look at the logfile  '/opt/oracle/oak/log/oda0/tools/12.1.2.4.0/createdb_devel_49458.log' for more details

Please enter the 'root'  password : 

Please re-enter the 'root' password: 

 

Please enter the 'SYS'  password for the database hml: 

Please re-enter the 'SYS' password: 

 

Please select one of the following for EE Database Node  [1 .. 2]:

1    => oda0 

2    => oda1 

1

Selected value is : oda0

Please select one of the following for Database Class  [1 .. 3]:

1    => odb-01s  (   1 cores ,     4 GB memory) 

2    =>  odb-01  (   1 cores ,     8 GB memory) 

3    =>  odb-02  (   2 cores ,    16 GB memory) 

1

Selected value is : odb-01s  (   1 cores ,     4 GB memory)

..........done

...

SUCCESS: All nodes in /opt/oracle/oak/temp_clunodes.txt are pingable and alive.

......

SUCCESS: All nodes in /opt/oracle/oak/temp_clunodes.txt are pingable and alive.

INFO: 2015-08-31 11:48:55: Creating the snap database 'devel' from the source database 'hml'

INFO: 2015-08-31 11:48:59: Do not perform any Structural change to database 'hml' till snap database 'devel' is created

INFO: 2015-08-31 11:49:08: Taking snap of the Database 'hml'

INFO: 2015-08-31 11:49:08: Successfully took  the snap of database: hml

INFO: 2015-08-31 11:49:21: Creating controlfile for database: devel

INFO: 2015-08-31 11:50:22: Successfully created the controlfile for the database : devel

INFO: 2015-08-31 11:50:26: Recovering the database: devel,  snapshot time : '2015-08-31:11:49:08' , until time : '2015-08-31:11:49:11'

INFO: 2015-08-31 11:50:27: Succesfully recovered the database

INFO: 2015-08-31 11:50:27: Opening the database with resetlogs

INFO: 2015-08-31 11:50:43: Successfully opened the database after recovery

INFO: 2015-08-31 11:50:46: Setting the temporary tablespace for database : devel

INFO: 2015-08-31 11:50:47: Successfully set the temporary tablespace for the database : devel

INFO: 2015-08-31 11:51:52: Successfully changed the Database ID

INFO: 2015-08-31 11:52:39: Adding the Database resource to the clusterware

INFO: 2015-08-31 11:53:51: Successfully started the database

INFO: 2015-08-31 11:53:51: Updating the TNS entries for the database devel

INFO: 2015-08-31 11:54:08: Successfully set the rman snapshot controlfile

INFO: 2015-08-31 11:54:11: Disabling the external references in the database 'devel' inherited from 'hml'

INFO: 2015-08-31 11:54:12: Successfully disabled the external references

INFO: 2015-08-31 11:54:21: Run the sql script '/u01/app/oracle/product/12.1.0.2/dbhome_1/enable_external_refs_devel_cICh.sql' on the database 'devel' to enable these external references 

 Also need to restart the database after running this sql script

 

SUCCESS: 2015-08-31 11:55:06: Successfully created the database 'devel' from 'hml'

Detalhe, verifiquem o quanto de espaço essas duas novas bases "ocuparam" no storage...

[root@oda0 ~]# oakcli show dbstorage

 

All the DBs with DB TYPE as non-CDB share the same volumes 

 

DB_NAMES           DB_TYPE    Filesystem                                        Size     Used    Available    AutoExtend Size  DiskGroup

-------            -------    ------------                                    ------    -----    ---------   ----------------   --------

devel, hml, orcl   non-CDB    /u01/app/oracle/oradata/datastore                   22G     9.18G      12.82G              2G        REDO

                              /u02/app/oracle/oradata/datastore                 1137G   501.77G     635.23G            113G        DATA 

                              /u01/app/oracle/fast_recovery_area/datastore      1487G    22.06G    1464.94G            148G        RECO

Com o uso da tecnologia de snapshots do ODA, a área necessária para duplicação da base é irreal, somente os blocos modificados é que serão registrados e ocuparão espaço no storage.

Para quem ainda não tem um ODA na empresa, vale aquele esforço no momento da próxima negociação de hardware, para quem já tem, bora atualizar o Oracle Database Appliance Manager para a release 12.1.2.

 Abraço a todos.

Guilherme Costa

Lido 1822 vezes Última modificação em Terça, 01 Setembro 2015 23:38
Guilherme Solon Da Costa

Especializado na Administração de Banco de dados de alta performance, atua na área de consultoria e suporte a banco de dados há mais de 15 anos. Responsável pela administração de base de dados de Grupos como Herval, Diementz e Datelli possui alta experiência em bases de dados de comércio e varejo, onde a performance e alta disponibilidade são vitais para a continuidade do negócio.

Deixe um comentário

Certifique-se de preencher os campos indicados com (*). Não é permitido código HTML.


NOSSOS CLIENTES

afubra
herval
agrale
taurus
Farmacias Sao Joao
boxprint

QUEM SOMOS

Empresa especializada em tecnologia de banco de dados, formada por uma equipe de profissionais habilitados nas mais diversas áreas, unindo forças para a construção de uma empresa sólida que une tecnologia e comprometimento com seus clientes.

TWITTER

Inscrições abertas! https://t.co/vlm6IueMwP
Accelerating Enterprise Innovation with Big Data,15 julho 2015 https://t.co/BIFQpPmUVH
Teste do Portal

ÚLTIMAS NOTÍCIAS

CONTATO

  • Endereço: Rua Joaquim Pedro Soares, 500/Sala 44 - Centro, Novo Hamburgo, RS CEP: 93510-320
  • Fone: 51 3562-3705
  • E-mail: atendimento@beg.inf.br