Artigos
Desempenho e Disponibilidade de Banco de dados
Por Deiby Gómez Robles , Yenugula Venkata RaviKumar (OCM) e David Siqueira
Postado em Fevereiro 2014
Indice:
Introdução: A questão de segurança no acessoaos dados é um tema muito importante dentros das empresas e algo que debemos dar maisatenção, implementar e não descartar esta opção. Em se tratando de ambientes EXADATA DATABASE MACHINE, temo suma organização do hardware dividos entre Servidores de Banco de Dados ( Database Servers) e Servidores de Armazenamento( Storage Servers ), a titulo de exemplo temo suma HALF HACK, que possui 4 servidores de Banco de Dados e 7 servidores para armazenamento, isto nos leva a umaquestão:Quais servidores de banco de dados, podemacessar os servidores de armazenamentoQuaisCluster de ASM podemacessarquais discos?Poisbem,este é o obejtivo principal desteartigo,entrarmosmais a fundo naadministração dos banco de dados, e tambémentendermos como é a forma de utilização da segurança e suaimplementaçãodenteo de um "Oracle ExadataDatabase Machine".
A segurança á nível de Célula de Exadata( ExadataCell ) éresponsaveldireta por determinar quem é que irá acessar as "ExadataCell" e seus respectivos "Grid Disks", este tipo de segurança pode ser implementado a partir de duaspespectivas:
As boas práticas da implementação de segurança, recomendam que seja realizado umplanejamento antes mesmo da existencia da Base de Dados no que dizrespeito a segurançaemASM .
Segurança á nível de ASM : Utilizando este nível de segurança, todas as bases de dados , mesmo as emcluster, terãoacesso a um ASM especifico “Grid Disk”, desta forma agrupamos varias bases de dados aomesmo tempo.
Segurança á nível de Banco de Dados :Com este tipo de segurança, especificas bases de dados podemacessar determinados “Grid Disks”. Devemos usar o arquivo de controle “cellkey.ora” para cada base de dados. Este tipo de segurança é umpoucomais refinada e garante umamaiorgranularidadeao restringir o acessoaos “Grid Disks”.
Por regra e padrão do ambiente ExadataDatabase Machine, todos os ASM emcluster e banco de dados existentes, podemacessar todos os “Grid Disks” emqualquer lugar “ExadataCell”, essa forma é chamada pela Oracle como “SEGURANÇA ABERTA” ou “Open Security”.
Quandodevemos implementar a Segurançaemum Oracle “ExadataDatabase Machine”?
Exemplo de Segurança a Nível de Banco de Daso e ASM :

1. Baixe os serviços de Banco de Dados e ASM. É importante que no caso de um ambiente “ExadataDatabase Machine” será necessário a execuçãodestespassosem casa servidor presente no ASM Cluster.
Utilizando o usuárioroot (Este comando baixará todos os serviços):
[root@exadb01 ~]# crsctl stop crs
Utilizando o usuáriooracle (caso nãotenhaacessoaousuárioroot):
[oracle@exadb01 ~]$ ps -ef | greppmon oracle 3490 1 0 04:49 ? 00:00:00 asm_pmon_+ASM oracle 3739 1 0 04:50 ? 00:00:00 ora_pmon_xdbvm oracle 3912 3392 0 04:50 pts/2 00:00:00 greppmon [oracle@exadb01 ~]$ srvctl stop database -d xdbvm [oracle@exadb01 ~]$ ps -ef | greppmon oracle 3490 1 0 04:49 ? 00:00:00 asm_pmon_+ASM oracle 4139 3392 0 04:51 pts/2 00:00:00 greppmon [oracle@exadb01 ~]$ srvctl stop diskgroup -g DATA [oracle@exadb01 ~]$ srvctl stop diskgroup -g RECO [oracle@exadb01 ~]$ srvctl stop asm [oracle@exadb01 ~]$ ps -ef | greppmon oracle 4215 3392 0 04:52 pts/2 00:00:00 grep pmon
2. Gerandouma chave de segurança, utilizando o CELLCLI "CREATE KEY". Execute este comando uma única vez emqualquer “Célula Exadata.”
Exadata Cell Cell01:
login as: celladmin celladmin@192.168.56.101's password: Last login: Tue Dec 3 04:41:31 2013 [celladmin@cell01 ~]$ servicecelld status Password: rsStatus: running msStatus: running cellsrvStatus: running [celladmin@cell01 ~]$ cellcli CellCLI: Release 11.2.3.2.1 - Production on Tue Dec 03 04:53:25 GMT+00:00 2013 Copyright (c) 2007, 2012, Oracle. All rights reserved. Cell Efficiency Ratio: 510 CellCLI> create key 8804b0e5bb8f6a4d10a0e17843e60c1
Exadata Cell Cell02:
login as: celladmin celladmin@192.168.56.102's password: Last login: Tue Dec 3 04:42:17 2013 [celladmin@cell02 ~]$ servicecelld status Password: rsStatus: running msStatus: running cellsrvStatus: running
3. Utilizaro comando "ASSIGN KEY"para atribuir a chave de segurança para clusters ASM que énecessário para ter acesso a "Célula de Exadata" eleita.
Exadata Cell Cell01:
CellCLI> alter cell realmName=my_realm
Cell cell01 successfully altered
CellCLI> assign key for +ASM='8804b0e5bb8f6a4d10a0e17843e60c1'
Key for +ASM successfully created
Exadata Cell Cell02:
CellCLI> alter cell realmName=my_realm Cell cell02 successfully altered CellCLI> assign key for +ASM='8804b0e5bb8f6a4d10a0e17843e60c1' Key for +ASM successfullycreated
Nota:Podemos optar por utilizamor o DCLI para executarmos o mesmo comando em todas as “Células de Exadata” de umasó vez, se necessário.
dcli -c cell01,cell02 "cellcli -e assign key for +ASM='8804b0e5bb8f6a4d10a0e17843e60c1'
4. Verificando a disponibilidade dos "Grid Disk" no "ExadataCell Cell01"
CellCLI> list griddisk
DATA_CD_disk01_cell01 active
DATA_CD_disk02_cell01 active
DATA_CD_disk03_cell01 active
DATA_CD_disk04_cell01 active
DATA_CD_disk05_cell01 active
DATA_CD_disk06_cell01 active
DATA_CD_disk07_cell01 active
DATA_CD_disk08_cell01 active
DATA_CD_disk09_cell01 active
DATA_CD_disk10_cell01 active
DATA_CD_disk11_cell01 active
DATA_CD_disk12_cell01 active
RECO_CD_disk01_cell01 active
RECO_CD_disk02_cell01 active
RECO_CD_disk03_cell01 active
RECO_CD_disk04_cell01 active
RECO_CD_disk05_cell01 active
RECO_CD_disk06_cell01 active
RECO_CD_disk07_cell01 active
RECO_CD_disk08_cell01 active
RECO_CD_disk09_cell01 active
RECO_CD_disk10_cell01 active
RECO_CD_disk11_cell01 active
RECO_CD_disk12_cell01 active
5. Utilizando o comando"CREATE GRIDDISK"ou "ALTER GRIDDISK"para configurar a segurança nos "Grid Disk" nos quais será permitido o acessovia ASM.
[oracle@exadb01 ~]$ dcli -g ./cell_group "cellcli -e \alter griddisk all availableTo=\'+ASM\'" The authenticity of host 'cell01 (192.168.56.101)' can't be established. RSA key fingerprint is 39:e3:37:14:23:4c:6e:eb:08:9f:c6:07:d7:55:7e:e0. Are you sure you want to continue connecting (yes/no)? The authenticity of host 'cell02 (192.168.56.102)' can't be established. RSA key fingerprint is 39:e3:37:14:23:4c:6e:eb:08:9f:c6:07:d7:55:7e:e0. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'cell01,192.168.56.101' (RSA) to the list of known hosts. celladmin@cell01's password: Please type 'yes' or 'no': Warning: Permanently added 'cell02,192.168.56.102' (RSA) to the list of known hosts. celladmin@cell02's password: cell01: GridDisk DATA_CD_disk01_cell01 successfully altered cell01: GridDisk DATA_CD_disk02_cell01 successfully altered cell01: GridDisk DATA_CD_disk03_cell01 successfully altered cell01: GridDisk DATA_CD_disk04_cell01 successfully altered cell01: GridDisk DATA_CD_disk05_cell01 successfully altered cell01: GridDisk DATA_CD_disk06_cell01 successfully altered cell01: GridDisk DATA_CD_disk07_cell01 successfully altered cell01: GridDisk DATA_CD_disk08_cell01 successfully altered cell01: GridDisk DATA_CD_disk09_cell01 successfully altered cell01: GridDisk DATA_CD_disk10_cell01 successfully altered cell01: GridDisk DATA_CD_disk11_cell01 successfully altered cell01: GridDisk DATA_CD_disk12_cell01 successfully altered cell01: GridDisk RECO_CD_disk01_cell01 successfully altered cell01: GridDisk RECO_CD_disk02_cell01 successfully altered cell01: GridDisk RECO_CD_disk03_cell01 successfully altered cell01: GridDisk RECO_CD_disk04_cell01 successfully altered cell01: GridDisk RECO_CD_disk05_cell01 successfully altered cell01: GridDisk RECO_CD_disk06_cell01 successfully altered cell01: GridDisk RECO_CD_disk07_cell01 successfully altered cell01: GridDisk RECO_CD_disk08_cell01 successfully altered cell01: GridDisk RECO_CD_disk09_cell01 successfully altered cell01: GridDisk RECO_CD_disk10_cell01 successfully altered cell01: GridDisk RECO_CD_disk11_cell01 successfully altered cell01: GridDisk RECO_CD_disk12_cell01 successfully altered cell02: GridDisk DATA_CD_disk01_cell02 successfully altered cell02: GridDisk DATA_CD_disk02_cell02 successfully altered cell02: GridDisk DATA_CD_disk03_cell02 successfully altered cell02: GridDisk DATA_CD_disk04_cell02 successfully altered cell02: GridDisk DATA_CD_disk05_cell02 successfully altered cell02: GridDisk DATA_CD_disk06_cell02 successfully altered cell02: GridDisk DATA_CD_disk07_cell02 successfully altered cell02: GridDisk DATA_CD_disk08_cell02 successfully altered cell02: GridDisk DATA_CD_disk09_cell02 successfully altered cell02: GridDisk DATA_CD_disk10_cell02 successfully altered cell02: GridDisk DATA_CD_disk11_cell02 successfully altered cell02: GridDisk DATA_CD_disk12_cell02 successfully altered cell02: GridDisk RECO_CD_disk01_cell02 successfully altered cell02: GridDisk RECO_CD_disk02_cell02 successfully altered cell02: GridDisk RECO_CD_disk03_cell02 successfully altered cell02: GridDisk RECO_CD_disk04_cell02 successfully altered cell02: GridDisk RECO_CD_disk05_cell02 successfully altered cell02: GridDisk RECO_CD_disk06_cell02 successfully altered cell02: GridDisk RECO_CD_disk07_cell02 successfully altered cell02: GridDisk RECO_CD_disk08_cell02 successfully altered cell02: GridDisk RECO_CD_disk09_cell02 successfully altered cell02: GridDisk RECO_CD_disk10_cell02 successfully altered cell02: GridDisk RECO_CD_disk11_cell02 successfully altered cell02: GridDisk RECO_CD_disk12_cell02 successfully altered
6. Verificando o Status e a Disponibilidade dos "Grid Disk" no "ExadataCell Cell01"
CellCLI> list griddisk attributes name, availableTo
DATA_CD_disk01_cell01 +ASM
DATA_CD_disk02_cell01 +ASM
DATA_CD_disk03_cell01 +ASM
DATA_CD_disk04_cell01 +ASM
DATA_CD_disk05_cell01 +ASM
DATA_CD_disk06_cell01 +ASM
DATA_CD_disk07_cell01 +ASM
DATA_CD_disk08_cell01 +ASM
DATA_CD_disk09_cell01 +ASM
DATA_CD_disk10_cell01 +ASM
DATA_CD_disk11_cell01 +ASM
DATA_CD_disk12_cell01 +ASM
RECO_CD_disk01_cell01 +ASM
RECO_CD_disk02_cell01 +ASM
RECO_CD_disk03_cell01 +ASM
RECO_CD_disk04_cell01 +ASM
RECO_CD_disk05_cell01 +ASM
RECO_CD_disk06_cell01 +ASM
RECO_CD_disk07_cell01 +ASM
RECO_CD_disk08_cell01 +ASM
RECO_CD_disk09_cell01 +ASM
RECO_CD_disk10_cell01 +ASM
RECO_CD_disk11_cell01 +ASM
RECO_CD_disk12_cell01 +ASM
7. Verificando o Status e a Disponibilidade dos "Grid Disk" no "ExadataCell Cell02"
CellCLI> list griddisk attributes name, availableTo
DATA_CD_disk01_cell02 +ASM
DATA_CD_disk02_cell02 +ASM
DATA_CD_disk03_cell02 +ASM
DATA_CD_disk04_cell02 +ASM
DATA_CD_disk05_cell02 +ASM
DATA_CD_disk06_cell02 +ASM
DATA_CD_disk07_cell02 +ASM
DATA_CD_disk08_cell02 +ASM
DATA_CD_disk09_cell02 +ASM
DATA_CD_disk10_cell02 +ASM
DATA_CD_disk11_cell02 +ASM
DATA_CD_disk12_cell02 +ASM
RECO_CD_disk01_cell02 +ASM
RECO_CD_disk02_cell02 +ASM
RECO_CD_disk03_cell02 +ASM
RECO_CD_disk04_cell02 +ASM
RECO_CD_disk05_cell02 +ASM
RECO_CD_disk06_cell02 +ASM
RECO_CD_disk07_cell02 +ASM
RECO_CD_disk08_cell02 +ASM
RECO_CD_disk09_cell02 +ASM
RECO_CD_disk10_cell02 +ASM
RECO_CD_disk11_cell02 +ASM
RECO_CD_disk12_cell02 +ASM
8. Criarumarquivo "cellkey.ora" utilizando a chave de segurançagerada.Copiaro arquivo "cellkey.ora" para dentro do diretório "/etc/oracle/cell/network-config/" em cada servidor do cluster de ASM.
[oracle@exadb01 ~]$ pwd /home/oracle [oracle@exadb01 ~]$ touch cellkey.ora [oracle@exadb01 ~]$ vi cellkey.ora [oracle@exadb01 ~]$ cat cellkey.ora key=8804b0e5bb8f6a4d10a0e17843e60c1 asm=+ASM #realm=my_realm [oracle@exadb01 ~]$
Copie o diretóriodesejado (/etc/oracle/cell/network-config/)
[oracle@exadb01 ~]$ cpcellkey.ora /etc/oracle/cell/network-config/ [oracle@exadb01 ~]$ cd /etc/oracle/cell/network-config [oracle@exadb01 network-config]$ chmod 640 cellkey.ora [oracle@exadb01 network-config]$ vicellkey.ora [oracle@exadb01 ~]$ catcellkey.ora key=8804b0e5bb8f6a4d10a0e17843e60c1 asm=+ASM realm=my_realm
9. Inicializar a instancia de ASM e a Instância de Banco de Dados.
[oracle@exadb01 ~]$ ps -ef | greppmon oracle 32175 3392 0 06:20 pts/2 00:00:00 greppmon [oracle@exadb01 ~]$ srvctl start asm [oracle@exadb01 ~]$ ps -ef | greppmon oracle 32261 1 0 06:20 ? 00:00:00 asm_pmon_+ASM oracle 32346 3392 0 06:20 pts/2 00:00:00 greppmon [oracle@exadb01 ~]$ srvctl start diskgroup -g DATA [oracle@exadb01 ~]$ srvctl start diskgroup -g RECO [oracle@exadb01 ~]$ srvctl start database -d xdbvm [oracle@exadb01 ~]$ ps -ef | greppmon oracle 423 3392 0 06:24 pts/2 00:00:00 greppmon oracle 32261 1 0 06:20 ? 00:00:00 asm_pmon_+ASM oracle 32520 1 0 06:21 ? 00:00:00 ora_pmon_xdbvm [oracle@exadb01 ~]$
10. Efetuar “Login” na base de dados para validar o inicio corretamente da instância.
[oracle@exadb01 ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 3 06:25:25 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. SQL> connect sys/welcome1@xdbvm as sysdba Connected. SQL> select open_mode,database_role from v$database; OPEN_MODE DATABASE_ROLE -------------------- ---------------- READ WRITE PRIMARY
11. Verificar as chaves das "Células de Exadata"
Exadata Cell Cell01:
CellCLI> list key
+ASM 8804b0e5bb8f6a4d10a0e17843e60c1
Exadata Cell Cell02:
CellCLI>listkey
+ASM 8804b0e5bb8f6a4d10a0e17843e60c1
Deiby Gomez é um DBA com vasta experiencia em Oracle ExadataDatabase Machine esoluções de Alta Dipsonibilidade. Deiby frequentemente ministra palestras em importantes eventos Oracle na Guatemala tais como "Oracle Technology Network Tour", "Java Day", "Primer Simposio de Oracle" e em varias Universidades de seu país de residencia (Guatemala). Deiby é o primeiro Oracle ACE da Guatemala. É "Oracle RAC 11g and GridInfraestructureAdministrator", "ExadataDatabase Machine X3 Administrator", "Oracle Linux CertifiedImplementationSpecialist" e "Oracle SOA ImplementationCertifiedExpert".
YenugulaVenkataRavikumar é um DBA commais de 15 anos de experiencia com Oracle e em ambientes de alta disponibilidade (RAC, Data Guard, dentreoutros), tuninge desempenho, migrações, backuperecover, Oracle Exadata X2 e X3, é Expertem sistemas operacionaistais como como AIX, HP-UX e Linux. Jáparticipou como conferencista de Oracle pela India, ode mora atualmente. Obteve o titulo de "Oracle Certified Master (OCM 10g)" em 2009.
David Siqueira DBA desde 2001, atuante no mercado de São Paulo Brasil, trabalhounasprincipaisconsultoriassempre buscando melhorarconhecimentos e agregar valor aos ambientes por ondepassou, é OCP 10 e 11g, OCE SQL Expert, OCE RAC 10g, OCE Exadata Essentials e foinomeado Oracle ACE emDezembro de 2011. Atuacom ambientes de Alta DisponibilidadeOracel RAC 11g, Exadata X2-2 e Administração de Banco de Dados emGeral. Tambémpossuiconhecimentosem sistemas operacionais Oracle VM server e Oracle BusinnesIntelligence.