Por Deiby Gómez Robles , Yenugula Venkata RaviKumar (OCM) e David Siqueira
Postado en março 2014
Indice:
Introdução: Na primeira parte do artigo, explicamos porque é muito importante a implementação da segurança em um ambiente de "Oracle ExadataDatabase Machine" para podermosrestringir o uso de "Grid Disk" para determinadas bases de dados os clusteres de ASM e por isso foi feito um procedimento que é realizado para implementação da segurança em ASM. Neste novo artigo continuaremos com a demonstração de como implementar segurança á nível de banco de dados.
Restringir o acesso á certos bancos de dados para alguns "ExadataCell" e a determinados "Grid Disk" é utilizado com frequencia garantindo na maioria das organizações que usam bancos de dados uma forma de representação como uma unidade de negócios, por exemplo, o departamento de recursos humanos utiliza uma base de dados diferente para o departamento de recrutamento, deixando o requisito para restringir os dados por conta de um serviço com informação sobre o outro. Em outras organizações, cada departamento tem um certo orçamento para todos os departamentos não podendo usar os discos que desejam para armazenar seus dados, deixando a exigência de que alguns bancos de dados só podem usar determinados discos. A implementação da segurança no banco de dados representa um nível mais fino de granularidade, um nível de segurança em ASM desde o cluster ASM que pode afetar vários outros bancos de dados.
Configuração de Segurança á Nível de Banco de Dados
Ambiente utilizado:
A seguir demonstraremos como se realiza a implementação da segurança a nivel de banco de dados, proporcionando acessos aos "Grid Disks" das Células "Exadata Cell" "Cell01" e "Cell02".
[oracle@exadb01 ~]$ . oraenv ORACLE_SID = [xdbvm] ?+ASM The Oracle base remains unchanged with value /u01/app/oracle
[oracle@exadb01 ~]$ ps -ef | greppmon
oracle 2666 3392 0 08:32 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 ~]$ srvctl stop database -d xdbvm [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 3167 3392 0 08:34 pts/2 00:00:00 greppmon
[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 08:36:23 GMT+00:00 2013 Copyright (c) 2007, 2012, Oracle. All rights reserved. Cell Efficiency Ratio: 510 CellCLI> create key 5d961433bf2f41e4a7ed77db1b14d3a7
[oracle@exadb01 pfile]$ pwd /u01/app/oracle/admin/xdbvm/pfile [oracle@exadb01 pfile]$ vicellkey.ora [oracle@exadb01 pfile]$ catcellkey.ora xdbvm=5d961433bf2f41e4a7ed77db1b14d3a7 asm=+ASM [oracle@exadb01 pfile]$ chmod 640 cellkey.ora
CellCLI> assign key for xdbvm='5d961433bf2f41e4a7ed77db1b14d3a7' Key for xdbvm successfully created CellCLI> list key +ASM 8804b0e5bb8f6a4d10a0e17843e60c1 xdbvm 5d961433bf2f41e4a7ed77db1b14d3a7
CellCLI> alter griddisk DATA_CD_disk01_cell01,DATA_CD_disk02_cell01,DATA_CD_disk03_cell01, DATA_CD_disk04_cell01,DATA_CD_disk05_cell01,DATA_CD_disk06_cell01, DATA_CD_disk07_cell01,DATA_CD_disk08_cell01,DATA_CD_disk09_cell01, DATA_CD_disk10_cell01,DATA_CD_disk11_cell01,DATA_CD_disk12_cell01, RECO_CD_disk01_cell01,RECO_CD_disk02_cell01,RECO_CD_disk03_cell01, RECO_CD_disk04_cell01,RECO_CD_disk05_cell01,RECO_CD_disk06_cell01, RECO_CD_disk07_cell01,RECO_CD_disk08_cell01,RECO_CD_disk09_cell01, RECO_CD_disk10_cell01,RECO_CD_disk11_cell01,RECO_CD_disk12_cell01 availableTo='+ASM,xdbvm' GridDisk DATA_CD_disk01_cell01 successfully altered GridDisk DATA_CD_disk02_cell01 successfully altered GridDisk DATA_CD_disk03_cell01 successfully altered GridDisk DATA_CD_disk04_cell01 successfully altered GridDisk DATA_CD_disk05_cell01 successfully altered GridDisk DATA_CD_disk06_cell01 successfully altered GridDisk DATA_CD_disk07_cell01 successfully altered GridDisk DATA_CD_disk08_cell01 successfully altered GridDisk DATA_CD_disk09_cell01 successfully altered GridDisk DATA_CD_disk10_cell01 successfully altered GridDisk DATA_CD_disk11_cell01 successfully altered GridDisk DATA_CD_disk12_cell01 successfully altered GridDisk RECO_CD_disk01_cell01 successfully altered GridDisk RECO_CD_disk02_cell01 successfully altered GridDisk RECO_CD_disk03_cell01 successfully altered GridDisk RECO_CD_disk04_cell01 successfully altered GridDisk RECO_CD_disk05_cell01 successfully altered GridDisk RECO_CD_disk06_cell01 successfully altered GridDisk RECO_CD_disk07_cell01 successfully altered GridDisk RECO_CD_disk08_cell01 successfully altered GridDisk RECO_CD_disk09_cell01 successfully altered GridDisk RECO_CD_disk10_cell01 successfully altered GridDisk RECO_CD_disk11_cell01 successfully altered GridDisk RECO_CD_disk12_cell01 successfully altered
CellCLI> list griddisk attributes name, availableTo DATA_CD_disk01_cell01 +ASM,xdbvm DATA_CD_disk02_cell01 +ASM,xdbvm DATA_CD_disk03_cell01 +ASM,xdbvm DATA_CD_disk04_cell01 +ASM,xdbvm DATA_CD_disk05_cell01 +ASM,xdbvm DATA_CD_disk06_cell01 +ASM,xdbvm DATA_CD_disk07_cell01 +ASM,xdbvm DATA_CD_disk08_cell01 +ASM,xdbvm DATA_CD_disk09_cell01 +ASM,xdbvm DATA_CD_disk10_cell01 +ASM,xdbvm DATA_CD_disk11_cell01 +ASM,xdbvm DATA_CD_disk12_cell01 +ASM,xdbvm RECO_CD_disk01_cell01 +ASM,xdbvm RECO_CD_disk02_cell01 +ASM,xdbvm RECO_CD_disk03_cell01 +ASM,xdbvm RECO_CD_disk04_cell01 +ASM,xdbvm RECO_CD_disk05_cell01 +ASM,xdbvm RECO_CD_disk06_cell01 +ASM,xdbvm RECO_CD_disk07_cell01 +ASM,xdbvm RECO_CD_disk08_cell01 +ASM,xdbvm RECO_CD_disk09_cell01 +ASM,xdbvm RECO_CD_disk10_cell01 +ASM,xdbvm RECO_CD_disk11_cell01 +ASM,xdbvm RECO_CD_disk12_cell01 +ASM,xdbvm
[celladmin@cell02 ~]$ servicecelld status Password: rsStatus: running msStatus: running cellsrvStatus: running
[celladmin@cell02 ~]$ cellcli CellCLI: Release 11.2.3.2.1 - Production on Tue Dec 03 08:50:19 GMT+00:00 2013 Copyright (c) 2007, 2012, Oracle. All rights reserved. Cell Efficiency Ratio: 508 CellCLI> list key +ASM 8804b0e5bb8f6a4d10a0e17843e60c1 CellCLI> assign key for xdbvm='5d961433bf2f41e4a7ed77db1b14d3a7' Key for xdbvm successfully created CellCLI> list key +ASM 8804b0e5bb8f6a4d10a0e17843e60c1 xdbvm 5d961433bf2f41e4a7ed77db1b14d3a7
CellCLI> alter griddisk DATA_CD_disk01_cell02,DATA_CD_disk02_cell02,DATA_CD_disk03_cell02, DATA_CD_disk04_cell02,DATA_CD_disk05_cell02,DATA_CD_disk06_cell02, DATA_CD_disk07_cell02,DATA_CD_disk08_cell02,DATA_CD_disk09_cell02, DATA_CD_disk10_cell02,DATA_CD_disk11_cell02,DATA_CD_disk12_cell02, RECO_CD_disk01_cell02,RECO_CD_disk02_cell02,RECO_CD_disk03_cell02, RECO_CD_disk04_cell02,RECO_CD_disk05_cell02,RECO_CD_disk06_cell02, RECO_CD_disk07_cell02,RECO_CD_disk08_cell02,RECO_CD_disk09_cell02, RECO_CD_disk10_cell02, RECO_CD_disk11_cell02,RECO_CD_disk12_cell02 availableTo='+ASM,xdbvm'
GridDisk DATA_CD_disk01_cell02 successfully altered GridDisk DATA_CD_disk02_cell02 successfully altered GridDisk DATA_CD_disk03_cell02 successfully altered GridDisk DATA_CD_disk04_cell02 successfully altered GridDisk DATA_CD_disk05_cell02 successfully altered GridDisk DATA_CD_disk06_cell02 successfully altered GridDisk DATA_CD_disk07_cell02 successfully altered GridDisk DATA_CD_disk08_cell02 successfully altered GridDisk DATA_CD_disk09_cell02 successfully altered GridDisk DATA_CD_disk10_cell02 successfully altered GridDisk DATA_CD_disk11_cell02 successfully altered GridDisk DATA_CD_disk12_cell02 successfully altered GridDisk RECO_CD_disk01_cell02 successfully altered GridDisk RECO_CD_disk02_cell02 successfully altered GridDisk RECO_CD_disk03_cell02 successfully altered GridDisk RECO_CD_disk04_cell02 successfully altered GridDisk RECO_CD_disk05_cell02 successfully altered GridDisk RECO_CD_disk06_cell02 successfully altered GridDisk RECO_CD_disk07_cell02 successfully altered GridDisk RECO_CD_disk08_cell02 successfully altered GridDisk RECO_CD_disk09_cell02 successfully altered GridDisk RECO_CD_disk10_cell02 successfully altered GridDisk RECO_CD_disk11_cell02 successfully altered GridDisk RECO_CD_disk12_cell02 successfully altered
CellCLI> list griddisk attributes name, availableTo DATA_CD_disk01_cell02 +ASM,xdbvm DATA_CD_disk02_cell02 +ASM,xdbvm DATA_CD_disk03_cell02 +ASM,xdbvm DATA_CD_disk04_cell02 +ASM,xdbvm DATA_CD_disk05_cell02 +ASM,xdbvm DATA_CD_disk06_cell02 +ASM,xdbvm DATA_CD_disk07_cell02 +ASM,xdbvm DATA_CD_disk08_cell02 +ASM,xdbvm DATA_CD_disk09_cell02 +ASM,xdbvm DATA_CD_disk10_cell02 +ASM,xdbvm DATA_CD_disk11_cell02 +ASM,xdbvm DATA_CD_disk12_cell02 +ASM,xdbvm RECO_CD_disk01_cell02 +ASM,xdbvm RECO_CD_disk02_cell02 +ASM,xdbvm RECO_CD_disk03_cell02 +ASM,xdbvm RECO_CD_disk04_cell02 +ASM,xdbvm RECO_CD_disk05_cell02 +ASM,xdbvm RECO_CD_disk06_cell02 +ASM,xdbvm RECO_CD_disk07_cell02 +ASM,xdbvm RECO_CD_disk08_cell02 +ASM,xdbvm RECO_CD_disk09_cell02 +ASM,xdbvm RECO_CD_disk10_cell02 +ASM,xdbvm RECO_CD_disk11_cell02 +ASM,xdbvm RECO_CD_disk12_cell02 +ASM,xdbvm
Nota: Também podemos utilizar a ferramenta DCLI para as configurações.
[oracle@exadb01 ~]$ . oraenv ORACLE_SID = [xdbvm] ?+ASM The Oracle base remains unchanged with value /u01/app/oracle [oracle@exadb01 ~]$ ps -ef | greppmon oracle 3344 3392 0 08:54 pts/2 00:00:00 greppmon [oracle@exadb01 ~]$ srvctl start asm [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 3441 1 0 08:55 ? 00:00:00 asm_pmon_+ASM oracle 3704 1 0 08:55 ? 00:00:00 ora_pmon_xdbvm oracle 4000 3392 0 08:56 pts/2 00:00:00 greppmon
[oracle@exadb01 ~]$ . oraenv ORACLE_SID = [+ASM] ?xdbvm The Oracle base remains unchanged with value /u01/app/oracle [oracle@exadb01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 3 08:57:06 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved. SQL> connect sys/welcome1@xdbvm as sysdba
SQL> select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE ------------------- ----------------- READ WRITE PRIMARY
Deiby Gómez es un DBA con experiencia en Oracle Exadata Database Machine y Soluciones de Alta Disponibilidad. Frecuentemente da conferencias en distintos eventos de Oracle en Guatemala tales como "Oracle Technology Network Tour", "Java Day", "Primer Simposio de Oracle" y en varias Universidades de su país de residencia (Guatemala). Deiby es el primer Oracle ACE de Guatemala. Deiby es "Oracle RAC 11g and Grid Infraestructure Administrator" y "Exadata Database Machine X3 Administrator". Constantemente publica artículos en su blog www.oraclefromguatemala.com.gt.
Yenugula Venkata RaviKumar es un DBA con más de 13 años de experiencia, especializado en ambientes de Alta Disponibilidad de Bases de Datos (RAC, Data Guard, Golden Gate, entre otras), afinación del rendimiento para Bases de Datos, Migraciones y Respaldos, Oracle Exadata X2 y X3, experto en Sistemas operativos como AIX, HP-UX y Linux . Ha participado como conferencista en varios eventos Oracle en la India donde actualmente reside. Obtuvo el título de Oracle Certified Master 10g en el año 2009.Constantemente publica artículos en su blog http://yvrk1973.blogspot.in.
David Siqueira DBA desde 2001, atuante no mercado de São Paulo Brasil, trabalhou nas principais consultorias sempre buscando melhorar conhecimentos e agregar valor aos ambientes por onde passou, é OCP 10 e 11g, OCE SQL Expert, OCE RAC 10g, OCE Exadata Essentials e foi nomeado Oracle ACE em Dezembro de 2011. Atua com ambientes de Alta Disponibilidade Oracel RAC 11g, Exadata X2-2 e Administração de Banco de Dados em Geral. Também possui conhecimentos em sistemas operacionais Oracle VM server e Oracle Businnes Intelligence.