Pedindo ajuda ao Oracle Exadata
June 27, 2012

Guarde em mente, se você quer mesmo aprender Oracle Exadata você tem que saber uma coisa: Administrar o Exadata Storage Server, a grande diferença entre administrar um ambiente Exadata e não Exadata é a necessidade de controlar o Storage Server.

Quase todas as ferramentas da Oracle que conheço são intuitivas, você acaba aprendendo com elas, o que não é diferente com o CellCli uma ferramenta command line utilizada para configurar, monitorar, manter, visualizar o Exadata Storage Cell (uma célula do Exadata Storage Server). Ferramenta está que somente é disponível quando estamos conectados direto no servidor Exadata, caso faça necessário realizar a conexão fora do Storage Server é necessário então o uso do DCli.

Uma vez estando conectado no servidor Exadata, basta executar o comando cellcli para iniciar a configuração Storage Server:

# cellcli 
CellCLI: Release 11.2.2.1.0 - Production on Tue Jun 26 17:38:49 PDT 2012

Copyright (c) 2007, 2009, Oracle.  All rights reserved.
Cell Efficiency Ratio: 1

CellCLI>

Como eu mencionei no parágrafo anterior, o cellcli é uma ferramente simples e que nos permite um alto nível de configuração. Nada melhor do que pedir uma ajuda para para começar:

CellCLI> help

 HELP [topic]
   Available Topics:
        ALTER
        ALTER ALERTHISTORY
        ALTER CELL
        ALTER CELLDISK
        ALTER GRIDDISK
        ALTER IORMPLAN
        ALTER LUN
        ALTER PHYSICALDISK
        ALTER QUARANTINE
        ALTER THRESHOLD
        ASSIGN KEY
        CALIBRATE
        CREATE
        CREATE CELL
        CREATE CELLDISK
        CREATE FLASHCACHE
        CREATE GRIDDISK
        CREATE KEY
        CREATE QUARANTINE
        CREATE THRESHOLD
        DESCRIBE
        DROP
        DROP ALERTHISTORY
        DROP CELL
        DROP CELLDISK
        DROP FLASHCACHE
        DROP GRIDDISK
        DROP QUARANTINE
        DROP THRESHOLD
        EXPORT CELLDISK
        IMPORT CELLDISK
        LIST
        LIST ACTIVEREQUEST
        LIST ALERTDEFINITION
        LIST ALERTHISTORY
        LIST CELL
        LIST CELLDISK
        LIST FLASHCACHE
        LIST FLASHCACHECONTENT
        LIST GRIDDISK
        LIST IORMPLAN
        LIST KEY
        LIST LUN
        LIST METRICCURRENT
        LIST METRICDEFINITION
        LIST METRICHISTORY
        LIST PHYSICALDISK
        LIST QUARANTINE
        LIST THRESHOLD
        SET
        SPOOL
        START

Veja que em apenas um comando é mostrado todas as formas possíveis de configuração que o cellcli possui. Mas podemos melhorar isso, quero saber por exemplo as possibilidades do comando list, veja a simplicidade:

CellCLI> help list

  Enter HELP LIST  for specific help syntax.
    :  {ACTIVEREQUEST | ALERTHISTORY | ALERTDEFINITION | CELL 
                     | CELLDISK | FLASHCACHE | FLASHCACHECONTENT | GRIDDISK
                     | IORMPLAN | KEY | LUN 
                     | METRICCURRENT | METRICDEFINITION | METRICHISTORY 
                     | PHYSICALDISK | QUARANTINE | THRESHOLD }

As possibilidades estão aumento, veja acima que com o comando list é possível descobrir a quantidade dos celldisk, a quantidade e status de cada um dos griddisk, saber todas as LUNs criadas no Storage e por ai vai … No exemplo abaixo vemos todos os griddisk do ambiente:

CellCLI> list griddisk
	 data_AA_01_cell	 active
	 data_AA_02_cell	 active
	 data_AA_03_cell	 active
	 data_AA_04_cell	 active
	 data_AA_05_cell	 active
	 data_AA_06_cell	 active
	 data_BB_00_cell    	 active
	 data_BB_01_cell    	 active
	 data_BB_02_cell    	 active
	 data_BB_03_cell    	 active

E podemos tirar muito mais do comando help, quero saber agora mais opções da listagem do griddisk:

CellCLI> help list griddisk

  Usage: LIST GRIDDISK [ | ] [] [DETAIL] 

  Purpose: Displays specified attributes for grid disks.

  Arguments:
    :  The name of the grid disk to be displayed.
    :  an expression which determines which grid disks should
                be displayed.
    : The attributes that are to be displayed.
                      ATTRIBUTES {ALL | attr1 [, attr2]... }

  Options:
    [DETAIL]: Formats the display as an attribute on each line, with
              an attribute descriptor preceding each value.

  Examples:
    LIST GRIDDISK where size > 100M
    LIST GRIDDISK gd1 DETAIL

Descobrimos acima, que podemos saber mais detalhes do griddisk se colocarmos a opção DETAIL no final do comando. Vamos tentar:

CellCLI> list griddisk data_CD_disk01_cell detail
	 name:              	 data_CD_disk01_cell
	 availableTo:       	 
	 cellDisk:          	 AA_01_cell
	 comment:           	 
	 creationTime:      	 2012-11-21T12:06:11-44:00
	 diskType:          	 HardDisk
	 errorCount:        	 0
	 id:                	 0000001a-a1ee-0b2g-0000-000000000000
	 offset:            	 48T
	 size:              	 448T
	 status:            	 active

Também é possível, de acordo com a saída do comando help, colocar filtros na pesquisa do comando list. No caso abaixo quero descobrir quais os griddisk maiores que 500 G.

CellCLI> list griddisk where size > 500G
	 data_AA_01_cell	 active
	 data_AA_02_cell	 active
	 data_BB_00_cell    	 active
	 data_BB_01_cell    	 active

Tudo isso feito simplesmente a partir do comando help, com um simples comando, podemos descobrir “n” possibilidades reais.

Em breve mais post sobre Exadata, conceitos e aplicações na prática !

Dúvidas? Comentem!
No que puder, terei prazer em ajudar :)

Um abraço a todos!

Falta de DBAs qualificados
June 27, 2012

Segundo informa a Info Abril, as empresas especializadas em recrutamento  diz que o mercado de banco de dados está em alta e com ela a falta de profissionais especializados. Essa realidade chega ser tão grande que um dos entrevistados afirma que atualmente o problema tem afetado praticamente todas as empresas, apesar de oferecerem grandes oportunidades (salário e carreira) de crescimento.

“Esta realidade atinge praticamente todas as corporações. Todo setor de TI está em crescimento, mas nas áreas de segurança e armazenamento de dados essa demanda é percebida com mais força. São tendências influenciadas pela disseminação da computação em nuvem, que armazena os dados em data centers e não mais dentro das empresas”, diz França (coordenador do curso de Banco de Dados da BandTec).

O que mais despertou ao ler a matéria é que existem ótimas oportunidades em empresas conceituadas e ainda assim essas empresas não conseguem preencher todas as vagas necessárias devida a falta de qualificação dos profissionais entrevistados.

O que tem faltado para os DBAs? Será que os cursos e faculdades tem preparado de maneira correta para o mercado de hoje? O que o DBA sabe hoje, é o que a empresa precisa para o amanhã? Falta esforço? Oportunidades? Eu também não sei … o que sei é que DBA tem que colocar a mão na massa: estudar, aprender, especializar, certificar e agarrar a oportunidade.

A matéria toda você confere aqui

 

GUOB Tech Day 2012
June 22, 2012

Olá Pessoal,

Podem anotar na agenda, dia 11 de Agosto aqui em São Paulo estará acontecendo o GUOB Tech Day 2012, com participações incríveis de palestrantes internacionais como: Tom Kyte, Graham Wood e Craig Shallahamer.

Nada melhor do que um evento desse porte para ficarmos atualizados com os assuntos e produtos do mundo Oracle,  conseguir ótimas ideais e mantermos inspirados. O evento GUOB Tech Day 2012 que conta com o apoio Oracle, estará acontecendo no auditório do Hotel Blue Tree Premium Morumbi e a agenda toda do evento você encontra aqui.

Será imperdível é a chance de fortalecermos ainda mais o time de profissionais Oracle aqui no Brasil com troca de conhecimentos e experiências, além da oportunidade de ver pessoalmente os principais gurus Oracle do mundo.

Nos vemos lá :)

GUOB Tech Day 2012

Montando seus datafiles em NFS
June 20, 2012

Há uma maneira correta de montar a NFS em dispositivos NAS para os arquivos de dados Oracle? A resposta é Sim! E existem muitos NFS por aí montados para ambientes Oracle de maneira errada, não de acordo com as exigências da Oracle.

De acordo com o Oracle, as opções necessárias para montar uma NFS para um datafile são as seguintes:

rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp,actimeo=0*

Isso também se faz necessários para NFS onde backups RMAN são executados, evitando assim o erro:

ORA-19504: failed to create file "/backup/DBTST_2_5_U9idjai.bkp"
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
Checando o Asynchronous I/O no Linux
June 19, 2012

Asynchronous I/O é uma maneira diferente de processar os dados de input/output. Utilizando Async I/O permite que outros processos continue antes da transmissão ter sido concluída, fornecendo assim grande ganho de performance para operações de IO.

Para verificar se está característica está habilitado checamos através do slabinfo. O slabinfo mantém todas as estatísticas sobre os objetos em memória, assim podemos verificar as operações de AIO já que ele trata os objetos na memória virtual.

cat /proc/slabinfo | grep kio

Caso o seu ASYNC IO esteja habilitado o retorno do comando acima deve parecer assim:

kioctx                 188       244        128 9       9 1 : 252 126
kiocb                  43010 43010      96  1652 1652 1 : 252 126

Agora, se o seu AIO não está habilitado o kiocb deve estar seguido de dois 0 (zeros).

kioctx                28     60    192   20    1 : tunables  120   60    8 : slabdata      3      3      0
kiocb                  0 0    128   30    1 : tunables  120   60    8 : slabdata      0      0      0

Com o a utilizando do ASMLib, esse comportamento não pode ser seguido já que o ASMLib não utiliza as funções POSIX aio_*(), então nunca vamos ver o kiocb em ação.

Quando o ASMLib é utilizado podemos simplesmente checar através do parâmetro disk_asynch_io na instância ASM, você pode inclusive habilitar e desabilitar o AIO apenas definindo o parâmetro disk_asynch_io para TRUE ou FALSE.