Archive for August, 2010

Olá pessoal!

Hoje veremos mais detalhes sobre a ferramenta oifcfg.

Ela é utilizada para definir quais serão as interfaces de rede pública e privada no Clusterware. Além disso, ela é utilizada quando é necessário alterar a faixa de endereço IP e subnet de uma rede específica (necessário quando há mudança na faixa de IP’s utilizada pela corporação).

Características do oifcfg:

  • Pode ser utilizado com o usuário oracle;
  • A partir de qualquer nó, controla todos;
  • Ferramenta para administração das interfaces de rede utilizadas no Clusterware:
    • Pública (VIP);
    • Privada (InterConnect).
  • Caso uma interface de rede queime, essa ferramenta será utilizada para substituir a interface de rede no OCR;
  • Útil para alterar a Subnet de uma interface de rede.

Como citado, as alterações efetuadas através do oifcfg são armazenadas no OCR.

Para verificar quais são as interfaces de rede e seu devido uso no Clusterware:

[oracle@mvrac1 oracle]$ oifcfg getif
eth0  172.23.10.0  global  public
eth1  10.0.0.0  global  cluster_interconnect

Para reconfigurar uma placa de rede para outra faixa de IP, primeiro, é necessário excluir as configurações desta placa:

[oracle@mvrac1 oracle]$ oifcfg delif -global eth0

A opção -global significa que esta configuração deverá ser válida para todos os nós, ou seja, a placa eth0 deverá ser excluída da configuração do Clusterware em todos os nós. Esta opção é utilizada pois também pode ser feita a configuração de uma interface de rede em apenas um nó, com a opção…

Vamos supor que ambas as interfaces serão excluídas pois outras serão configuradas. Vamos agora excluir a configuração da placa eth1:

[oracle@mvrac1 oracle]$ oifcfg delif -global eth1

Agora devemos configurar as placas desejadas:

[oracle@mvrac1 oracle]$ oifcfg setif -global eth3/192.168.111.0:public
[oracle@mvrac1 oracle]$ oifcfg setif -global eth4/10.0.0.0:cluster_interconnect

Lembrando que para alterar o endereço de InterConnect também é necessário alterar a informação no arquivo /etc/hosts e no arquivo de configuração da placa de rede em /etc/sysconfig/network-scripts/ifcfg-ethX.

Para o VIP, além disso, também é necessário alterar o endereço IP no OCR através do srvctl, conforme citado no post Oracle Clusterware – Rotinas Administrativas – Parte 3 – srvctl.

Um abraço!

Vinicius







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.

Olá pessoal!

Hoje veremos sobre as ferramentas de gerenciamento do OCR.

Características do ocrcheck:

  • Pode ser executado com o usuário root ou oracle;
  • Exibe informações a respeito do OCR (tamanho, versão, status, localização;
  • Um log é gerado em $ORA_CRS_HOME/log/<hostname>/client/ocrcheck_<pid>.log

Exemplo de uso, ocrcheck:

[root@mvrac1 oracle]# ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          2
         Total space (kbytes)     :     256788
         Used space (kbytes)      :       4624
         Available space (kbytes) :     252164
         ID                       :  382969207
         Device/File Name         :  /dev/ocr1
                                    Device/File integrity check succeeded
         Device/File Name         :  /dev/ocr2
                                    Device/File integrity check succeeded

         Cluster registry integrity check succeeded

Como podem observar, o ocrcheck é utilizado para verificar a integridade do OCR.

Conteúdo do log gerado:

Oracle Database 10g CRS Release 10.2.0.4.0 Production Copyright 1996, 2008 Oracle.  All rights reserved.
2010-08-16 10:36:03.160: [OCRCHECK][6617296]ocrcheck starts...
2010-08-16 10:36:21.884: [OCRCHECK][6617296]protchcheck: OCR status : total = [256788], used = [4624], avail = [252164]

O ocrcheck pode ser utilizado caso haja algum problema no Clusterware para verificar a integridade do OCR.

Características do ocrdump:

  • Faz o dump do OCR;
  • Deve ser utilizado com o usuário root;
  • Usado para consultar sobre os registros do OCR em caso de perda e necessidade de novo registro (este, manual);
  • Suporte Oracle pode solicitar para tratar algum problema do Clusterware.

Exemplo de uso, ocrdump:

[root@mvrac1 oracle]# ocrdump /root/ocrdump.txt

Início do arquivo texto gerado:

08/17/2010 20:40:15
/u01/app/oracle/product/10.2.0/crs/bin/ocrdump.bin /root/ocrdump.txt

[SYSTEM]
UNDEF :
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : roo
t, GROUP_NAME : root}

[SYSTEM.css]
UNDEF :
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : roo
t, GROUP_NAME : root}

[SYSTEM.css.interfaces]
UNDEF :
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_CREATE_SUB_KEY, OTHER_PERMISSION : PROCR_READ, USER_
NAME : oracle, GROUP_NAME : oinstall}

[SYSTEM.css.interfaces.global]
UNDEF :
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_ALL_ACCESS, OTHER_PERMISSION : PROCR_READ, USER_NAME
 : oracle, GROUP_NAME : oinstall}

Mais um trecho do arquivo gerado:

[DATABASE.DATABASES.mvdb.SPFILE]
ORATEXT : +DG_DADOS/mvdb/spfilemvdb.ora
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_WRITE, OTHER_PERMISSION : PROCR_READ, USER_NAME : oracle, GROUP_NAME : dba}

Características do ocrconfig:

  • Ferramenta de configuração do OCR;
  • Deve ser utilizado com o usuário root;
  • Permite realizar backup lógico do OCR (-export -s online);
  • Permite importar o backup lógico;
  • Permite fazer upgrade/downgrade do OCR;
  • Exibe qual é o diretório de backup automático do OCR e os últimos backups automáticos (-showbackup);
  • Altera o local de backup automático (-backuploc );
  • Substitui o local do OCR (-replace ocr | ocrmirror );
  • Sobrescreve a configuração do OCR (-overwrite);
  • Repara o OCR (-repair ocr | ocrmirror );
  • Um log é gerado em $ORA_CRS_HOME/log/<hostname>/client/ocrconfig_<pid>.log

O Clusterware gera um backup automático do OCR a cada 4 horas, conforme citado no post Oracle Clusterware – Arquitetura – Parte 2 – Principais Arquivos: Voting Disk e OCR.

Vamos exibir os backups automáticos:

[root@mvrac1 ~]# ocrconfig -showbackup

mvrac2     2010/08/16 08:16:47     /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv

mvrac2     2010/08/16 02:53:24     /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv

mvrac1     2010/08/11 23:11:57     /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv

mvrac2     2010/08/16 02:53:24     /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv

mvrac1     2010/08/08 02:24:35     /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv

Como pudemos observar, os últimos backups estão no nó MVRAC2.

Verificando os arquivos de backup existentes no diretório:

[root@mvrac2 ~]# ls -ltr /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv
total 28536
-rw-r--r-- 1 root root 4837376 Apr 26 00:19 week.ocr
-rw-r--r-- 1 root root 4861952 Jul 15 03:53 backup02.ocr
-rw-r--r-- 1 root root 4861952 Aug 16 02:53 backup01.ocr
-rw-r--r-- 1 root root 4861952 Aug 16 02:53 day.ocr
-rw-r--r-- 1 root root 4861952 Aug 16 08:16 week_.ocr
-rw-r--r-- 1 root root 4861952 Aug 16 08:16 backup00.ocr

Os backups estão ali.

Vamos fazer uma brincadeira?

Vamos corromper 1 OCR (como root):

[root@mvrac1 ~]# dd if=/dev/zero of=/dev/ocr1
dd: writing to `/dev/ocr1': No space left on device
514018+0 records in
514017+0 records out
263176704 bytes (263 MB) copied, 8.42927 seconds, 31.2 MB/s

Vamos agora verificar a integridade do OCR com o ocrcheck:

[root@mvrac1 ~]# ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          2
         Total space (kbytes)     :     256788
         Used space (kbytes)      :       4624
         Available space (kbytes) :     252164
         ID                       :  382969207
         Device/File Name         :  /dev/ocr1
                                    Device/File needs to be synchronized with the other device
         Device/File Name         :  /dev/ocr2
                                    Device/File integrity check succeeded

         Cluster registry integrity check succeeded

O device /dev/ocr1 não está mais íntegro.

Bom, vamos agora corromper o outro OCR:

[root@mvrac1 ~]# dd if=/dev/zero of=/dev/ocr2
dd: writing to `/dev/ocr1': No space left on device
514018+0 records in
514017+0 records out
263176704 bytes (263 MB) copied, 8.42927 seconds, 31.2 MB/s

Verificando novamente a integridade do OCR:

[root@mvrac1 ~]# ocrcheck
Segmentation fault

Verificando o status dos componentes do cluster:

[root@mvrac1 ~]# crsstat
HA Resource                                        Target     State
-----------                                        ------     -----
error connecting to CRSD at [(ADDRESS=(PROTOCOL=ipc)(KEY=ora_crsqs))] clsccon 184

Verificando o log $ORA_CRS_HOME/log/mvrac1/alertmvrac1.log:

2010-08-17 20:45:22.046
[client(9701)]CRS-1006:The OCR location /dev/ocr2 is inaccessible. Details in /u01/app/oracle/product/10.2.0/crs/log/mvrac1/client/ocrcheck_9701.log.
2010-08-17 20:45:22.037
[crsd(4403)]CRS-1006:The OCR location /dev/ocr2 is inaccessible. Details in /u01/app/oracle/product/10.2.0/crs/log/mvrac1/crsd/crsd.log.

Trecho do log $ORA_CRS_HOME/mvrac1/crsd/crsd.log:

2010-08-17 20:45:24.233: [  OCRRAW][3055160208]proprdc: backend_ctx->metactx=[0x932bbc8]
2010-08-17 20:45:24.233: [  OCRRAW][3055160208]proprdc: backend_ctx->prop_sctx=[0x9327600]
2010-08-17 20:45:24.233: [  OCRRAW][3055160208]proprdc: backend_ctx->prop_sltsmx=[0x0]
2010-08-17 20:45:24.234: [  OCRRAW][3055160208]proprdc: backend_ctx->prop_sclsctx=[0x9350004]
2010-08-17 20:45:24.234: [  OCRRAW][3055160208]proprdc: backend_ctx->prop_ctx_ocrctx=[0x9357f24]
[  OCRAPI][3055160208]procr_ctx_set_invalid_no_abort: ctx set to invalid
[  OCRAPI][3055160208]procr_ctx_set_invalid: aborting...

Fazendo o restore do OCR:

[root@mvrac2 oracle]# ocrconfig -restore /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv/backup00.ocr

Verificando a integridade do OCR:

[root@mvrac2 oracle]# ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          2
         Total space (kbytes)     :     256788
         Used space (kbytes)      :       4624
         Available space (kbytes) :     252164
         ID                       :  382969207
         Device/File Name         :  /dev/ocr1
                                    Device/File integrity check succeeded
         Device/File Name         :  /dev/ocr2
                                    Device/File integrity check succeeded

         Cluster registry integrity check succeeded

Verificando o status dos recursos do Clusterware:

[root@mvrac1 crsd]# crsstat
HA Resource                                        Target     State
-----------                                        ------     -----
ora.mvdb.db                                        ONLINE     ONLINE on mvrac1
ora.mvdb.mvdb1.inst                                ONLINE     ONLINE on mvrac1
ora.mvdb.mvdb2.inst                                ONLINE     ONLINE on mvrac2
ora.mvdb.producao.cs                               ONLINE     ONLINE on mvrac1
ora.mvdb.producao.mvdb1.srv                        ONLINE     ONLINE on mvrac1
ora.mvdb.producao.mvdb2.srv                        ONLINE     ONLINE on mvrac2
ora.mvrac1.ASM1.asm                                ONLINE     ONLINE on mvrac1
ora.mvrac1.LISTENER_MVRAC1.lsnr                    ONLINE     ONLINE on mvrac1
ora.mvrac1.gsd                                     ONLINE     ONLINE on mvrac1
ora.mvrac1.ons                                     ONLINE     ONLINE on mvrac1
ora.mvrac1.vip                                     ONLINE     ONLINE on mvrac1
ora.mvrac2.ASM2.asm                                ONLINE     ONLINE on mvrac2
ora.mvrac2.LISTENER_MVRAC2.lsnr                    ONLINE     ONLINE on mvrac2
ora.mvrac2.gsd                                     ONLINE     ONLINE on mvrac2
ora.mvrac2.ons                                     ONLINE     ONLINE on mvrac2
ora.mvrac2.vip                                     ONLINE     ONLINE on mvrac2

Como puderam ver, desde que tenhamos os arquivos de backup do OCR disponíveis, é fácil recuperar o ambiente de Clusterware após um desastre.

No próximo, continuaremos com as rotinas administrativas do Clusterware.

Um abraço!

Vinicius







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.

Olá pessoal!

Hoje veremos como interromper e inicializar recursos individualmente utilizando outros binários: crs_start e crs_stop.

Características do crs_start e crs_stop:

  • Pode ser executado a partir de qualquer nó;
  • Deve ser executado com o usuário root;
  • Controla todos os nós;
  • Inicializa e interrompe individualmente os recursos gerenciados pelo Clusterware.

Alguns exemplos de uso:

Interrompendo o listener do nó MVRAC2 a partir do nó MVRAC1

[root@mvrac1 ~]# crs_stop ora.mvrac2.LISTENER_MVRAC2.lsnr
Attempting to stop `ora.mvrac2.LISTENER_MVRAC2.lsnr` on member `mvrac2`
Stop of `ora.mvrac2.LISTENER_MVRAC2.lsnr` on member `mvrac2` succeeded.

Verificando o status dos componentes:

[root@mvrac1 ~]$ crsstat
HA Resource                                        Target     State
-----------                                        ------     -----
ora.mvdb.db                                        ONLINE     ONLINE on mvrac1
ora.mvdb.mvdb1.inst                                ONLINE     ONLINE on mvrac1
ora.mvdb.mvdb2.inst                                ONLINE     ONLINE on mvrac2
ora.mvdb.producao.cs                               ONLINE     ONLINE on mvrac1
ora.mvdb.producao.mvdb1.srv                        ONLINE     ONLINE on mvrac1
ora.mvdb.producao.mvdb2.srv                        ONLINE     ONLINE on mvrac2
ora.mvrac1.ASM1.asm                                ONLINE     ONLINE on mvrac1
ora.mvrac1.LISTENER_MVRAC1.lsnr                    ONLINE     ONLINE on mvrac1
ora.mvrac1.gsd                                     ONLINE     ONLINE on mvrac1
ora.mvrac1.ons                                     ONLINE     ONLINE on mvrac1
ora.mvrac1.vip                                     ONLINE     ONLINE on mvrac1
ora.mvrac2.ASM2.asm                                ONLINE     ONLINE on mvrac2
ora.mvrac2.LISTENER_MVRAC2.lsnr                    OFFLINE    OFFLINE
ora.mvrac2.gsd                                     ONLINE     ONLINE on mvrac2
ora.mvrac2.ons                                     ONLINE     ONLINE on mvrac2
ora.mvrac2.vip                                     ONLINE     ONLINE on mvrac2

Inicializando o listener do nó MVRAC2 a partir do nó MVRAC1:

[root@mvrac1 ~]# crs_start ora.mvrac2.LISTENER_MVRAC2.lsnr
Attempting to start `ora.mvrac2.LISTENER_MVRAC2.lsnr` on member `mvrac2`
Start of `ora.mvrac2.LISTENER_MVRAC2.lsnr` on member `mvrac2` succeeded.

Verificando o status dos componentes:

[root@mvrac1 ~]# crsstat
HA Resource                                        Target     State
-----------                                        ------     -----
ora.mvdb.db                                        ONLINE     ONLINE on mvrac1
ora.mvdb.mvdb1.inst                                ONLINE     ONLINE on mvrac1
ora.mvdb.mvdb2.inst                                ONLINE     ONLINE on mvrac2
ora.mvdb.producao.cs                               ONLINE     ONLINE on mvrac1
ora.mvdb.producao.mvdb1.srv                        ONLINE     ONLINE on mvrac1
ora.mvdb.producao.mvdb2.srv                        ONLINE     ONLINE on mvrac2
ora.mvrac1.ASM1.asm                                ONLINE     ONLINE on mvrac1
ora.mvrac1.LISTENER_MVRAC1.lsnr                    ONLINE     ONLINE on mvrac1
ora.mvrac1.gsd                                     ONLINE     ONLINE on mvrac1
ora.mvrac1.ons                                     ONLINE     ONLINE on mvrac1
ora.mvrac1.vip                                     ONLINE     ONLINE on mvrac1
ora.mvrac2.ASM2.asm                                ONLINE     ONLINE on mvrac2
ora.mvrac2.LISTENER_MVRAC2.lsnr                    ONLINE     ONLINE on mvrac2
ora.mvrac2.gsd                                     ONLINE     ONLINE on mvrac2
ora.mvrac2.ons                                     ONLINE     ONLINE on mvrac2
ora.mvrac2.vip                                     ONLINE     ONLINE on mvrac2

Vocês puderam observar que é necessário especificar o nome completo do recurso, diferentemente do srvctl onde especificamos os recursos através de flags (-n para nó, -d para database, -i para instancia, etc…).

Comparando o crs_start/crs_stop com o srvctl, podemos verificar que o controle de cada recurso individual é mais fino no crs_start/crs_stop, já que no srvctl temos o recurso NODEAPPS que controla os recursos listener, gds, ons e vip. Cada recurso desse pode ser controlado manualmente pelo crs_start/crs_stop.

Além de inicializar/interromper os recursos, ele também “atualiza” o status dos componentes no OCR. Isso pode ser necessários em determinadas ocasiões onde o recurso está OFFLINE mas o seu alvo consta como ONLINE (no caso de uma máquina que não foi inicializada), ou qualquer outra situação.

O recurso pode ser “forçado” a ficar em OFFLINE a partir do crs_stop com a opção -f (force):

[root@mvrac1 ~]# crs_stop ora.mvrac2.LISTENER_MVRAC2.lsnr -f

Bom, o uso do crs_start e crs_stop é bem limitado. Eu só utilizo* esses binários nestas situações específicas.

Também há o binário crs_relocate.

Ele é utilizado para reposicionar um recurso do Clusterware.

Reposicionando o VIP:

[root@mvrac1 ~]# crs_relocate ora.mvrac1.vip
mvrac2 : CRS-1022: Resource ora.mvrac1.LISTENER_MVRAC1.lsnr (application) is running on mvrac1

CRS-0223: Resource 'ora.mvrac1.vip' has placement error.

Se eu tentar fazer o relocate do VIP com o listener no ar, eu receberei esse erro acima, pois o listener é um recurso dependente do VIP.

Neste caso, eu interrompo primeiro o listener:

[root@mvrac1 ~]# crs_stop ora.mvrac1.LISTENER_MVRAC1.lsnr
Attempting to stop `ora.mvrac1.LISTENER_MVRAC1.lsnr` on member `mvrac1`
Stop of `ora.mvrac1.LISTENER_MVRAC1.lsnr` on member `mvrac1` succeeded.

Aí faço o relocate do VIP:

[root@mvrac1 ~]#  crs_relocate ora.mvrac1.vip
Attempting to stop `ora.mvrac1.vip` on member `mvrac1`
Stop of `ora.mvrac1.vip` on member `mvrac1` succeeded.
Attempting to start `ora.mvrac1.vip` on member `mvrac2`
Start of `ora.mvrac1.vip` on member `mvrac2` succeeded.

O relocate geralmente é utilizado quando um recurso (VIP) não foi inicializado no seu nó (por um problema de placa de rede, por exemplo).

Este artigo foi bem simples. No próximo, veremos sobre as ferramentas de gerenciamento do OCR.

Um abraço!

Vinicius

* Corrigido erro de digitação. Obrigado LRezende!







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.

Certificação: Amigos

Olá pessoal!

É com muito orgulho que anuncio aqui que o meu amigo David Ricardo, do blog Dbaguard, e também colega de consultoria, foi aprovado na prova 1Z0-042: Oracle Database 10g: Administration I com 98% de aproveitamento!

Isso ocredencia à certificação OCA – Oracle Certified Associate – no Oracle Database 10g!

Parabéns David!

O OCA é a primeira certificação da trilha de certificação da Oracle para o Oracle Database. O próximo passo da trilha é a certificação OCP – Oracle Certified Professional.

Essa aprovação mostra que além de conhecimento, competência e estudo, o David agora é reconhecido pela Oracle como um profissional que conhece o produto de banco de dados! Ele merece!

Abraços

Vinicius







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.

Olá pessoal!

Bom, depois das comemorações devido à nomeação a Oracle ACE, voltaremos ao trabalho!

Continuaremos com a série de artigos/posts que trata sobre as rotinas administrativas do Clusterware.

Hoje veremos mais detalhes a respeito do crs_stat.

Essa ferramenta é utilizada para visualizar o status dos componentes registrados no Clusterware.

Características do crs_stat:

  • Pode ser executado a partir de qualquer nó;
  • Deve ser executado com o usuário oracle;
  • Controla todos os nós;
  • Visualiza o status dos componentes registrados no Clusterware.

Alguns exemplos de uso:

Sintaxe mais utilizada:

[oracle@mvrac1 ~]$ crs_stat -t

A saída do comando será:

Name           Type           Target    State     Host
------------------------------------------------------------
ora.mvdb.db    application    ONLINE    ONLINE    mvrac1
ora....b1.inst application    ONLINE    ONLINE    mvrac1
ora....b2.inst application    ONLINE    ONLINE    mvrac2
ora....ucao.cs application    ONLINE    ONLINE    mvrac1
ora....db1.srv application    ONLINE    ONLINE    mvrac1
ora....db2.srv application    ONLINE    ONLINE    mvrac2
ora....SM1.asm application    ONLINE    ONLINE    mvrac1
ora....C1.lsnr application    ONLINE    ONLINE    mvrac1
ora.mvrac1.gsd application    ONLINE    ONLINE    mvrac1
ora.mvrac1.ons application    ONLINE    ONLINE    mvrac1
ora.mvrac1.vip application    ONLINE    ONLINE    mvrac1
ora....SM2.asm application    ONLINE    ONLINE    mvrac2
ora....C2.lsnr application    ONLINE    ONLINE    mvrac2
ora.mvrac2.gsd application    ONLINE    ONLINE    mvrac2
ora.mvrac2.ons application    ONLINE    ONLINE    mvrac2
ora.mvrac2.vip application    ONLINE    ONLINE    mvrac2

Observem que para alguns dos recursos registrados no Clusterware, o nome é “quebrado” para facilitar a visualização. No entanto, isso não facilita o gerenciamento dos recursos, já que fica mais complicado identificar os recursos.

Para entender a saída do comando:

A primeira coluna exibe o nome do recurso.

A segunda coluna exibe o tipo de recurso no Clusterware. Todos os recursos exibidos são do tipo application.

A coluna TARGET indica qual é o status esperado do recurso.

A coluna STATE indica o status atual do recurso.

A coluna HOST indica em qual host o recurso está em execução.

Outra forma de utilizar o crs_stat é da seguinte forma:

[oracle@mvrac1 ~]$ crs_stat

A saída do comando será:

NAME=ora.mvdb.db
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvdb.mvdb1.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvdb.mvdb2.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac2

NAME=ora.mvdb.producao.cs
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvdb.producao.mvdb1.srv
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvdb.producao.mvdb2.srv
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac2

NAME=ora.mvrac1.ASM1.asm
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvrac1.LISTENER_MVRAC1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvrac1.gsd
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvrac1.ons
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvrac1.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac1

NAME=ora.mvrac2.ASM2.asm
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac2

NAME=ora.mvrac2.LISTENER_MVRAC2.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac2

NAME=ora.mvrac2.gsd
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac2

NAME=ora.mvrac2.ons
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac2

NAME=ora.mvrac2.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINE on mvrac2

Observem que mesmo exibindo o status de todos os componentes sem quebras de texto, para um cluster com muitos recursos registrados se torna inviável utilizar o comando desta forma, pois também não fica fácil gerenciar os componentes desta forma.

Para solucionar isso, um bom conhecimento em shell scripting resolve. Ou então, podemos utilizar alguma solução já criada por alguém.

Este é o caso! 🙂

Existe um guru em Oracle RAC chamado Jeffrey Hunter. Ele desenvolveu um script que facilita a leitura do status dos componentes do clusterware.

O script pode ser baixado diretamente do site dele: http://www.idevelopment.info/data/Oracle/DBA_scripts/UNIX_Shell_Scripts/rac_crs_stat

O script está reproduzido abaixo:

#!/bin/ksh

# +----------------------------------------------------------------------------+
# |                          Jeffrey M. Hunter                                 |
# |                      jhunter@idevelopment.info                             |
# |                         www.idevelopment.info                              |
# |----------------------------------------------------------------------------|
# |      Copyright (c) 1998-2009 Jeffrey M. Hunter. All rights reserved.       |
# |----------------------------------------------------------------------------|
# | DATABASE : Oracle                                                          |
# | FILE     : rac_crs_stat                                                    |
# | CLASS    : UNIX Shell Scripts                                              |
# | PURPOSE  : This KSH script will query all CRS resources using the crs_stat |
# |            script. The report will be a formatted version of the           |
# |            crs_stat -t command, but in tabular form with resource name     |
# |            and status. Filtering options are available by passing in a     |
# |            single string parameter to this script. This argument will be   |
# |            used to limit the output to HA resources whose names match      |
# |            that string.                                                    |
# | USAGE    : rac_crs_stat.ksh [RESOURCE_KEY]                                 |
# | NOTE     : This script requires the environment $ORA_CRS_HOME to be set to |
# |            your CRS installation.                                          |
# | NOTE     : As with any code, ensure to test this script in a development   |
# |            environment before attempting to run it in production.          |
# +----------------------------------------------------------------------------+

# +----------------------------------------------------------------------------+
# | GLOBAL VARIABLES                                                           |
# +----------------------------------------------------------------------------+

RSC_KEY=$1
QSTAT=-u
AWK=/usr/bin/awk

# +----------------------------------------------------------------------------+
# | TABLE HEADER                                                               |
# +----------------------------------------------------------------------------+

$AWK \
  'BEGIN {printf "%-50s %-10s %-18s\n", "HA Resource", "Target", "State";
          printf "%-50s %-10s %-18s\n", "-----------", "------", "-----";}'

# +----------------------------------------------------------------------------+
# | TABLE BODY                                                                 |
# +----------------------------------------------------------------------------+

$ORA_CRS_HOME/bin/crs_stat $QSTAT | $AWK \
 'BEGIN { FS="="; state = 0; }
  $1~/NAME/ && $2~/'$RSC_KEY'/ {appname = $2; state=1};
  state == 0 {next;}
  $1~/TARGET/ && state == 1 {apptarget = $2; state=2;}
  $1~/STATE/ && state == 2 {appstate = $2; state=3;}
  state == 3 {printf "%-50s %-10s %-18s\n", appname, apptarget, appstate; state=0;}'

Eu gosto de alterar o script incluindo uma variável de ambiente, que para o script, já deveria estar definida no sistema operacional. Alterar da seguinte forma:

De:

# +----------------------------------------------------------------------------+
# | TABLE BODY                                                                 |
# +----------------------------------------------------------------------------+

$ORA_CRS_HOME/bin/crs_stat $QSTAT | $AWK \

Para:

# +----------------------------------------------------------------------------+
# | TABLE BODY                                                                 |
# +----------------------------------------------------------------------------+

ORA_CRS_HOME=/u01/app/oracle/product/10.2.0/crs
$ORA_CRS_HOME/bin/crs_stat $QSTAT | $AWK \

Observem que incluí a linha onde defino a localização de ORA_CRS_HOME.

Eu costumo colocar esse script, com permissão de escrita (chmod +x) em /usr/local/bin, pois assim qualquer usuário do sistema operacional conseguirá visualizar o status dos componentes do clusterware.

HA Resource                                        Target     State             
-----------                                        ------     -----             
ora.mvdb.db                                        ONLINE     ONLINE on mvrac1  
ora.mvdb.mvdb1.inst                                ONLINE     ONLINE on mvrac1  
ora.mvdb.mvdb2.inst                                ONLINE     ONLINE on mvrac2  
ora.mvdb.producao.cs                               ONLINE     ONLINE on mvrac1  
ora.mvdb.producao.mvdb1.srv                        ONLINE     ONLINE on mvrac1  
ora.mvdb.producao.mvdb2.srv                        ONLINE     ONLINE on mvrac2  
ora.mvrac1.ASM1.asm                                ONLINE     ONLINE on mvrac1  
ora.mvrac1.LISTENER_MVRAC1.lsnr                    ONLINE     ONLINE on mvrac1  
ora.mvrac1.gsd                                     ONLINE     ONLINE on mvrac1  
ora.mvrac1.ons                                     ONLINE     ONLINE on mvrac1  
ora.mvrac1.vip                                     ONLINE     ONLINE on mvrac1  
ora.mvrac2.ASM2.asm                                ONLINE     ONLINE on mvrac2  
ora.mvrac2.LISTENER_MVRAC2.lsnr                    ONLINE     ONLINE on mvrac2  
ora.mvrac2.gsd                                     ONLINE     ONLINE on mvrac2  
ora.mvrac2.ons                                     ONLINE     ONLINE on mvrac2  
ora.mvrac2.vip                                     ONLINE     ONLINE on mvrac2

Agora sim a saída está fácil de ser visualizada.

Uma outra forma de utilizar o crs_stat é da seguinte forma:

Visualizando o perfil (profile) do Listener do nó MVRAC1:

crs_stat -p

A saída do comando será:

NAME=ora.mvrac1.LISTENER_MVRAC1.lsnr
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0/db_1/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=600
DESCRIPTION=CRS application for listener on node
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=mvrac1
OPTIONAL_RESOURCES=
PLACEMENT=restricted
REQUIRED_RESOURCES=ora.mvrac1.vip
RESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=600
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=

Alguns campos importantes:

ACTION_SCRIPT=/u01/app/oracle/product/10.2.0/db_1/bin/racgwrap

Todo recurso do clusterware tem um “action script”. O action script é o script que monitora o status e dispara o start/stop dos componentes do clusterware.

AUTO_START=1

AUTO_START indica se o recurso deve ser iniciado automaticamente pelo Clusterware.

Valores de referência:

  • AUTO_START=0: Se o recurso estava em execução antes do stop do Clusterware, ele será iniciado automaticamente. Se o recurso estava OFFLINE antes do stop do Clusterware, ele não será iniciado automaticamente. Resumindo, ele “conserva” o status do componentes antes do Stop do Clusterware;
  • AUTO_START=1: O Clusterware SEMPRE iniciará o recurso automaticamente;
  • AUTO_START=2: O Clusterware NUNCA iniciará o recurso automaticamente;
PLACEMENT=restricted

PLACEMENT significa que esse recurso só pode ser executado no nó mvrac1. Este recurso nunca poderá ser executado em outro nó. Apenas como exemplo, esse campo para um recurso VIP será exibido da seguinte forma:

PLACEMENT=favored

Isso indica que o recurso preferencialmente será executado no nó específico, mas que ele pode ser levado para outro nó quando o nó “principal” deste recurso estiver indisponível.

REQUIRED_RESOURCES=ora.mvrac1.vip

REQUIRED_RESOURCE indica quais são os recursos exigidos/necessários para que o recurso em questão possa ser executado. No caso do Listener num ambiente RAC, o VIP precisa estar online para que ele possa ser iniciado. Se o VIP estiver offline, o clusterware tentará inicializar o VIP antes do Listener.

RESTART_ATTEMPTS=5

Por default, quando um recurso estiver offline, o Clusterware tentará inicializar este recurso 5 vezes. Se as 5 tentativas falharem, o componente ficará no status OFFLINE e com a coluna TARGET em ONLINE.

Espero que este post de hoje tenha sido útil!

Voltaremos logo com a continuação desta série de artigos.

Um abraço!

Vinicius







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.

Perfil no Oracle ACE Directory

Olá pessoal,

Bom, agora é oficial!

Recebi o link do meu perfil no Oracle ACE Directory: http://apex.oracle.com/pls/otn/f?p=19297:4:4259357633741942::NO:4:P4_ID:2540.

Um abraço!

Vinicius







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.

O que é um Oracle ACE?

Olá pessoal,

Recebi os parabéns de muitas pessoas pela notícia do Oracle ACE, mas, algumas pessoas me perguntaram o que é um Oracle ACE?

Vamos lá!

Explicarei o que é o Oracle ACE Program.

O Oracle ACE Program concede títulos de Oracle ACE e Oracle ACE Director para pessoas que são reconhecidos pela comunidade técnica Oracle como entusiastas e disseminadores de conhecimento nas tecnologias Oracle em seu país, região, ou até mesmo pelo mundo. Os Oracle ACE Members são identificados pelo ícone do “Ás de espadas” junto ao seu nome no site da Oracle e nos fórums mantidos pelo OTN (Oracle).

Para ser nomeado Oracle ACE, a pessoa deve possuir várias qualificações:

  • Proficiência técnica;
  • Blog técnico sobre Oracle;
  • Atividade nos fórums da Oracle;
  • White papers e artigos publicados;
  • Experiência em apresentações;
  • Participante dos programas beta test;
  • Membro de Grupos de Usuários Oracle;
  • Certificações Oracle.

Os benefícios esperados em se tornar um Oracle ACE Member são:

  • Exibição na lista de Oracle ACE’s como experts “oficiais” em sites da Oracle e em eventos;
  • Publicação de artigos e papers no OTN (com compensação);
  • Ter a oportunidade de falar em eventos da Oracle e de terceiros em nome da mesma.

Esse título, diferentemente de uma certificação (OCA, OCP, OCE, OCS), não depende apenas do conhecimento do candidato, mas sim também do trabalho que o candidato desempenha perante a comunidade em que vive. Por este motivo, eu diria que infelizmente o número de Oracle ACE’s na América Latina, e mais especificamente no Brasil, ainda é muito baixo.

Para uma pessoa se tornar Oracle ACE, ela mesma pode se candidatar, ou alguém pode indicar a nomeação desta pessoa. É necessário que um formulário seja preenchido com informações detalhadas a respeito do trabalho realizado pelo candidato. No meu caso, a nomeação se deu através de uma indicação. Após receber a indicação, um comitê na Oracle Corporation avalia o trabalho realizado pelo candidato, e se concluírem que ele realmente contribui para o crescimento da comunidade através do compartilhamento de conhecimento, as chances de aprovação se tornam grandes.

O hot site do Oracle ACE Program pode ser acessado através do link http://www.oracle.com/technology/community/oracle_ace/index.html.

Para indicar ou se candidatar ao Oracle ACE Program, basta acessar o link http://www.oracle.com/technology/community/oracle_ace/nominations/index.html.

Para encontrar ou listar os Oracle ACE’s ao redor do mundo o link de acesso é http://apex.oracle.com/pls/otn/f?p=19297:3:1942194822123855.

Lembrando que meu perfil ainda não foi publicado no Oracle ACE Directory. Isso deve acontecer dentro dos próximos dias.

Um abraço!

Vinicius







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.

Oracle ACE!

Olá pessoal,

É com grande orgulho e honra que divulgo aqui no blog que este que vos escreve foi nomeado Oracle ACE!!!

Foi a primeira notícia que recebi hoje de manhã.

Contando agora comigo, somos em 5 Oracle ACE no Brasil:

O meu perfil ainda não está publicado no site da Oracle, já que recebi a notícia agora a pouco e é necessário que eu envie algumas informações adicionais. Mas, quando eu tiver o link, será devidamente postado aqui.

Gostaria de agradecer ao Rodrigo Martins, grande amigo meu. Ele foi o responsável por isto, por indicar o meu nome à Oracle, mesmo contra a minha vontade.

Eu precisava compartilhar esta notícia com vocês, pois estou explodindo de alegria!

Esse reconhecimento é fruto da ajuda de MUITOS amigos, não vou citar os nomes aqui no Blog pois sei que serei injusto e esquecerei o nome de alguém, pois são muitas pessoas, mas gostaria de agradecer a todos vocês, que de uma forma ou de outra sempre me ajudaram no meu crescimento profissional! Obrigado!!

Agora é continuar trabalhando para contribuir cada vez mais com a comunidade técnica Oracle no Brasil e América Latina.

Um grande abraço!

Vinicius

4/agosto/2010

Agora é oficial!!

Perfil no Oracle ACE Directory.







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

Copyright:

Este site e todo o conteúdo aqui publicado pertence ao Blog ViniciusDBA.com.br e possui seus respectivos direitos autorais.

O Conteúdo desde Blog não deve ser publicado, distribuído ou transmitido sem autorização prévia de seu autor.

Oracle e seus produtos são marcas registradas da Oracle Corporation® (http://www.oracle.com) Todo o material aqui encontrado é mantido sem ajuda financeira e mantém como propriedade de seu fundador/escritor.

Disclaimer:
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
As opiniões publicadas neste blog (http://www.viniciusdba.com.br) são pessoais e não necessariamente representam a visão da Oracle.


Toda informação aqui encontrado é oferecida através do uso do bom senso e boa fé do seus leitores e não deve ser considerada como material oficial da Oracle Corporation (http://www.oracle.com).

O Autor (e contribuidores) não considera as informações aqui como oficiais e/ou permitidas para redistribuição. Ao utilizar o site http://www.viniciusdba.com.br o leitor deve entender e aceitar que as informações aqui encontradas são de direitos autorais do Autor e contribuidores.

O blog http://www.viniciusdba.com.br não faz revisão de conteúdo publicado por outros como comentários bem como posts em grupo de usuários ou portais.

Seus autores não necessariamente concordam ou apoiam opiniões de seus leitores.

ESTE É UM SITE INDEPENDENTE E NÃO REPRESENTA A ORACLE CORPORATION® (http://www.oracle.com) EM NENHUM SENTIDO. AS OPINIÕES E CONTEÚDOS AQUI ENCONTRADOS NÃO POSSUEM RELAÇÃO COM A VISÃO DA ORACLE CORPORATION®. ESTE SITE NÃO POSSUI NENHUM APOIO OU PATROCINIO DA ORACLE CORPORATION®.