Você está na página 1de 8

Oracle Clusterware Rotinas Administrativas Parte 1

Start e Stop
Posted Jul.14, 2010 under Administrao, Clusterware

Ol pessoal!

Depois de um longo tempo sem atualizar o blog, voltamos hoje com o incio da srie de artigos
que tratar sobre as rotinas administrativas do Clusterware.

Esse primeiro artigo tratar sobre o start e stop do Clusterware.

No explicarei em detalhes sobre os binrios que utilizaremos para parar os recursos do cluster,
pois isso ser tratado nos artigos subsequentes. O objetivo deste artigo deixar voc preparado
para inicializar e interromper os recursos individualmente ou globalmente.

Vamos l?

Comearemos com a interrupo de todos os recursos do cluster num n especfico. Para isso,
necessrio utilizar o binrio crsctl que est em $ORA_CRS_HOME, a execuo deste binrio
deve ser feita atravs do usurio root.

O atual status dos componentes do cluster :

view source
print?
01 [oracle@mvrac1 ~]$ crsstat
02 HA Resource Target State
03 ----------- ------ -----
ora.mvdb.db ONLINE ONLINE on
04
mvrac1
ora.mvdb.mvdb1.inst ONLINE ONLINE on
05
mvrac1
ora.mvdb.mvdb2.inst ONLINE ONLINE on
06
mvrac2
ora.mvdb.producao.cs ONLINE ONLINE on
07
mvrac1
ora.mvdb.producao.mvdb1.srv ONLINE ONLINE on
08
mvrac1
ora.mvdb.producao.mvdb2.srv ONLINE ONLINE on
09
mvrac2
ora.mvrac1.ASM1.asm ONLINE ONLINE on
10
mvrac1
ora.mvrac1.LISTENER_MVRAC1.lsnr ONLINE ONLINE on
11
mvrac1
ora.mvrac1.gsd ONLINE ONLINE on
12
mvrac1
ora.mvrac1.ons ONLINE ONLINE on
13
mvrac1
ora.mvrac1.vip ONLINE ONLINE on
14
mvrac1
ora.mvrac2.ASM2.asm ONLINE ONLINE on
15
mvrac2
ora.mvrac2.LISTENER_MVRAC2.lsnr ONLINE ONLINE on
16
mvrac2
ora.mvrac2.gsd ONLINE ONLINE on
17
mvrac2
ora.mvrac2.ons ONLINE ONLINE on
18
mvrac2
ora.mvrac2.vip ONLINE ONLINE on
19
mvrac2

Podemos observar que todos os recursos do cluster esto ONLINE. Tanto no n mvrac1 quanto
no mvrac2.

Vamos supor que a equipe de infra-estrutura precisa realizar a atualizao de um firmware de


uma placa do servidor. Ou trocar um processador, ou aumentar memria, enfim, qualquer
atividade que exija a interrupo do servidor.

Como utilizamos o Oracle RAC, o ambiente de Banco de Dados no ficar indisponvel pois
temos dois servidores que executam o banco de dados, desta forma, podemos interromper
tranquilamente o servidor que passar pela manuteno, com a garantia que o ambiente de banco
de dados continuar disponvel aos usurios.

O servidor que passar pela manuteno o mvrac1. Desta forma, com o usurio root,
executaremos o binrio crsctl da seguinte forma:

view source
print?
1 [root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl stop crs
2 Stopping resources. This could take several minutes.
3 Successfully stopped CRS resources.
4 Stopping CSSD.

5 Shutting down CSS daemon.


6 Shutdown request successfully issued.

Vejam que a sintaxe : crsctl stop crs.

Eu estou solicitando atravs do crsctl interromper todo o crs (cluster), mas o binrio crsctl
quando utilizado com as palavras-chave start ou stop, tratar apenas do n onde executado, ou
seja, interromper todos os recursos no n onde o crsctl stop crs foi executado, neste caso, o n
mvrac1.
Vamos agora no servidor mvrac2 verificar o status dos recursos do cluster aps a interrupo dos
recursos no n mvrac1.

view source
print?
01 [oracle@mvrac2 crsd]$ crsstat
02 HA Resource Target State
03 ----------- ------ -----
ora.mvdb.db ONLINE ONLINE on
04
mvrac2
05 ora.mvdb.mvdb1.inst ONLINE OFFLINE
ora.mvdb.mvdb2.inst ONLINE ONLINE on
06
mvrac2
ora.mvdb.producao.cs ONLINE ONLINE on
07
mvrac2
08 ora.mvdb.producao.mvdb1.srv ONLINE OFFLINE
ora.mvdb.producao.mvdb2.srv ONLINE ONLINE on
09
mvrac2
10 ora.mvrac1.ASM1.asm ONLINE OFFLINE
11 ora.mvrac1.LISTENER_MVRAC1.lsnr ONLINE OFFLINE
12 ora.mvrac1.gsd ONLINE OFFLINE
13 ora.mvrac1.ons ONLINE OFFLINE
ora.mvrac1.vip ONLINE ONLINE on
14
mvrac2
ora.mvrac2.ASM2.asm ONLINE ONLINE on
15
mvrac2
ora.mvrac2.LISTENER_MVRAC2.lsnr ONLINE ONLINE on
16
mvrac2
ora.mvrac2.gsd ONLINE ONLINE on
17
mvrac2
ora.mvrac2.ons ONLINE ONLINE on
18
mvrac2
ora.mvrac2.vip ONLINE ONLINE on
19
mvrac2

Observem que o recurso ora.mvrac1.vip que o recurso que controla o VIP (IP Virtual) do n
mvrac1 est agora online no servidor mvrac2. Esse o comportamento padro do Clusterware.
Quando os recursos so interrompidos atravs do crsctl, o IP virtual remanejado para outro
servidor que estiver ativo no cluster.

Os recursos so interrompidos na seguinte ordem:

1) Servios de BD;

2) BD;
3) ASM;

4) Nodeapps (Listener, GSD, ONS e VIP).

Muito bem, para inicializar os recursos do cluster no n mvrac1, basta utilizar o crsctl com a
palavra-chave start, com o usurio root:

view source
print?
1 [root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl start crs
2 Attempting to start CRS stack
3 The CRS stack will be started shortly

Aps isso, vamos verificar o status dos recursos do cluster:

view source
print?
01 [oracle@mvrac1 ~]$ crsstat
02 HA Resource Target State
03 ----------- ------ -----
ora.mvdb.db ONLINE ONLINE on
04
mvrac2
ora.mvdb.mvdb1.inst ONLINE ONLINE on
05
mvrac1
ora.mvdb.mvdb2.inst ONLINE ONLINE on
06
mvrac2
ora.mvdb.producao.cs ONLINE ONLINE on
07
mvrac2
ora.mvdb.producao.mvdb1.srv ONLINE ONLINE on
08
mvrac1
ora.mvdb.producao.mvdb2.srv ONLINE ONLINE on
09
mvrac2
ora.mvrac1.ASM1.asm ONLINE ONLINE on
10
mvrac1
ora.mvrac1.LISTENER_MVRAC1.lsnr ONLINE ONLINE on
11
mvrac1
ora.mvrac1.gsd ONLINE ONLINE on
12
mvrac1
ora.mvrac1.ons ONLINE ONLINE on
13
mvrac1
ora.mvrac1.vip ONLINE ONLINE on
14
mvrac1
ora.mvrac2.ASM2.asm ONLINE ONLINE on
15
mvrac2
ora.mvrac2.LISTENER_MVRAC2.lsnr ONLINE ONLINE on
16
mvrac2
ora.mvrac2.gsd ONLINE ONLINE on
17
mvrac2
ora.mvrac2.ons ONLINE ONLINE on
18
mvrac2
ora.mvrac2.vip ONLINE ONLINE on
19
mvrac2

Os recursos so inicializados na seguinte ordem:

1) Nodeapps (Listener, GSD, ONS e VIP);

2) ASM;

3) BD;

4) Servios de BD.

Agora que j sabemos inicializar/interromper todos os recursos do cluster num n, vamos ver
como interrompemos servios especficos do cluster num n, ou ento em todo o cluster.

Vamos supor que eu precise alterar um parmetro somente numa instncia, como por exemplo, a
quantidade definida para a SGA. A instncia que ter o parmetro alterado a instncia mvdb1,
que est em execuo no servidor mvrac1:

view source
print?
1 SQL> alter system set sga_max_size=175m scope=spfile sid='mvdb1';
2
3 System altered.
4
5 SQL> alter system set sga_target=175m scope=spfile sid='mvdb1';
6
7 System altered.

Aps alterar o parmetro, necessrio reiniciar a instncia.

Agora utilizaremos o binrio srvctl, neste momento, verificaremos apenas as funes de


start/stop deste binrio. Ele utilizado para interromper recursos especficos, em todo o cluster
ou apenas em ns especficos.

Instncia de BD:

Para interromper a instncia mvdb1, basta executar o seguinte:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl stop instance -d mvdb -i mvdb1
A sintaxe : srvctl stop instance -d <DBNAME> -i <INSTANCE_NAME> -o
<OPTION_SHUTDOWN>

Exemplos:

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


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

A opo default para o shutdown a IMMEDIATE.

Para fazer o start o srvctl segue a mesma lgica:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl start instance -d mvdb -i mvdb1

A sintaxe : srvctl start instance -d <DBNAME> -i <INSTANCE_NAME> -o


<OPTION_STARTUP>

Exemplos:

srvctl start instance -d mvdb -i mvdb1 -o nomount


srvctl start instance -d mvdb -i mvdb1 -o mount

A opo default para o shutdown a OPEN.

Banco de Dados

Assim como baixamos apenas uma instncia, podemos tambm realizar o stop/start de todo o
banco de dados, ou seja, todas as instncias associadas a este banco de dados:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl stop database -d mvdb

Sua sintaxe : srvctl stop database -d <DBNAME> -o <OPTION_SHUTDOWN>

Exemplos:

srvctl stop database -d mvdb -o abort


srvctl stop database -d mvdb -o transactional

A opo default para o shutdown a IMMEDIATE.

Para fazer o startup do banco de dados:


view source
print?
1 [oracle@mvrac1 ~]$ srvctl start database -d mvdb

Sua sintaxe : srvctl start database -d <DBNAME> -o <OPTION_STARTUP>

Exemplos:

srvctl start database -d mvdb -o nomount


srvctl start database -d mvdb -o mount

A opo default para o shutdown a OPEN.

ASM

Para interromper o ASM:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl stop asm -n mvrac1

A sintaxe deste comando : srvctl stop asm -n <NODENAME>.

Como s h APENAS uma instncia ASM por n, necessrio especificar o n quando a


instncia ASM for interrompida.

Para inicializar o ASM:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl start asm -n mvrac1

A sintaxe deste comando : srvctl start asm -n <NODENAME>.

Como s h APENAS uma instncia ASM por n, necessrio especificar o n quando a


instncia ASM for inicializada.

Nodeapps

Para interromper os nodeapps:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl stop nodeapps -n mvrac1

A sintaxe deste comando : srvctl stop nodeapps -n <NODENAME> .


Para inicializar os nodeapps:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl start nodeapps -n mvrac1

A sintaxe deste comando : srvctl start nodeapps -n <NODENAME>.

Listener

Mesmo o Listener fazendo parte dos nodeapps, tambm possvel par-lo individualmente com
o srvctl.

Para interromper o Listener:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl stop listener -n mvrac1

A sintaxe deste comando : srvctl stop listener -n <NODENAME>.

Para inicializar o Listener:

view source
print?
1 [oracle@mvrac1 ~]$ srvctl start listener -n mvrac1

A sintaxe deste comando : srvctl start listener -n <NODENAME>.

Bom, por hoje s. No prximo artigo discutiremos com mais detalhes a utilizao do crsctl
(pois este no serve somente para interromper e inicializar os recursos do cluster).

Espero que este artigo seja til.