Criando snapshot database (clone) no Oracle Database Appliance (ODA) X5-2

Por Y V Ravi Kumar Oracle ACE director, Rodrigo Mufalani Oracle ACE,  e Shireesha Baddam
Publicado em Março 2018

Revisado por Lorenzo Mota


Introdução

Um snapshot (clone) de um Oracle database em uma ODA (Oracle database appliance) pode ser criado usando OAKCLI (Oracle Appliance Kit Command Line Interface). O database de origem pode ser um RAC, RAC one node ou uma instance standalone e o banco de dados alvo (target snapshot database), o que será criado, pode ser também RAC,  RAC one node ou uma standalone instance. Criar um snapshot database não requer baixar o database de origem. Usando OAKCLI um snapshot database no ODA pode ser criado em pouco tempo com diferentes tamanhos e tipo do database de origem.

Configurações do ambiente:

Sistema de Origem:

ODA Model:                                  BM Oracle Database Appliance (ODA) X5-2
Public interface:                            COPPER
ODA Version:                                12.1.2.9.0
Operating system:                         Linux version 2.6 (Red Hat 4.4.7-16)
Database:                                      Oracle Database 12c R1 (12.1.0.2.0)
Hostnames:                                   DBServer01, DBServer02
Database:                                      test01db

Sistema de Destino:

ODA Model:                                   BM Oracle Database Appliance (ODA) X5-2
Public interface:                             COPPER
ODA Version:                                 12.1.2.9.0
Operating system:                          Linux version 2.6 (Red Hat 4.4.7-16)
Database:                                       Oracle Database 12c R1 (12.1.0.2.0)
Hostnames:                                    DBServer01, DBServer02
Snapshot database:                        test02db

 

Pré-requisitos:

Snapshot databases precisam de alguns pré-requisitos.

  • Database snapshot e database de origem devem estar em archive log mode.
  • Database snapshot e database de origem não podem ser a container database(CDB) ou um standby database. Que pasa cuando es CDB, que alternativas o alguna referencia para ese caso.? O aclarar si en las ODAs no se puede tener CDB.
  • Os datafiles do database de origem devem estar online e disponíveis.
  • Os databases de origem e snapshot não podem estar em read only ou restricted ou em modo backup.
  • Os horários no Sistema Operacional do Oracle database appliance (ODA) devem ser os mesmos antes de criar um snapshot database.


1. Criação do database de origem (test01db) usando OAKCLI em um Oracle database appliance (ODA).

1.1 O comando oakcli show dbhomes lista informações sobre as homes disponíveis.


1.2 Logue-se com o putty no node1(DBServer01) como root user. Use o comando abaixo para criar o test01db database usando o oakcli.

  • oakcli create database -db test01db -oh OraDb12102_home1

Isso irá criar o database de origem test01db com a versão do Oracle database 12cR1 (12.1.0.2.0). Use o home 11204 se pretende criar um database na versão 11gR2. Durante a instalação você tem a opção de escolher o tipo, versão e classe do database. Aqui eu selecionei OLTP, Enterprise Editition, que é a opção 1 e RAC database.

[root@DBServer01: Mon June  14, 02:24 PM : /root ]
  
$ oakcli create database  -db test01db -oh OraDb12102_home1

INFO:  2017-06-14 14:27:04: Please check the logfile 
'/opt/oracle/oak/log/DBServer01/tools/12.1.2.10.0/createdb_test01db_31350.log'  
for more details

INFO:  2017-06-14 14:27:06: Database parameter file is not provided. Will be using  
default parameters for DB creation

Please  enter the 'SYSASM' password : (Durante a configuração inicial setamos SYSASM  
password para 'welcome1'):

Please  re-enter the 'SYSASM' password:

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

  1  => OLTP
2  => DSS
3  => In-Memory
1 The selected value is : OLTP
Please select one of the following for Database Deployment  [1 .. 3] :
1  => EE : Enterprise Edition
2  => RACONE
3  => RAC
3
The selected value is : RAC
Please select one of the following for Database Class  [1 .. 6] :
1  => odb-01s  ( 1 cores ,  4 GB memory)
2  =>  odb-01  ( 1 cores ,  8 GB memory)
3  =>  odb-02  ( 2 cores ,  16 GB memory)
4  =>  odb-04  ( 4 cores ,  32 GB memory)
5  =>  odb-06  ( 6 cores ,  48 GB memory)
6  =>  odb-12  ( 12 cores , 96 GB memory)
1
The selected value is : odb-01s  ( 1 cores ,  4 GB memory)
INFO   : Logging all actions in the file /opt/oracle/oak/log/DBServer01/patch/12.1.2.10.0/DBServer01-20170614142755.log and traces in the file /opt/oracle/oak/log/DBServer01/patch/12.1.2.10.0/DBServer01-20170614142755.trc
INFO : Loading the configuration file /opt/oracle/oak/onecmd/create_database.params...
INFO : Creating the node list files...
INFO : Setting up ssh for root...
INFO : Setting up SSH across the Private Network...
...INFO : Running as root: /usr/bin/ssh -l root 192.168.1.36 /root/DoAllcmds.sh
INFO : Running as root: /usr/bin/ssh -l root 192.168.1.37 /root/DoAllcmds.sh
INFO : Background process 37150 (node: 192.168.1.36) gets done with the exit code 0
INFO : Background process 37182 (node: 192.168.1.37) gets done with the exit code 0
INFO : Setting up SSH completed successfully
INFO : Running the command /usr/bin/rsync -tarqvz /opt/oracle/oak/onecmd/ root@192.168.1.37:/opt/oracle/oak/onecmd --exclude=*zip --exclude=*gz --exclude=*log --exclude=*trc --exclude=*rpm to sync directory</opt/oracle/oak/onecmd> on node <192.168.1.37>
SUCCESS: Ran /usr/bin/rsync -tarqvz /opt/oracle/oak/onecmd/ root@192.168.1.37:/opt/oracle/oak/onecmd --exclude=*zip --exclude=*gz --exclude=*log --exclude=*trc --exclude=*rpm and it returned: RC=0

 

...INFO : Did not do scp for node : DBServer01

INFO : Running as root: /usr/bin/ssh -l root DBServer01 /root/DoAllcmds.sh

INFO : Running as root: /usr/bin/ssh -l root DBServer02 /root/DoAllcmds.sh

INFO : Background process 38458 (node: DBServer01) gets done with the exit code 0

INFO : Background process 38536 (node: DBServer02) gets done with the exit code 0

INFO : Did not do scp for node : DBServer01

INFO : Running as root: /usr/bin/ssh -l root DBServer01
/opt/oracle/oak/onecmd/tmp/DoAllcmds-20170614142836.sh

INFO : Running as root: /usr/bin/ssh -l root DBServer02
/opt/oracle/oak/onecmd/tmp/DoAllcmds-20170614142836.sh

INFO : Background process 38625 (node: DBServer01) gets done with the exit code 0

INFO : Background process 38656 (node: DBServer02) gets done with the exit code 0

INFO : Setting up SSH for user oracle...

...INFO : checking nodes in /opt/oracle/oak/onecmd/tmp/db_nodes...

...

SUCCESS: All nodes in /opt/oracle/oak/onecmd/tmp/db_nodes are pingable and alive.

INFO : Checking SSH setup for user (oracle) on
nodes in /opt/oracle/oak/onecmd/tmp/db_nodes...

INFO : Did not do scp for node : DBServer01

INFO : This is root, will become oracle and run:
/bin/su oracle -c /usr/bin/ssh -l oracle
DBServer01 /opt/oracle/oak/onecmd/tmp/DoAllcmds-20170614142905.sh

INFO : Running on the local node: /bin/su oracle
-c /opt/oracle/oak/onecmd/tmp/DoAllcmds-20170614142905.sh

INFO : Background process 40495 (node: DBServer01) gets done with the exit code 0

INFO : This is root, will become oracle and run: /bin/su oracle -c /usr/bin/ssh -l
oracle DBServer02 /opt/oracle/oak/onecmd/tmp/DoAllcmds-20170614142905.sh

INFO : Background process 40526 (node: DBServer02) gets done with the exit code 0

INFO : Setting up ACFS storage

INFO : Did not do scp for node : DBServer01

INFO : Running as root: /usr/bin/ssh -l root
DBServer01 /opt/oracle/oak/onecmd/tmp/acfsm_31350.sh

INFO : Running as root: /usr/bin/ssh -l root
DBServer02 /opt/oracle/oak/onecmd/tmp/acfsm_31350.sh

INFO : Background process 40719 (node: DBServer01) gets done with the exit code 0

INFO : Background process 40750 (node: DBServer02) gets done with the exit code 0

INFO : 2017-06-14 14:29:29: Successfully setup the storage structure for the database
'test01db'

SUCCESS: Successfully setup ACFS storage for the database test01db

INFO : Creating Database using DBCA...

INFO : Did not do scp for node : DBServer01

INFO : Running as root: /usr/bin/ssh -l root
DBServer01 /opt/oracle/oak/onecmd/tmp/DoAllcmds-20170614142929.sh

INFO : Running as root: /usr/bin/ssh -l root
DBServer02 /opt/oracle/oak/onecmd/tmp/DoAllcmds-20170614142929.sh

INFO : Background process 43752 (node: DBServer01) gets done with the exit code 0

INFO : Background process 43791 (node: DBServer02) gets done with the exit code 0

INFO : Running DBCA using /opt/oracle/oak/onecmd/tmp/dbca-test01db.sh on
DBServer01 as oracle...

INFO : Check output in /opt/oracle/oak/onecmd/tmp/dbca-test01db-20170614142755.log
on DBServer01

INFO : This is root, will become oracle and run: /bin/su oracle -c /usr/bin/ssh -l
oracle DBServer01 /opt/oracle/oak/onecmd/tmp/dbca-test01db.sh

INFO : Running on the local node: /bin/su oracle
-c /opt/oracle/oak/onecmd/tmp/dbca-test01db.sh
Instance test01db1 is running on node DBServer01
Instance test01db2 is running on node DBServer02

INFO : One or more Instances running on the cluster nodes.

INFO : Running export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1;/u01/
app/oracle/product/12.1.0.2/dbhome_1/bin/srvctl setenv database -d test01db -t
'TZ=America/New_York' to set DB timezone

INFO : Running the command /u01/app/12.1.0.2/grid/bin/crsctl stat resource
ora.test01db.db -p

WARNING: 2017-06-14 14:41:10: Not enough space on flash volume
/u02/app/oracle/oradata/flashdata/.ACFS/snaps/flashcache

Setting the db_flash_cache_size=0, Manually cleanup some space on this volume and
set the flash_size.  Recommended value is : 6144 M

.INFO : Did not do scp for node : DBServer01

..

INFO : This is root, will become oracle and run: /bin/su oracle -c /usr/bin/ssh -l
oracle DBServer01 /opt/oracle/oak/onecmd/tmp/dbupdates-test01db.sh

INFO : Running on the local node: /bin/su oracle
-c /opt/oracle/oak/onecmd/tmp/dbupdates-test01db.sh

INFO : Running export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1;/u01/app/
oracle/product/12.1.0.2/dbhome_1/bin/srvctl stop database -d test01db

INFO : Running export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1;/u01/app/
oracle/product/12.1.0.2/dbhome_1/bin/srvctl start database -d test01db

INFO: 2017-06-14 14:42:31: Successfully set the RMAN SNAPSHOT control file

.INFO : Did not do scp for node : DBServer01

..

INFO : This is root, will become oracle and run: /bin/su oracle -c /usr/bin/ssh -l
oracle DBServer01 /opt/oracle/oak/onecmd/tmp/runDatapatch.sh

INFO : Running on the local node: /bin/su oracle
-c /opt/oracle/oak/onecmd/tmp/runDatapatch.sh

SUCCESS: 2017-06-14 14:43:08: Successfully created the Database : test01db

[ root@DBServer01 : Wed Jun 14, 02:43 PM : /root ]




1.3 Depois da criação do database, verifique se o database service está online. Para isso, você pode usar o comando crsstat.

 

  [oracle@DBServer01 ~]$ crsstat
ora.test01db.db             ONLINE     ONLINE on DBServer01
[oracle@DBServer02 ~]$ crsstat
ora.test01db.db         ONLINE     ONLINE on DBServer02


1.4 Usando o comando oakcli para verificar se o database foi criado com a home correta e a versão desejada. Execute o comando abaixo:

  • oakcli show databases
test01db RAC   ACFS   OraDb12102_home1   /u01/app/oracle/product/12.1.0.2/dbhome_1  12.1.0.2.170117(24732082,24828633) (Database de origem)



1.5 Garante que o database de origem (test01db) está archive log mode.

 

[oracle@ DBServer01~]$ . oraenv
ORACLE_SID = [test01db] ? test01db
The Oracle base remains unchanged with value /u01/app/oracle

[oracle@ DBServer01~]$ sqlplus sys@test01db as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jun 14 14:52:19 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Enter password:

Connected to:
Oracle Database 12c Enterprise Edition 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, log_mode from v$database;

NAME                    LOG_MODE
-- -- -- -- -- -- -- - -- -- -- -- --
TEST01DB                ARCHIVELOG

SQL>exit



1.6 Configure a entrada TNS.

Depois da criação do database uma entrada tns será adicionada ao tnsnames.ora.

  [oracle@ DBServer01 ~]$ cat  
  /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/tnsnames.ora

   TEST01DB  =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver-scan)(PORT  = 1521))
      (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = test01db)
      )
     )
    
  [oracle@ DBServer02 ~]$ cat  
  /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/tnsnames.ora
  
   TEST01DB  =
    (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver-scan)(PORT  = 1521))
     (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test01db)
     )
    )
  


Criando um snapshot database (test02db) usando OAKCLI em Oracle Database Appliance (ODA).


2.1. Para criar um snapshot database (test02db), primeiro, set  o db_domain no database de origem (test01db) para vazio e então restarte o database usando o comando srvctl.

[oracle@ DBServer01~]$ . oraenv
ORACLE_SID = [test01db] ? test01db
The Oracle base remains unchanged with value /u01/app/oracle
 
[oracle@ DBServer01~]$ sqlplus sys@test01db as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jun 14 14:50:20 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
 
Enter password:
 
Connected to:
Oracle Database 12c Enterprise Edition 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 from v$database;
 
NAME
-------------
TEST01DB
 
SQL>alter system set db_domain=’’ scope=spfile sid=’*’;
System altered.
 
SQL>exit


Abaixo, os comandos para reiniciar o test01db database

[oracle@DBServer01  infracdb]$ srvctl stop database -d test01db 
[oracle@DBServer01 infracdb]$ srvctl start database -d test01db


2.2 Logue-se pelo putty no node1(DBServer01) como root user. Use o comando abaixo para criar o test02db como um snapshot database usando oakcli.

  • oakcli create snapshotdb -db test02db -from test01db

Durante a processo de criação do snapshot database, você terá a opção de escolher tipos de diferentes de database, classes e versão. Aqui eu escolhi RAC database com a opção 1 para a classe de database.

  [root@DBServer01:  Mon June 14, 02:51 PM : /root ]
$ oakcli create snapshotdb -db test02db -from test01db
INFO: 2017-06-14 14:51:22: Please check the logfile  '/opt/oracle/oak/log/DBServer01/tools/12.1.2.10.0/createdb_test02db_24166.log' for more details

 

Please enter the 'SYS'  password for the Database test01db:

Please re-enter the 'SYS' password:

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

1  => RACONE

2  => RAC

2

The selected value is : RAC

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

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

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

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

4  =>  odb-04  (  4 cores , 32 GB memory)

5  =>  odb-06  (  6 cores , 48 GB memory)

6  =>  odb-12  (  12 cores , 96 GB memory)

1

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

......

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: 2017-06-14 14:56:19: Creating the SNAP Database 'test02db' from the source Database
'test01db'

INFO: 2017-06-14 14:56:30: Do not perform any Structural change to Database 'test01db'
till SNAP Database 'test02db' is created

INFO: 2017-06-14 14:56:51: Taking SNAP of the Database 'test01db'

INFO: 2017-06-14 14:56:54: Successfully took  the SNAP of database: test01db

WARNING: 2017-06-14 14:57:47: Not enough space on flash volume
/u02/app/oracle/oradata/flashdata/.ACFS/snaps/flashcache

Setting the db_flash_cache_size=0, Manually cleanup some space on this volume and set the
flash_size.  Recommended value is : 6144 M

INFO: 2017-06-14 14:57:47: Creating controlfile for database: test02db

INFO: 2017-06-14 14:57:59: Successfully created the control file for the database : test02db

INFO: 2017-06-14 14:57:59: Adding log files for the second thread for the database : test02db

INFO: 2017-06-14 14:58:03: Successfully added the log files for second thread

INFO: 2017-06-14 14:58:06: Recovering the database: test02db,  snapshot time :
'2017-06-14:14:56:53' , until time : '2017-06-14:14:57:11'

INFO: 2017-06-14 14:58:09: Successfully recovered the database

INFO: 2017-06-14 14:58:09: Opening the database with resetlogs

INFO: 2017-06-14 14:58:16: Successfully opened the database after recovery

INFO: 2017-06-14 14:58:19: Setting the temporary tablespace for database : test02db

INFO: 2017-06-14 14:58:22: Successfully set the temporary tablespace for the database : test02db

INFO: 2017-06-14 14:59:25: Successfully changed the Database ID

INFO: 2017-06-14 15:00:12: Adding the Database resource to the clusterware

INFO: 2017-06-14 15:00:56: Successfully started the database

INFO: 2017-06-14 15:00:56: Updating the TNS entries for the database test02db

INFO: 2017-06-14 15:01:35: Successfully set the RMAN SNAPSHOT control file

INFO: 2017-06-14 15:01:45: Disabling the external references in the database
'test02db' inherited from 'test01db'

INFO: 2017-06-14 15:01:46: Successfully disabled the external references

INFO: 2017-06-14 15:02:10: Run the SQL script
'/u01/app/oracle/product/12.1.0.2/dbhome_1/enable_external_refs_test02db_k15H.sql'
on the database 'test02db' to enable these external references

Also need to restart the database after running the SQL script

SUCCESS: 2017-06-14 15:02:49: Successfully created the Database 'test02db' from 'test01db'


Note: Ajuste qualquer alerta que seja recebido durante a instalação. Aqui eu recebi alguns sobre o flash cache.




2.3 Configure a entrada de TNS do snapshot database.


Depois da criação do snapshot database, uma entrada de TNS será adicionada ao tnsnames.ora.

  [oracle@ DBServer01 ~]$ cat  
  /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/tnsnames.ora

  TEST02DB  =
   (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver-scan)(PORT  = 1521))
    (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = test02db)
    )
   )
   
   [oracle@ DBServer02 ~]$ cat  
   /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/tnsnames.ora
   
   TEST02DB  =
    (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver-scan)(PORT  = 1521))
     (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test02db)
     )
    )
  


2.4 Logue-se no database alvo(snapshot) test02db, e garanta que ele está em archive log mode.

  [oracle@DBServer01  admin]$ . oraenv
ORACLE_SID = [test02db] ? test02db
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@DBServer01 admin]$ sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jun 14 15:03:50 2017
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
SQL> connect sys@test02db as sysdba
Enter password:
Connected.

 

SQL> select name, log_mode from v$database;   NAME                LOG_MODE -- -- -- -- -- -- -- - -- -- -- -- -- -- TEST02DB            ARCHIVELOG



2.5 Usando o comando oakcli verifique se o snapshot database foi criado com a home correta e a versão desejada do Oracle. Execute o comando abaixo:

  • oakcli show databases
test01db  RAC    ACFS      OraDb12102_home1     /u01/app/oracle/product/12.1.0.2/dbhome_1         
12.1.0.2.170117(24732082,24828633) (Database de origem)
test02db RAC    ACFS      OraDb12102_home1     /u01/app/oracle/product/12.1.0.2/dbhome_1          12.1.0.2.170117(24732082,24828633) (Database Alvo(Snapshot))


Conclusão:

Um Snapshot database (clone) pode ser criado com tamanho diferente (memória), classe e tipo diferentes do database de origem. Com o uso do OAKCLI command line interface, a criação de um database clone toma menos tempo do que comparado a outros métodos de replicação. Um Snapshot database também toma menos espaço em disco e não requer parar o database de origem.



Y V Ravi Kumar é um Oracle ACED e Oracle Certified Master (OCM) com 18 anos de experiência em  instituições financeiras, serviços financeiros e seguros (BFSI) e atuou em diversos papeis como Senior Database Architect e Production DBA.  Ele também é OCP em Oracle 8i, 9i, 10g, 11g & 12c e Certificado em Golden Gate, RAC, Performance Tuning & Oracle Exadata. Ele continua motivando muitos DBAs e ajudando a Oracle Community publicando suas dicas /ideias/sugestões/soluções em seu blog. Ele escreveu 40+ artigos OTN sobre Oracle Exadata, Oracle RAC e Oracle GoldenGate para a OTN em Espanhol, OTN em Português e OTN em inglês e 19 artigos para a TOAD World, 2 Artigos para o UKOUG, 3 Artigos para OTech Magazine e 2 Artigos para a Redgate. Ele é membro do All India Oracle User Group (AIOUG) e frequente Oracle speaker in @NYOUG, @OTN, AIOUG, Sangam e IOUG. Ele desenha, projeta e implementa Core Banking System (CBS) Databases para o Central Banks em dois países – India e Mahe, Seychelles.
Ele é Co-Founder do OraWorld (www.oraworld.com). Leia mais sobre o seu perfil na LaserSoft

Oracle ACE Profile:
https://apex.oracle.com/pls/apex/f?p=19297:4:::NO:4:P4_ID:13023

Oracle Certified Master (OCM):
http://education.oracle.com/education/otn/10g_OCM_17_Jun_11/ykumar.htm

Oracle ACE Spotlight for the month - June 2016
http://www.oracle.com/us/dm/nsl100540920-na-us-nl-newsl3-ev-3037864.html?elq_mid=48531&sh=022213062006152605221316260726092605181606142609150531112516&cmid=WWMK14057711MPP002C018

Rodrigo Mufalani é um DBA Sr. com mais de 15 anos de experiência, começou com o Oracle 8i, mas teve a oportunidade de dar suporte a Oracle 7.3.4 em diante. É especialista em banco de dados Oracle com foco principal em Performance & Tuning e RAC. É palestrante em eventos de Oracle como: OTN LAD TOUR e outros. Atualmente trabalha como consultor diversas empresas no segmento de variados ramos como: Educação, Saúde, Tecnologia, Seguros e etc. Foi o terceiro Oracle ACE a ser nomeado no Brasil e é OCP DBA nas versões 10g, 11g e 12c. Atualmente trabalha na Mufalani. Twitter @mufalani / blog www.mufalani.com.br/blog

Shireesha Baddam é uma profissional Oracle com mais de 8 anos de experiência em TI, nos ramos de serviços financeiros, eletrônicos e de logística. Trabalha como DBA Sênior e também como consultora de TI para dar suporte a diferentes aplicações. É expert em Oracle RAC, ASM, ODA e nas versões de Oracle 9i, 10g, 11g e 12c.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.