Tag Archive: instalação

 

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 9: Instalação do Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 10: Instalação do Patchset 10.2.0.4 no Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 11: Criação do Listener no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 12: Criação do ASM no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 13: Criação do Banco de Dados no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 14: Criação do Serviço para Load Balance e Failover

Conforme prometido, série de artigos para adição de um nó ao cluster:

Adição/Remoção de Nó – Parte 1: Pré-requisitos de software
Adição/Remoção de Nó – Parte 2: Criação da 3ª Máquina Virtual
Adição/Remoção de Nó – Parte 3: Instalação do Linux

Adição/Remoção de Nó – Parte 4: Configuração do Linux

===================================
Olá pessoal!
Falta pouco para que iniciemos de fato a adição do nó mvrac3 ao cluster!
Neste artigo de hoje, veremos os seguintes itens:

  • Criação de equivalência de usuários para acesso SSH entre os 3 nós;
  • Scan dos discos ASM no servidor mvrac3;
  • Criação de block devices no servidor mvrac3.

Vamos lá!

Com o servidor mvrac3 desligado, precisaremos pegar as referências dos discos attachados aos servidores mvrac1 e mvrac2 que desempenham o papel de disco do storage.

Pelo Windows Explorer, vá em G:\VMware\mvrac1.

Procure por um arquivo com a extensão VMX e abra-o num editor de textos, selecione e copie o seguinte trecho do arquivo:

scsi1.present = "TRUE"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "G:\VMWARE\SharedDisks\sdisk01.vmdk"
scsi1:0.mode = "independent-persistent"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "G:\VMWARE\SharedDisks\sdisk02.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "G:\VMWARE\SharedDisks\sdisk03.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1.virtualDev = "lsilogic"

Cole este trecho no final do arquivo com a extensão VMX no diretório G:\VMWare\mvrac3. Salve o arquivo e mande iniciar a máquina virtual.

Como já citado anteriormente, fizemos a instalação dos produtos em sistemas de arquivos (file systems) locais. Como havíamos criado chaves SSH para o usuário oracle dos nós mvrac1 e mvrac2, deixamos estabelecida a equivalência de usuário entre este usuário nos servidores já citados. A equivalência de usuário também é chamada de relação de confiança. Nesta relação de confiança, a comunicação entre os servidores ocorre sem a solicitação de senha, isto é um pré-requisito para ambientes em Cluster Oracle, pois o Oracle Universal Installer (OUI), dbca, netca, emca, OPatch, dentre outras ferramentas, sempre realizarão cópias de arquivos entre os nós do cluster. A equivalência de usuário poderá ocorrer através de duas maneiras:

  • rsh/rcp;
  • ssh/scp.

A configuração por rsh/rcp é mais simples de ser feita, no entanto, não é a recomendada, já que não é segura. Já no ssh/scp, os dados são enviados pela rede de forma criptografada, o que aumenta a segurança. Inclusive, em muitas empresas, as portas utilizadas em rsh/rcp nem são liberadas no firewall por motivos de segurança. A configuração do ssh/scp é um pouco mais chata, mas é a que veremos aqui por ser a mais segura.

Para realizar a configuração da equivalência de usuários para acesso via SSH, é necessário criar as chaves SSH de acesso ao usuário. Como a equivalência de usuários já existe entre os servidores mvrac1 e mvrac2 para o usuário oracle, os passos serão esses:

  • Criação das chaves do usuário oracle do servidor mvrac3;
  • Criação das chaves do usuário oracle do servidor mvrac2;
  • Append do arquivo de chaves autorizadas no servidor mvrac1, incluindo as chaves SSH do usuário oracle do servidor mvrac3. Inclusão do servidor mvrac3 num arquivo de hosts conhecidos para não mais confirmar o acesso via SSH e isso ser feito automaticamente entre os servidores.

Então, vamos para o primeiro passo, criar as chaves do usuário oracle no servidor mvrac3. Com o usuário oracle a partir do servidor mvrac3:

[oracle@mvrac3 ~]$ cd /home/oracle
[oracle@mvrac3 ~]$ mkdir .ssh
[oracle@mvrac3 ~]$ cd .ssh
[oracle@mvrac1 .ssh]$ ssh-keygen -t dsa

Pressionar [ENTER] até voltar para o shell.

[oracle@mvrac3 .ssh]$ ssh-keygen -t rsa

Pressionar [ENTER] até voltar para o shell.

Vamos verificar o tamanho do arquivo de chaves autorizadas. No servidor mvrac1:

[oracle@mvrac1 .ssh]$ ls -l authorized_keys
-rw-r--r-- 1 oracle oinstall 2072 Aug 16 19:43 authorized_keys

Observem que o arquivo authorized_keys tem 2072 bytes de tamanho, pois, por enquanto, só possui as chaves do servidor mvrac1 e mvrac2. Agora, colocaremos dentro desse mesmo arquivo, o conteúdo das chaves públicas do usuário oracle do servidor mvrac3:

[oracle@mvrac1 .ssh]$ ssh mvrac3 cat `pwd`/*.pub >> authorized_keys
The authenticity of host 'mvrac3 (172.23.10.13)' can't be established. RSA key fingerprint is ee:df:af:11:67:a9:b5:0a:e0:8f:3d:69:2a:3f:ef:6e. Are you sure you want to continue connecting (yes/no)? yes

Observem que eu tive que confirmar com yes e em seguida, terei que colocar a senha do usuário oracle do servidor mvrac3:

oracle@mvrac3's password:

Vamos verificar o tamanho do arquivo de chaves autorizadas após a inclusão das chaves do servidor mvrac3. No servidor mvrac1:

[oracle@mvrac1 .ssh]$ ls -l authorized_keys
-rw-r--r-- 1 oracle oinstall 3108 Sep 18 20:43 authorized_keys

Observem que o arquivo authorized_keys tem 3108 bytes de tamanho, e, desta forma, podemos concluir que o mesmo aumentou de tamanho. Logo, as chaves do servidor mvrac3 também estão no arquivo.

Esta versão de arquivo (com as chaves dos servidores mvrac1, mvrac2 e mvrac3 ainda existe somente no servidor mvrac1. Devemos copiá-lo para o servidor mvrac2 e também no servidor mvrac3, nesse mesmo diretório, /home/oracle/.ssh. Como este arquivo ainda não existe no servidor mvrac3, a senha para este servidor será solicitada:

[oracle@mvrac1 .ssh]$ scp -p authorized_keys mvrac2:`pwd`
authorized_keys         100% 3108     2.0KB/s   00:00
[oracle@mvrac1 .ssh]$ scp -p authorized_keys mvrac3:`pwd`
oracle@mvrac3's password:
authorized_keys         100% 3108     2.0KB/s   00:00

Bom, como no servidor mvrac1 eu estava no diretório /home/oracle/.ssh. E o arquivo authorized_keys tem que ir para o mesmo diretório no servidor mvrac2 e também no servidor mvrac3, observem que eu usei um comando do Linux dentro do comando scp. O comando foi o pwd. E sempre que quisermos usar um comando dentro de outro comando, deveremos colocá-lo entre crases: `pwd`. Dessa forma, ele executará o comando pwd no servidor mvrac1 e com base na saída do comando (/home/oracle/.ssh), jogará o arquivo dentro desse diretório no outro servidor. Se o diretório não existisse, teríamos um erro.

Vamos testar para ver se a equivalência de usuários está funcionando?

[oracle@mvrac1 .ssh]$ ssh mvrac3.viniciusdba.com.br date
The authenticity of host 'mvrac3.viniciusdba.com.br (172.23.10.13)' can't be established.
RSA key fingerprint is ee:df:af:11:67:a9:b5:0a:e0:8f:3d:69:2a:3f:ef:6e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'mvrac3.viniciusdba.com.br' (RSA) to the list of known hosts.
Wed Sep 18 20:52:38 BRT 2012

Observem que eu tive que digitar yes. Mas não precisei mais digitar a senha. Porque?

Não precisei digitar mais a senha porque a equivalência de usuários funcionou. Mas, o host mvrac3.viniciusdba.com.br ainda não é um host conhecido para o SSH. Dessa forma, no servidor mvrac1, com o usuário oracle, deveremos fazer o seguinte:

ssh mvrac3 date
ssh mvrac3-priv date
ssh mvrac3.viniciusdba.com.br date
ssh mvrac3-priv.viniciusdba.com.br date

Em todos as saídas, deveremos sempre confirmar com yes:

Are you sure you want to continue connecting (yes/no)? yes

Quando executar as linhas acima, para confirmar se está tudo OK, basta refazer o comando incluindo todos os servidores:

ssh mvrac1 date
ssh mvrac1-priv date
ssh mvrac1.viniciusdba.com.br date
ssh mvrac1-priv.viniciusdba.com.br date
ssh mvrac2 date
ssh mvrac2-priv date
ssh mvrac2.viniciusdba.com.br date
ssh mvrac2-priv.viniciusdba.com.br date
ssh mvrac3 date
ssh mvrac3-priv date
ssh mvrac3.viniciusdba.com.br date
ssh mvrac3-priv.viniciusdba.com.br date

Ele não deverá mais pedir confirmação para nenhum host:

[oracle@mvrac1 .ssh]$ ssh mvrac3 date
Wed Sep 18 20:54:00 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac1-priv date
Wed Sep 18 20:54:00 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac1.viniciusdba.com.br date
Wed Feb 18 20:54:00 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac1-priv.viniciusdba.com.br date
Wed Feb 18 20:54:01 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac2 date
Wed Feb 18 20:54:01 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac2-priv date
Wed Feb 18 20:54:02 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac2.viniciusdba.com.br date
Wed Feb 18 20:54:02 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac2-priv.viniciusdba.com.br date
Wed Sep 18 20:54:03 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac3 date
Wed Feb 18 20:54:04 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac3-priv date
Wed Feb 18 20:54:05 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac3.viniciusdba.com.br date
Wed Feb 18 20:54:06 BRT 2012
[oracle@mvrac1 .ssh]$ ssh mvrac3-priv.viniciusdba.com.br date
Wed Sep 18 20:54:07 BRT 2012

Isso atualizará no servidor mvrac1, dentro do diretório corrente, /home/oracle/.ssh, o arquivo known_hosts (hosts conhecidos):

[oracle@mvrac1 .ssh]$ ls -l known_hosts
-rw-r--r-- 1 oracle oinstall 4869 Sep 20 20:54 known_hosts

Agora basta copiar esse arquivo para o outro servidor:

[oracle@mvrac1 .ssh]$ scp -p known_hosts mvrac2:`pwd`
known_hosts             100% 4869     3.2KB/s   00:00
[oracle@mvrac1 .ssh]$ scp -p known_hosts mvrac3:`pwd`
known_hosts             100% 4869     3.2KB/s   00:00

Pronto! Equivalência de usuários devidamente configurada!

Agora checar o particionamento de discos.

Como vocês se lembram, temos 4 discos disponibilizados:

  • 1 disco de 12GB (disco local);
  • 3 discos de 5GB (discos storage).

Não mexeremos nas partições do disco local, pois essas já foram configuradas durante a instalação do Linux.

Temos 3 discos de 5GB. Para instalarmos o Oracle RAC precisamos do seguinte:

  • 3 partições para armazenar Voting Disk;
  • 2 partições para armazenar OCR;
  • 3 partições que serão os discos ASM.

Vamos consultar os discos existentes no servidor mvrac3? Como root:

[root@mvrac3 ~]# fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1435    11526606   83  Linux
/dev/sda2            1436        1566     1052257+  82  Linux swap / Solaris

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+   5  Extended
/dev/sdb5               1          32      256977   83  Linux
/dev/sdb6              33          64      257008+  83  Linux
/dev/sdb7              65          96      257008+  83  Linux
/dev/sdb8              97         128      257008+  83  Linux
/dev/sdb9             129         652     4208998+  83  Linux

Disk /dev/sdc: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         652     5237158+   5  Extended
/dev/sdc5               1          32      256977   83  Linux
/dev/sdc6              33          64      257008+  83  Linux
/dev/sdc7              65          96      257008+  83  Linux
/dev/sdc8              97         128      257008+  83  Linux
/dev/sdc9             129         652     4208998+  83  Linux

Disk /dev/sdd: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         652     5237158+   5  Extended
/dev/sdd5               1          32      256977   83  Linux
/dev/sdd6              33          64      257008+  83  Linux
/dev/sdd7              65         652     4723078+  83  Linux

As partições foram listadas!

Agora, faremos o SCAN dos discos ASM.

Para fazermos as partições dos discos ASM, basta usarmos a ASMLib com o usuário root:

[root@mvrac3 oracle]# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks:               [  OK  ]

Agora precisamos verificar se os discos foram realmente enxergados:

[root@mvrac3 oracle]# /etc/init.d/oracleasm listdisks
ASMDISK1
ASMDISK2
ASMDISK3

Pronto! Discos do ASM listados!

Agora falta apenas criar os block devices. Usaremos o utilitário chamado UDEV para isso. Para criarmos esses dispositivos, criaremos um arquivo com as regras necessárias no diretório /etc/udev/rules.d. O arquivo precisa ter a extensão .rules.

Agora criaremos o arquivo que criará os block devices:

[root@mvrac3 oracle]# vi 63-oracle-block.rules

O conteúdo do arquivo 63-oracle-block.rules será:

KERNEL=="sdb6", NAME="ocr1", OWNER="root", GROUP="dba", MODE="0640"
KERNEL=="sdb8", NAME="voting1", OWNER="oracle", GROUP="dba", MODE="0640"
KERNEL=="sdc6", NAME="ocr2", OWNER="root", GROUP="dba", MODE="0640"
KERNEL=="sdc8", NAME="voting2", OWNER="oracle", GROUP="dba", MODE="0640"
KERNEL=="sdd6", NAME="voting3",OWNER="oracle",GROUP="dba", MODE="0640"

Após isso, faremos o restart do serviço udev:

[root@mvrac3 rules.d]# start_udev
Starting udev:                                             [  OK  ]

Agora verificaremos se os devices foram criados:

[root@mvrac3 rules.d]# ls -l /dev/ocr* /dev/voting*
brw-r----- 1 oracle dba   8, 22 Sep 18 21:34 /dev/ocr1
brw-r----- 1 oracle dba   8, 38 Sep 18 21:35 /dev/ocr2
brw-r----- 1 root   dba   8, 24 Sep 18 21:34 /dev/voting1
brw-r----- 1 root   dba   8, 40 Sep 18 21:35 /dev/voting2
brw-r----- 1 oracle dba   8, 54 Sep 18 21:35 /dev/voting3

Os dispositivos foram criados!

Nesse momento estamos prontos para iniciar a adição do Nó ao Cluster!

Nos veremos no próximo post, semana que vem!

Um abraço!

Vinicius

——————————-

PS:

Observação:

Apenas para ficar claro, sobre as partições de discos, num ambiente corporativo eu costumo pedir o seguinte:

  • 1 disco (LUN) de 2GB para utilizar as partições raw devices (esse disco posteriormente será eliminado);
  • 2 discos (LUN’s) de 512MB para utilizar as partições block devices;
  • 1 disco (LUN) de 256MB para utilizar a partição block device;
  • Quantidade “X de discos para ASM, aí vai depender do tamanho do banco de dados.






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

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®.

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 9: Instalação do Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 10: Instalação do Patchset 10.2.0.4 no Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 11: Criação do Listener no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 12: Criação do ASM no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 13: Criação do Banco de Dados no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 14: Criação do Serviço para Load Balance e Failover

===================================

Olá pessoal, hoje chegamos ao último artigo sobre a série de Instalação do Oracle RAC 10g Release 2. É claro que na semana que vem, teremos um novo artigo, mas desta vez, começarei a abordar a administração do ambiente Oracle RAC. Portanto, essa série de 15 artigos se encerra aqui, e iniciaremos uma nova série de artigos.

Lembre-se, qualquer dúvida, poste seu comentário aqui, ou envie e-mail para blog@viniciusdba.com.br.

Para configurar o Enterprise Manager, precisamos ter alguns dados:

  • Nome global do banco de dados: mvdb;
  • Porta do Listener: 1521;
  • Nome do Cluster: crs_mv;
  • Senha do usuário SYS;
  • Senha do usuário DBSNMP;
  • Senha do usuário SYSMAN;
  • Endereço de e-mail para notificações (opcional);
  • Servidor SMTP para notificações (opcional);
  • Oracle Home do ASM;
  • Porta do ASM: 1521;
  • Role do ASM: SYSDBA;
  • Usuário do ASM: SYS;
  • Senha do usuário SYS do ASM.

Vamos fazer a configuração?

Com o usuário oracle no servidor mvrac1:

[oracle@mvrac1 ~]$ emca -config dbcontrol db -repos recreate -cluster

STARTED EMCA at Feb 25, 2010 2:22:59 AM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Enter the following information:
Database unique name: mvdb
Listener port number: 1521
Cluster name: crs_mv
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
ASM ORACLE_HOME [ /u01/app/oracle/product/10.2.0/db_1 ]:
ASM port [ 1521 ]:
ASM user role [ SYSDBA ]:
ASM username [ SYS ]:
ASM user password:
-----------------------------------------------------------------

You have specified the following settings

Database ORACLE_HOME ................ /u01/app/oracle/product/10.2.0/db_1

Database instance hostname ................ mvrac1.viniciusdba.com.br
Listener port number ................ 1521
Cluster name ................ crs_mv
Database unique name ................ mvdb
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ...............
ASM ORACLE_HOME ................ /u01/app/oracle/product/10.2.0/db_1
ASM port ................ 1521
ASM user role ................ SYSDBA
ASM username ................ SYS

-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: Y
Feb 25, 2010 2:23:45 AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/mvdb/emca_2010-02-25_02-22-59-AM.log.
Feb 25, 2010 2:23:50 AM oracle.sysman.emcp.EMReposConfig dropRepository
INFO: Dropping the EM repository (this may take a while) ...
Feb 25, 2010 2:28:10 AM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully dropped
Feb 25, 2010 2:28:11 AM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Feb 25, 2010 2:34:20 AM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Feb 25, 2010 2:34:43 AM oracle.sysman.emcp.EMDBCConfig instantiateOC4JConfigFiles
INFO: Propagating /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_mvrac1_mvdb1 to remote nodes ...
Feb 25, 2010 2:34:45 AM oracle.sysman.emcp.EMDBCConfig instantiateOC4JConfigFiles
INFO: Propagating /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_mvrac2_mvdb2 to remote nodes ...
Feb 25, 2010 2:34:46 AM oracle.sysman.emcp.EMDBCConfig copyAndPropagateOC4JDir
INFO: Propagating /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus_mvrac1.viniciusdba.com.br to remote nodes ...
Feb 25, 2010 2:34:48 AM oracle.sysman.emcp.EMDBCConfig copyAndPropagateOC4JDir
INFO: Propagating /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus_mvrac2.viniciusdba.com.br to remote nodes ...
Feb 25, 2010 2:34:59 AM oracle.sysman.emcp.EMAgentConfig deployStateDirs
INFO: Propagating /u01/app/oracle/product/10.2.0/db_1/mvrac1_mvdb1 to remote nodes ...
Feb 25, 2010 2:35:03 AM oracle.sysman.emcp.EMAgentConfig deployStateDirs
INFO: Propagating /u01/app/oracle/product/10.2.0/db_1/mvrac2_mvdb2 to remote nodes ...
Feb 25, 2010 2:35:04 AM oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Securing Database Control (this may take a while) ...
Feb 25, 2010 2:36:34 AM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Feb 25, 2010 2:38:57 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Feb 25, 2010 2:39:50 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is https://mvrac1.viniciusdba.com.br:1158/em <<<<<<<<<<<
Feb 25, 2010 2:40:40 AM oracle.sysman.emcp.EMDBPostConfig showClusterDBCAgentMessage
INFO:
****************  Current Configuration  ****************
 INSTANCE            NODE           DBCONTROL_UPLOAD_HOST
----------        ----------        ---------------------

mvdb1             mvrac1            mvrac1.viniciusdba.com.br
mvdb2             mvrac2            mvrac1.viniciusdba.com.br

Enterprise Manager configuration completed successfully
FINISHED EMCA at Feb 25, 2010 2:40:43 AM

Tela inicial do EM:

Finalizo aqui a série sobre a instalação do Oracle RAC 10 Release 2.

Semana que vem voltaremos, agora com a administração do ambiente, bem como os conceitos.

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®.

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 9: Instalação do Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 10: Instalação do Patchset 10.2.0.4 no Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 11: Criação do Listener no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 12: Criação do ASM no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 13: Criação do Banco de Dados no Cluster

===================================

Olá pessoal!

Vimos no último artigo a criação do Banco de Dados RAC.

Veremos hoje como criar o serviço responsável pelo load balance e principalmente, o failover. Vocês verão que é uma operação bem fácil de ser feita.

Agora, executaremos o assistente para criação do serviço, o dbca. Há algumas formas de executar esse assistente:

  • Localmente no servidor, através da VMWare Server Console;
  • Remotamente, através de um software que simule um X-Server (existem diversas opções gratuitas na Internet);
  • Remotamente, através de uma estação Linux/Unix/Mac que tenha a parte gráfica (X) habilitado.

Eu usarei a terceira opção, portanto, a partir da minha estação:

vinicius@Viniciuss-MacBook:~$ ssh -X oracle@172.23.10.11
oracle@172.23.10.11's password:
/usr/bin/xauth:  creating new authority file /home/oracle/.Xauthority

Testando para ver se a parte gráfica está funcionando:

[oracle@mvrac1 ~]$ xclock

O teste funcionou! Vejam:

Pronto!

Vamos executar o dbca:

[oracle@mvrac1 ~]$ dbca

O dbca detectará que a pilha de cluster está em execução, e precisamos selecionar qual será o tipo de ambiente que será configurado:

  • Oracle Real Application Clusters database;
  • Oracle single instance database.

Manteremos a opção Oracle Real Application Clusters database selecionada e clicaremos em Next.

Clicar no item “Services Management” e depois clicar em Next.

O DBCA exibirá a lista de bancos de dados existentes e ativos no cluster. Como só temos o banco de dados mvdb, ele será selecionado automaticamente. Clicar em Next.

dbca_create_service_blank

A janela acima será exibida. Essa janela também aparece na criação do banco de dados. Nela, criaremos no botão Add para criar um novo serviço.

Como exemplo, estou criando um serviço chamado producao. Clicar em OK.

No item “Details for producao”, temos 3 opções disponíveis para as instâncias de banco de dados:

  • Not used: o serviço nunca utilizará a instância de banco de dados, ou seja, nunca haverá conexões feitas àquela instância utilizando esse serviço de banco de dados;
  • Preferred: o serviço SEMPRE utilizará a instância de banco de dados, ou seja, no caso de um cluster de 2 nós, se as 2 instâncias estiverem como “Preferred”, haverá o Load Balance entre as 2 instâncias;
  • Available: o serviço SOMENTE utilizará a instância de banco dados em caso de falha na instância que estiver definida como PREFERRED. Ou seja, se a instância mvdb1 estiver como Preferred, e a instância mvdb2 estiver como Available, as conexões só serão feitas na instância mvdb2 se a instância mvdb1 estiver indisponível.

Como queremos que aconteça o Load Balance entre as 2 instâncias, as 2 instâncias deverão ser preenchidas como Preferred.

Agora configuraremos a parte do serviço responsável pelo failover. Chamamos isso de TAF (Transparent Application Failover).

No item “TAF Policy” temos 3 opções:

  • None: não haverá failover para o serviço.;
  • Basic: ocorrerá o failover básico para o serviço, ou seja, se o usuário estiver conectado na instância mvdb1 executando uma query e a instância ficar indisponível, o usuário será levado para a instância mvdb2;
  • Pre-connect: quando o usuário se conectar pelo serviço na instância mvdb1, automaticamente será criada uma conexão (pré-conexão) na instância mvdb2, isso torna o failover mais rápido, já que haverá uma conexão existente na segunda instância, no entanto, em contra-partida, essa sessão na segunda instância consumirá uma fatia da memória no servidor.

Utilizaremos a política “Basic”.

Clicar em Finish.

A janela acima solicitará confirmação para a criação do serviço no banco de dados mvdb. Clicar em OK.

Uma janela com o progresso da criação do serviço será exibida. Aguardar.

A janela acima será exibida questionando se o DBA deseja realizar mais alguma operação. Clicar em No.

Vamos verificar se os recursos do cluster foram alterados?

Para verificar o status dos recursos do cluster:

[oracle@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

Pronto!

Podemos ver que foi registrado no cluster uma serviço de banco de dados para cada nó, além de um recurso com o final .cs, representando o serviço clusterizado (cluster service).

Agora vamos realizar os testes com o serviço.

Porém, para que o failover aconteça com sucesso, a Oracle recomenda que os hostnames públicos, além dos hostnames referentes aos endereços VIP estejam registrados no DNS e/ou no arquivo hosts dos usuários. Como estou usando uma estação de trabalho baseada em Unix, o arquivo é o /etc/hosts, no caso do Windows, é C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS. As seguintes linhas precisam ser adicionadas:

172.23.10.21	mvrac1-vip	mvrac1-vip.viniciusdba.com.br
172.23.10.22	mvrac2-vip	mvrac2-vip.viniciusdba.com.br
172.23.10.11	mvrac1		mvrac1.viniciusdba.com.br
172.23.10.12	mvrac2		mvrac2.viniciusdba.com.br

Outro ponto importantíssimo para que o failover aconteça com sucesso, a entrada do TNSNAMES.ORA deve estar correta. Dentro do próprio servidor, há o TNSNAMES.ORA correto:

PRODUCAO =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mvrac1-vip.viniciusdba.com.br)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = mvrac2-vip.viniciusdba.com.br)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = producao)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
        (RETRIES = 180)
        (DELAY = 5)
      )
    )
  )

Observem que o TNSNAMES aponta para os 2 endereços VIP, ou seja, mesmo que um servidor fique indisponível, o IP VIP que estava nele, irá para o outro servidor.

Além disso, o ambiente pode retornar o erro ORA-12545 ao tentar se conectar pelo serviço criado recentemente.

A correção deste erro é definir o parâmetro LOCAL_LISTENER para que cada nó tenha somente o VIP local associado ao parâmetro. Vejamos:

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mvrac1-vip)(PORT=1521)))' scope=both sid='mvdb1';

System altered.

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mvrac2-vip)(PORT=1521)))' scope=both sid='mvdb2';

System altered.

Agora sim podemos testar:

sqlplus system/oracle@producao

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Feb 25 00:06:27 2010

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Release 10.2.0.4.0 - Production
With the Real Application Clusters option

SQL> @taf    

 INST# INST_NAME  HOST			       USERNAME   TYPE	     METHOD	FAILED OVER
------ ---------- ---------------------------- ---------- ---------- ---------- -----------
     2 mvdb2	  mvrac2.viniciusdba.com.br    SYSTEM	  SELECT     BASIC	NO

O script taf.sql contém as seguintes linhas:

set linesize 100
col INST# format 99999
col INST_NAME format a10
col HOST format a28
col USERNAME format a10
col TYPE format a10
col METHOD format a10
col "FAILED OVER" format a11

select
  INSTANCE_NUMBER INST#,INSTANCE_NAME INST_NAME,HOST_NAME HOST,
  USERNAME, FAILOVER_TYPE TYPE, FAILOVER_METHOD METHOD,
  FAILED_OVER "FAILED OVER"
from
  V$SESSION a, V$INSTANCE b
where
  USERNAME = (select SYS_CONTEXT ('USERENV', 'SESSION_USER') from DUAL)
and
  SID = (select SYS_CONTEXT ('USERENV', 'SID') from DUAL)
;

De acordo com a saída do script, estamos na instância mvdb2, vamos fazer uma nova conexão para verificar o funcionamento do Load Balance:

SQL> connect system/oracle@producao
Connected.
SQL> @taf

 INST# INST_NAME  HOST			       USERNAME   TYPE	     METHOD	FAILED OVER
------ ---------- ---------------------------- ---------- ---------- ---------- -----------
     1 mvdb1	  mvrac1.viniciusdba.com.br    SYSTEM	  SELECT     BASIC	NO

Funcionou!

Agora, vamos fazer um teste de failover.

Vamos executar como teste, um script que traga muitas linhas como resultado, o script é o query.sql:

select a.*, b.*, c.*
from dba_objects a, dba_objects b, dba_objects c;

Como podem ver, faremos um produto cartesiano. Pois bem, a ideia é a seguinte:

  • Já estamos conectados na instância mvdb1;
  • Executaremos nessa instância, o script query.sql;
  • Enquanto a query é executada, baixaremos a instância mvdb1 com a opção abort;
  • A sessão do usuário SYSTEM deverá ser levada para o servidor mvdb2 e a query continuar o fetch do lugar onde parou, isso, sem o usuário perceber;
  • Executaremos o script taf.sql para verificar se ocorreu o failover.

Vamos lá?

Vamos deixar o comando do shutdown abort pronto para ser processado (vai faltar só pressionar [ENTER]). Com o usuário oracle, em qualquer servidor (mvrac1 ou mvrac2):

srvctl stop instance -d mvdb -i mvdb1 -o abort

Assim que a query voltar a processar, cancele o processamento. Se estiver usando o SQL*Plus no Windows, clique em Arquivo / Cancelar, e em seguida, execute o script taf.sql. Caso esteja usando o SQL*Plus em ambiente Unix/Linux, pressione [CTRL] + [C] e, em seguida, execute o script taf.sql. Vejam o resultado:

SQL> @taf

 INST# INST_NAME  HOST			       USERNAME   TYPE	     METHOD	FAILED OVER
------ ---------- ---------------------------- ---------- ---------- ---------- -----------
     2 mvdb2	  mvrac2.viniciusdba.com.br    SYSTEM	  SELECT     BASIC	YES

Observem que agora minha sessão está na instância mvdb2 e a coluna FAILED OVER foi alterada para YES.

Vamos ver um vídeo disso funcionando?

Para ver o vídeo, você precisa ter o Quicktime instalado no seu computador. Baixe ele aqui (é gratuito).

No próximo artigo veremos como configurar o Enterprise Manager.

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®.

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 9: Instalação do Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 10: Instalação do Patchset 10.2.0.4 no Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 11: Criação do Listener no Cluster
Instalação do Oracle RAC 10g Release 2 – Parte 12: Criação do ASM no Cluster

===================================

Olá pessoal!

Vimos no último artigo a criação do ASM no Cluster.

Veremos hoje como criar e configurar o Banco de Dados RAC. Vocês verão que é uma operação bem fácil de ser feita.

Agora, executaremos o assistente para criação do Banco de Dados, o dbca. Há algumas formas de executar esse assistente:

  • Localmente no servidor, através da VMWare Server Console;
  • Remotamente, através de um software que simule um X-Server (existem diversas opções gratuitas na Internet);
  • Remotamente, através de uma estação Linux/Unix/Mac que tenha a parte gráfica (X) habilitado.

Eu usarei a terceira opção, portanto, a partir da minha estação:

vinicius@Viniciuss-MacBook:~$ ssh -X oracle@172.23.10.11
oracle@172.23.10.11's password:
/usr/bin/xauth:  creating new authority file /home/oracle/.Xauthority

Testando para ver se a parte gráfica está funcionando:

[oracle@mvrac1 ~]$ xclock

O teste funcionou! Vejam:

Pronto!

Agora, vamos criar os diretórios de trace da instância de banco de dados nos servidores mvrac1 e mvrac2, com o usuário oracle.

mvrac1:

[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/adump
[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/bdump
[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/cdump
[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/udump
[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/pfile

mvrac2:

[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/adump
[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/bdump
[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/cdump
[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/udump
[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/mvdb/pfile

Vamos executar o dbca:

[oracle@mvrac1 ~]$ dbca

O dbca detectará que a pilha de cluster está em execução, e precisamos selecionar qual será o tipo de ambiente que será configurado:

  • Oracle Real Application Clusters database;
  • Oracle single instance database.

Manteremos a opção Oracle Real Application Clusters database selecionada e clicar em Next.

Manter a opção “Create a Database” e clicar em Next.

A tela acima será exibida, o DBCA solicita que escolhamos em quais nós o banco de dados RAC será criado. Clicar no botão Select All.

Agora, com todos os nós selecionados, clicar em Next.

Nos templates, como já temos o Patchset 10.2.0.4 aplicado, a única opção possível, é a “Custom Database”, onde os datafiles não estão incluídos. Isso porque os templates com os datafiles, nada mais são do que um backup RMAN que acompanha a mídia de instalação do Banco de Dados na versão 10.2.0.1. Portanto, se tentarmos criar o banco de dados usando um template que inclua os datafiles, teremos um erro no meio do processo informando que o banco de dados precisa ser iniciado com a opção “STARTUP UPGRADE”. Portanto, mantenha a opção “Custom Database” selecionada e clique em Next.

Na tela acima devemos especificar o nome global do banco de dados e o prefixo de SID.

Os valores serão iguais:

mvdb

Clicar em Next.

Por enquanto não configuraremos o Enterprise Manager, faremos isso depois. Clicar em Next.

Na tela acima, devemos especificar a senha. Como se trata de um ambiente de testes, mantive a opção “Use the Same Password for All Accounts”. A senha foi definida como oracle. Clicar em Next.

Como a edição utilizada é a Standard Edition, a única opção possível para armazenar o banco de dados é o Automatic Storage Management (ASM). Clicar em Next.

A tela acima exibirá os Disk Groups existentes no ASM. Nesse momento, se necessário, é possível criar outros Disk Groups, no entanto, não o faremos. Basta selecionar o Disk Group DG_DADOS como DG de destino do banco de dados e clicar em Next.

Na tela acima, o Disk Group DG_DADOS foi colocado como área onde o banco de dados será armazenado, clicar em Next.

Não habilitaremos a Flash Recovery Area e nem ativaremos o ArchiveLog Mode no banco de dados. Clicar em Next.

No nosso banco de dados de estudo, não precisamos de todos os componentes. Por isso, na tela acima, só deixei a opção “Enterprise Manager Repository” selecionada. Clicar em Next.

Na tela acima, nós podemos criar os serviços de load balance e failover. Faremos isso posteriormente (nosso próximo artigo). Clicar em Next.

A tela acima nos dará um alerta que precisamos de no mínimo 216MB para a memória disponível para o banco de dados. Esse alerta ocorreu pois a nossa máquina virtual tem apenas 512MB de RAM, não há problema no alerta. Clicar em OK.

Não alteraremos nenhum parâmetro nesse momento. Clicar em Next.

Na tela acima podemos criar mais tablespaces, multiplexar os control files e multiplexar os redo logs. Clicar em Next.

A tela acima é a última tela antes do início da criação do banco de dados. Eu sempre gosto de deixar os scripts de criação do banco de dados guardado. Portanto, clico na opção “Generate Database Creation Scripts”. Depois disso, clicar em Finish.

Uma tela com o resumo sobre a criação do banco de dados será exibida. Clicar em OK.

Uma tela com o progresso da geração dos scripts de criação do banco de dados será exibida. Aguardar.

A tela acima será exibida informando que os scripts foram gerados com sucesso. Clicar em OK.

Uma janela com o progresso da criação do banco de dados será exibida. Aguardar.

Quando o banco de dados for criado, a tela acima será exibida. Basta agora clicar em Exit.

O banco de dados RAC será iniciado. Aguardar. A tela do DBCA será fechada automaticamente.

Vamos verificar e ver se a instância ASM foi criada e se os recursos do cluster foram alterados?

mvrac1:

[oracle@mvrac1 ~]$ ps -ef |grep pmon | grep -v grep
oracle    5342     1  0 Feb22 ?        00:00:21 asm_pmon_+ASM1
oracle   28942     1  0 Feb23 ?        00:00:31 ora_pmon_mvdb1

mvrac2:

[oracle@mvrac2 ~]$ ps -ef |grep pmon | grep -v grep
oracle    5040     1  0 Feb22 ?        00:00:00 asm_pmon_+ASM2
oracle    5268     1  0 Feb23 ?        00:00:00 ora_pmon_mvdb2

Pudemos ver que o banco de dados está em execução nos 2 servidores através das instâncias mvdb1 e mvdb2 respectivamente.

Para verificar o status dos recursos do cluster:

[oracle@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.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

Pronto!

Pudemos ver que foi registrado no cluster uma instância de banco de dados para cada nó, além de um recurso com o final .db, representando o banco de dados.

No próximo artigo veremos como criar e configurar os serviços de failover e load balance, bem como simular uma situação de failover, além de configurar o Enterprise Manager.

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®.

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 9: Instalação do Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 10: Instalação do Patchset 10.2.0.4 no Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 11: Criação do Listener no Cluster

===================================

Olá pessoal!

Vimos no último artigo a criação do Listener no Cluster.

Veremos hoje como criar e configurar o ASM no ambiente clusterizado. Vocês verão que é uma operação bem fácil de ser feita.

Agora, executaremos o assistente para criação do ASM, o dbca. Há algumas formas de executar esse assistente:

  • Localmente no servidor, através da VMWare Server Console;
  • Remotamente, através de um software que simule um X-Server (existem diversas opções gratuitas na Internet);
  • Remotamente, através de uma estação Linux/Unix/Mac que tenha a parte gráfica (X) habilitado.

Eu usarei a terceira opção, portanto, a partir da minha estação:

vinicius@Viniciuss-MacBook:~$ ssh -X oracle@172.23.10.11
oracle@172.23.10.11's password:
/usr/bin/xauth:  creating new authority file /home/oracle/.Xauthority

Testando para ver se a parte gráfica está funcionando:

[oracle@mvrac1 ~]$ xclock

O teste funcionou! Vejam:

Pronto!

Agora, vamos criar os diretórios de trace da instância ASM nos servidores mvrac1 e mvrac2, com o usuário oracle.

mvrac1:

[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/bdump
[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/cdump
[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/hdump
[oracle@mvrac1 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/pfile

mvrac2:

[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/bdump
[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/cdump
[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/hdump
[oracle@mvrac2 ~]$ mkdir -p /u01/app/oracle/admin/+ASM/pfile

Vamos executar o dbca:

[oracle@mvrac1 ~]$ dbca

O dbca detectará que a pilha de cluster está em execução, e precisamos selecionar qual será o tipo de ambiente que será configurado:

  • Oracle Real Application Clusters database;
  • Oracle single instance database.

Manteremos a opção Oracle Real Application Clusters database selecionada e clicar em Next.

Clicar na opção “Configure Automatic Storage Management” e depois clicar em Next.

Somente o nó mvrac1 estará selecionado pois foi de onde partiu a execução do dbca. Clicar em “Select All”:

Clicar em Next.

Na tela acima deveremos especificar a senha do usuário SYS para a instância ASM. Como estamos utilizando o Standard Edition, não é possível utilizar um SPFILE para o ASM, já que a premissa é que não importa quantos nós (e consequentemente, quantas instâncias) teremos no cluster, quando se usa o SPFILE, esse arquivo deverá ficar armazenado num local compartilhado entre os nós do cluster. No nosso caso, usaremos o arquivo PFILE (init.ora). Portanto, clicar na opção “Create initialization parameter file (IFILE). Clicar em Next.

A janela acima será exibida informando que o DBCA irá criar a instância ASM, e que depois que a instância ASM for criada, poderemos criar os nossos disk groups. Clicar em OK.

A tela acima exibe que a instância ASM está sendo criada.

A tela acima será exibida. Precisamos criar um Disk Group para poder armazenar o banco de dados que criaremos brevemente. Para criar um novo disk group, basta clicar em “Create New”.

Na tela acima, deveremos definir os valores de alguns campos:

  • Disk Group Name: DG_DADOS;
  • Redundancy: External;
  • No campo Select Disk Members, devemos selecionar todos os discos.

Clicar em OK.

A tela acima exibe que o DG está sendo criado.

Podemos ver que o DG_DADOS foi criado e está montado nas duas instâncias ASM (uma em cada nó).

Clicar em Finish.

Clicar em Yes.

Vamos verificar e ver se a instância ASM foi criada e se os recursos do cluster foram alterados?

mvrac1:

[oracle@mvrac1 ~]$ ps -ef |grep pmon
oracle   14645     1  0 19:41 ?        00:00:00 asm_pmon_+ASM1

mvrac2:

[oracle@mvrac2 ~]$ ps -ef |grep pmon
oracle   26486     1  0 19:42 ?        00:00:00 asm_pmon_+ASM2

Pudemos ver que a instância ASM está em execução nos 2 servidores.

Para verificar o status dos recursos do cluster:

[oracle@mvrac1 ~]$ crsstat
HA Resource                                        Target     State
-----------                                        ------     -----
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

Pronto!

Pudemos ver que foi registrado no cluster uma instância ASM para cada nó!

No próximo artigo veremos como criar o banco de dados RAC.

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®.

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 9: Instalação do Oracle Database
Instalação do Oracle RAC 10g Release 2 – Parte 10: Instalação do Patchset 10.2.0.4 no Oracle Database

===================================

Olá pessoal!

Vimos no último artigo a aplicação do Patchset 10.2.0.4 no Oracle Database.

Veremos hoje como criar o Listener no ambiente clusterizado. Vocês verão que é uma operação bem fácil de ser feita.

Agora, executaremos o assistente para criação do Listener, o netca. Há algumas formas de executar esse assistente:

  • Localmente no servidor, através da VMWare Server Console;
  • Remotamente, através de um software que simule um X-Server (existem diversas opções gratuitas na Internet);
  • Remotamente, através de uma estação Linux/Unix/Mac que tenha a parte gráfica (X) habilitado.

Eu usarei a terceira opção, portanto, a partir da minha estação:

vinicius@Viniciuss-MacBook:~$ ssh -X oracle@172.23.10.11
oracle@172.23.10.11's password:
/usr/bin/xauth:  creating new authority file /home/oracle/.Xauthority

Testando para ver se a parte gráfica está funcionando:

[oracle@mvrac1 ~]$ xclock

O teste funcionou! Vejam:

Pronto!

Vamos executar o netca:

[oracle@mvrac1 ~]$ netca

O netca detectará que a pilha de cluster está em execução, e precisamos selecionar qual será o tipo de configuração que faremos:

  • Configuração de cluster;
  • Configuração de single node.

Manteremos a opção “Cluster configuration” selecionada. Clicar em Next:

Todos os nós estarão selecionados. Caso não estejam, devemos clicar no botão “Select all nodes”. Clicar em Next.

Como faremos a criação do Listener, devemos manter a opção “Listener configuration” selecionada.

Clicar em Next.

A única opção disponível é a “Add”. Clicar em Next.

O nome padrão do Listener é LISTENER. Manteremos esse nome, clicar em Next.

Na tela acima selecionamos quais protocolos o Listener utilizará. Nesse caso, só manteremos o protocolo TCP. Clicar em Next.

Na tela acima, precisamos especificar qual porta será utilizada pelo Listener. Manteremos a porta padrão (1521). Clicar em Next.

Não configuraremos outros Listeners. Manter a opção “No” selecionada e clicar em Next.

A tela acima indica que o Listener foi criado com sucesso. Clicar em Next.

Clicar em Finish.

O Listener foi criado. Como ele faz parte do cluster e foi cadastrado como recurso do mesmo, e o seu status também pode ser visto junto com o status dos outros recursos do cluster:

Name           Type           Target    State     Host
------------------------------------------------------------
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....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 temos os recursos lsnr, esses recursos são os Listeners, um em cada nó. No entanto, observem que a leitura da saída do comando crs_stat já não está tão prática, pois alguns recursos estão com o nome cortado.

Há um script criado pelo Jeffrey Hunter, guru em Oracle RAC, que formata a saída para melhor leitura:

Clique aqui para baixar esse script.

No servidor mvrac1, como root, criar o seguinte arquivo:

[root@mvrac1 ~]# cd /usr/local/bin
[root@mvrac1 bin]# vi crsstat
#!/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
ORA_CRS_HOME=/u01/app/oracle/product/10.2.0/crs

# +----------------------------------------------------------------------------+
# | 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;}'

Observem que eu incluí a seguinte linha no script:

ORA_CRS_HOME=/u01/app/oracle/product/10.2.0/crs

Com isso, o script poderá ser executado com qualquer usuário no sistema operacional.

Após salvar o script, devemos definir suas permissões para execução:

[root@mvrac1 bin]# chmod 755 crsstat

E agora, devemos copiá-lo para o servidor mvrac2:

[root@mvrac1 bin]# scp -p crsstat mvrac2:`pwd`
root@mvrac2's password:
crsstat                               100% 3195     3.1KB/s   00:00

Vamos testar o script?

[oracle@mvrac1 ~]$ crsstat
HA Resource                                        Target     State
-----------                                        ------     -----
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.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

Observem que está mais legível do que com o comando “crs_stat -t”.

Pronto pessoal!

Criamos o Listener e configuramos um script para melhor leitura do comando “crs_stat -t”.

No próximo artigo veremos como criar e configurar a instância ASM no cluster.

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®.

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 9: Instalação do Oracle Database

===================================

Olá pessoal!

Nesse artigo instalaremos o Patchset 10.2.0.4 no Oracle Database.

Bom, vamos lá?

Precisamos verificar se o CD-ROM está montado.

Se estiver, aparecerá da seguinte forma

[root@mvrac1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              11G  2.4G  7.8G  24% /
tmpfs                 252M     0  252M   0% /dev/shm
/dev/hdc              3.1G  3.1G     0 100% /media

Se não estiver, deveremos montá-lo:

Na tela da VMWare Server Console, deveremos clicar duas vezes no ícone do CD-ROM (identificado pela seta vermelha).

Eu fiz uma imagem ISO com alguns softwares Oracle, portanto, na tela acima, deveremos manter a opção “Use ISO image:” marcada, e clicar em Browse, para escolhermos a mídia do Oracle:

Basta selecionar a imagem ISO, e clicar em Open.

Agora, precisamos montar esse CD no servidor. Como root no servidor mvrac1:

[root@mvrac1 ~]# mount /dev/hdc /media
mount: block device /dev/hdc is write-protected, mounting read-only

Para verificar se o disco foi montado:

[root@mvrac1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              11G  2.4G  7.8G  24% /
tmpfs                 252M     0  252M   0% /dev/shm
/dev/hdc              3.1G  3.1G     0 100% /media

Com o disco montado, precisamos acessá-lo:

[root@mvrac1 ~]# cd /media/Ora10.2.0.4

Vamos ver o conteúdo do disco:

[root@mvrac1 Ora10.2.0.4]# ls -l
total 177
dr-xr-xr-x 5 root root   2048 May 21  2008 p6810189
-r--r--r-- 1 root root 178473 Feb 25  2008 README.html

Agora copiaremos o diretório p6810189 para o diretório /home/oracle:

[root@mvrac1 Ora10.2.0.4]# cp -rp p6810189/ /home/oracle/

Agora precisamos acertar as permissões, pois o diretório foi copiado como root:

[root@mvrac1 ~]# chown -R oracle:oinstall /home/oracle/*

Agora, iniciaremos a instalação. Há algumas formas de realizar a instalação:

  • Localmente no servidor, através da VMWare Server Console;
  • Remotamente, através de um software que simule um X-Server (existem diversas opções gratuitas na Internet);
  • Remotamente, através de uma estação Linux/Unix/Mac que tenha a parte gráfica (X) habilitado.

Eu usarei a terceira opção, portanto, a partir da minha estação:

vinicius@Viniciuss-MacBook:~$ ssh -X oracle@172.23.10.11
oracle@172.23.10.11's password:
/usr/bin/xauth:  creating new authority file /home/oracle/.Xauthority

Testando para ver se a parte gráfica está funcionando:

[oracle@mvrac1 ~]$ xclock

O teste funcionou! Vejam:

Pronto!

Vamos iniciar a instalação:

[oracle@mvrac1 ~]$ cd p6810189/
[oracle@mvrac1 p6810189]$ ls -l
total 1784
-r--r--r--  1 oracle oinstall 1620786 Feb 21  2008 10204_buglist.htm
dr-xr-xr-x  4 oracle oinstall    4096 May 21  2008 install
-r--r--r--  1 oracle oinstall  178465 Feb 22  2008 patch_note.htm
dr-xr-xr-x  2 oracle oinstall    4096 May 21  2008 response
-r-xr-xr-x  1 oracle oinstall    1756 Feb 17  2008 runInstaller
dr-xr-xr-x 10 oracle oinstall    4096 May 21  2008 stage
[oracle@mvrac1 p6810189]$ ./runInstaller

Na tela inicial do Patchset, devemos clicar em Next.

Na tela acima devemos especificar o Oracle Home do Banco de Dados. No entanto, esse Oracle já está selecionado automaticamente. Basta clicar em Next.

Não tem como mudarmos os itens da janela acima, pois o OUI já detectou que o Oracle Home selecionado foi instalado na arquitetura de cluster, e por isso, os 2 nós já foram selecionados automaticamente. Clicar em Next.

Os pré-requisitos serão verificados. Clicar em Next.

No Patchset 10.2.0.4, é possível habilitar o Oracle Configuration Manager, que auxiliará na aplicação de patches automaticamente baixados pelo Metalink. Por enquanto, não configuraremos esse item. Clicar em Next.

Um resumo sobre a instalação será exibido. Clicar em Install.

Uma janela com o progresso será exibida. Aguardar.

Uma janela será exibida solicitando executarmos 1 script como root nos 2 nós do cluster.

Vamos à execução do script /u01/app/oracle/product/10.2.0/db_1/root.sh no nó mvrac1:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/10.2.0/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

Após a conclusão do script no servidor mvrac1, vamos executá-lo no servidor mvrac2:

[root@mvrac2 ~]# /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/10.2.0/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

Clicar em OK.

Clicar em Exit.

Clicar em Yes.

Pronto!

Nesse artigo vimos como instalar o Patchset 10.2.0.4 no Oracle Database.

No próximo artigo veremos como criar o Listener no ambiente clusterizado.

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®.

Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware
Instalação do Oracle RAC 10g Release 2 – Parte 8: Instalação do Patchset 10.2.0.4 no Clusterware

===================================

Olá pessoal!

Nesse artigo instalaremos software do banco de dados Oracle 10.2.0.1.

Bom, vamos lá?

Precisamos verificar se o CD-ROM está montado.

Se estiver, aparecerá da seguinte forma

[root@mvrac1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              11G  2.4G  7.8G  24% /
tmpfs                 252M     0  252M   0% /dev/shm
/dev/hdc              3.1G  3.1G     0 100% /media

Se não estiver, deveremos montá-lo:

Na tela da VMWare Server Console, deveremos clicar duas vezes no ícone do CD-ROM (identificado pela seta vermelha).

Eu fiz uma imagem ISO com alguns softwares Oracle, portanto, na tela acima, deveremos manter a opção “Use ISO image:” marcada, e clicar em Browse, para escolhermos a mídia do Oracle:

Basta selecionar a imagem ISO, e clicar em Open.

Agora, precisamos montar esse CD no servidor. Como root no servidor mvrac1:

[root@mvrac1 ~]# mount /dev/hdc /media
mount: block device /dev/hdc is write-protected, mounting read-only

Para verificar se o disco foi montado:

[root@mvrac1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              11G  2.4G  7.8G  24% /
tmpfs                 252M     0  252M   0% /dev/shm
/dev/hdc              3.1G  3.1G     0 100% /media

Com o disco montado, precisamos acessá-lo:

[root@mvrac1 ~]# cd /media/Ora10.2.0.1

Vamos ver o conteúdo do disco:

[root@mvrac1 Ora10.2.0.1]# ls -l
total 8
dr-xr-xr-x 6 root root 2048 May 21  2008 client
dr-xr-xr-x 9 root root 2048 May 21  2008 clusterware
dr-xr-xr-x 6 root root 2048 May 21  2008 companion
dr-xr-xr-x 6 root root 2048 May 21  2008 database

Agora copiaremos o diretório clusterware para o diretório /home/oracle:

[root@mvrac1 Ora10.2.0.1]# cp -rp database/ /home/oracle/

Agora precisamos acertar as permissões, pois o diretório foi copiado como root:

[root@mvrac1 ~]# chown -R oracle:oinstall /home/oracle/*

Agora, iniciaremos a instalação. Há algumas formas de realizar a instalação:

  • Localmente no servidor, através da VMWare Server Console;
  • Remotamente, através de um software que simule um X-Server (existem diversas opções gratuitas na Internet);
  • Remotamente, através de uma estação Linux/Unix/Mac que tenha a parte gráfica (X) habilitado.

Eu usarei a terceira opção, portanto, a partir da minha estação:

vinicius@Viniciuss-MacBook:~$ ssh -X oracle@172.23.10.11
oracle@172.23.10.11's password:
/usr/bin/xauth:  creating new authority file /home/oracle/.Xauthority

Testando para ver se a parte gráfica está funcionando:

[oracle@mvrac1 ~]$ xclock

O teste funcionou! Vejam:

Pronto!

Vamos iniciar a instalação:

[oracle@mvrac1 ~]$ cd database/
[oracle@mvrac1 database]$ ls -l
total 28
dr-xr-xr-x 9 oracle oinstall 4096 May 21  2008 doc
dr-xr-xr-x 5 oracle oinstall 4096 May 21  2008 install
dr-xr-xr-x 2 oracle oinstall 4096 May 21  2008 response
-r-xr-xr-x 1 oracle oinstall 1327 Jul  2  2005 runInstaller
dr-xr-xr-x 9 oracle oinstall 4096 May 21  2008 stage
-r-xr-xr-x 1 oracle oinstall 5213 Jul  2  2005 welcome.html

Como estamos usando o RHEL5/OEL5, quando o produto 10.2.0.1 foi lançado, essa versão de sistema operacional ainda não estava disponível no mercado, precisaremos executar a instalação informando que a verificação de pré-requisitos deverá ser ignorada:

[oracle@mvrac1 database]$ ./runInstaller -ignoreSysPreReqs

Clicar em Next.

A edição que instalaremos será a Standard Edition, portanto, selecione essa edição na tela e clique em Next.

Na tela acima devemos especificar o nome do Oracle Home do Banco de Dados, assim como a sua localização. Os valores sugeridos são:

  • Para o nome do Oracle Home do Banco de Dados: OraDb10g_home1;
  • Para a localização do Oracle Home do Banco de Dados: /u01/app/oracle/product/10.2.0/db_1.

Clicar em Next.

Nessa tela podemos escolher entre realizar uma instalação Local (para bancos de dados single instance, sem RAC), ou uma instalação de Cluster. O tipo escolhido é a instalação de Cluster. Clicar no botão Select All para selecionar todos os nós:

Clicar em Next.

O OUI reclamará de pouca memória e parâmetros de kernel, isso acontece pois é o RHEL5, bastará clicar na caixa de seleção onde está escrito “Warning na coluna de Status:

Após ter clicado na caixa, observem que o status passará para o valor “User Verified”. Clicar em Next:

Por enquanto, instalaremos apenas o software. Portanto, clicar na opção “Install database Software only”:

Um resumo sobre a instalação será exibido. Clicar em Install.

A janela com o progresso da instalação será exibida. Aguardar.

Uma janela aparecerá solicitando executarmos 1 script como root nos 2 nós do cluster.

Vamos à execução do script /u01/app/oracle/product/10.2.0/db_1/root.sh no nó mvrac1:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/10.2.0/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

Após a conclusão desse script, vamos executá-lo no servidor mvrac2:

[root@mvrac2 ~]# /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/10.2.0/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

Clicar em OK.

Clicar em Exit.

Clicar em Yes.

Pronto!

Nesse artigo vimos como instalar o software de banco de dados Oracle 10.2.0.1.

No próximo artigo veremos como instalar o Patchset 10.2.0.4 no software de banco de dados.

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®.