Hector Ulloa Ligarius Para el sitio ndice 1. Introduccin ........................................................................................................................ 2 2. Cmo se levantan los procesos de Oracle Restart? ........................................................... 3 3. Controlando el Oracle Restart ............................................................................................. 4 3.1. COMANO CR!C"# .......................................................................................................................................... 4 3.2. COMANO !R$C"# .......................................................................................................................................... % 3.2.1. Levantando los componentes con srvctl ............................................................................................. 6 3.2.2. Bajando los componentes con srvctl .................................................................................................. 7 4. &'icacin de lo(s ................................................................................................................ ) *. Notas Oracle relacionadas al Oracle Restart ....................................................................... + 1. Introduccin Oracle Restart es un conjunto de comandos para mejorar lo que es la alta disponibilidad dentro de Oracle , de hecho , esta caracterstica fue pensada para bases de datos en Cluster , pero a partir de 11gr2 est caracterstica viene en bases de datos Stand lone! Oracle Restart tiene varias particularidades, por ejemplo puede anali"ar la salud de un componente # si encuentra que no esta dando servicio lo puede inciar , $qu% componentes reinicia& 'ues los siguientes ( )nstancias R*+,S -isteners Servicios de base de datos )nstancias S, *is.s /roups en S, Servicios O0S Oracle Restart 11(r2 2. Cmo se levantan los procesos de Oracle Restart? -os servicios de Oracle Restart son levantados de forma automtica mediante el proceso init de los Sistemas Operativos 1ni2! Si los pudieramos representar en orden de levantamiento sera mas o menos as ( *emonio init de sistema operativo 3init4 o Script de Oracle Restart 3init!ohasd4 'rocesos # demonios de Oracle Restart ohasd!bin oraagent!bin orarootagent!bin dis.mon!bin cssdagent ocssd!bin Cada ve" que se reali"a la instalaci5n de Oracle Restart 3por defecto4, son modificados ciertos archivos de sistema operativo , como por ejemplo el 6etc6inittab -a modificaci5n al archivo corresponde a esta entrada [oracle@localhost ~]$ more /etc/inittab . . h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null >!1 "/dev/null lgunos de los procesos que parten con el Oracle Restart parten con los privilegios del usuario root mientras otros parten con el usuario oracle 3o el usuario que sea due7o de la instalaci5n del /rid )nfraestructure4 Oracle Restart 11(r2 3. Controlando el Oracle Restart 3.1. Comando crsctl )magenimos que estamos en una instalaci5n nueva en 11gr2 Stand lone , la cual posee S, # tratamos de levantar esta instancia de la siguiente forma [oracle@localhost dbs]$ e#port $%&'($$%&':$)*%+,-.')/-/bin [oracle@localhost dbs]$ e#port )*%+,-.')/-(/u01/app/oracle/product/11..0/1rid [oracle@localhost dbs]$ e#port )*%+,-.234(5%2/ [oracle@localhost dbs]$ s6lplus /nolo1 27,8$lus: *elease 11..0.1.0 $roduction on 2un 2ep 9 19:55:1 010 +op:ri1ht ;c< 1=>? 00=? )racle. %ll ri1hts reserved. 27,> conn / as s:sasm +onnected to an idle instance. 27,> startup )*%@010A>: Bailure in processin1 s:stem parameters )*%@=A01: unable to connect to +luster 2:nchroniCation 2ervice 27,> Obs1 ( Recordar que la instancia S, se encuentra en el /rid )nfraestructure 8ome Obs2 ( 'ara poder levantar una instancia S, en 11gr2 ha# que conectarse como s#sasm , #a no est soportado el s#sdba 9 el error que se produce )*%@010A>: Bailure in processin1 s:stem parameters )*%@=A01: unable to connect to +luster 2:nchroniCation 2ervice :s debido a que no est arriba el proceso de alta disponibilidad 8S 38igh vailabilit# Services4 arriba, para trabajar con el 8S, necesitamos utili"ar el comando crsctl , si te es familiar es porque lo has usado en RC ;4 1n resumen del comando crsctl crsctl config has 'ara saber si esta o no habilitado el autostart del 8S 3lo que no quiere decir que este o no arriba4 [oracle@localhost ~]$ . oraenv )*%+,-.234 ( [oracle] D 5%2/ &he )racle base Bor )*%+,-.')/-(/u01/app/oracle/product/11..0/1rid is /u01/app/oracle [oracle@localhost ~]$ crsctl conBi1 has +*2@E9: )racle 'i1h %vailabilit: 2ervices autostart is enabled. [oracle@localhost ~]$ crsctl [enable , disable has 'ara deshabilitar el inicio automtico del O8S , se ejecuta el siguiente comando Oracle Restart 11(r2 [oracle@localhost ~]$ . oraenv )*%+,-.234 ( [oracle] D 5%2/ &he )racle base Bor )*%+,-.')/-(/u01/app/oracle/product/11..0/1rid is /u01/app/oracle [oracle@localhost dbs]$ crsctl disable has +*2@E91: )racle 'i1h %vailabilit: 2ervices autostart is disabled. <erificando la configuraci5n [oracle@localhost ~]$ . oraenv )*%+,-.234 ( [oracle] D 5%2/ &he )racle base Bor )*%+,-.')/-(/u01/app/oracle/product/11..0/1rid is /u01/app/oracle [oracle@localhost dbs]$ crsctl conBi1 has +*2@E91: )racle 'i1h %vailabilit: 2ervices autostart is disabled. [oracle@localhost dbs]$ 'ara habilitar nuevamente el reinicio automtico del O8S [oracle@localhost ~]$ . oraenv )*%+,-.234 ( [oracle] D 5%2/ &he )racle base Bor )*%+,-.')/-(/u01/app/oracle/product/11..0/1rid is /u01/app/oracle [oracle@localhost dbs]$ crsctl enable has +*2@E9: )racle 'i1h %vailabilit: 2ervices autostart is enabled. <erificando la configuraci5n [oracle@localhost ~]$ . oraenv )*%+,-.234 ( [oracle] D 5%2/ &he )racle base Bor )*%+,-.')/-(/u01/app/oracle/product/11..0/1rid is /u01/app/oracle [oracle@localhost dbs]$ crsctl conBi1 has +*2@E9: )racle 'i1h %vailabilit: 2ervices autostart is enabled. [oracle@localhost dbs]$ crsctl [start , stop has 'ara iniciali"ar el O8S se ejecuta el siguiente comando [oracle@localhost ~]$ . oraenv )*%+,-.234 ( [oracle] D 5%2/ &he )racle base Bor )*%+,-.')/-(/u01/app/oracle/product/11..0/1rid is /u01/app/oracle [oracle@localhost oracle]$ crsctl start has +*2@E13: )racle 'i1h %vailabilit: 2ervices has been started. 'ara bajar los components del O8S se ejecuta el siguiente commando [oracle@localhost oracle]$ crsctl stop has +*2@A=1: 2tartin1 shutdown oB )racle 'i1h %vailabilit: 2ervices@mana1ed resources on FlocalhostF +*2@9A3: %ttemptin1 to stop Fora.,32&-G-*.lsnrF on FlocalhostF +*2@9A3: %ttemptin1 to stop Fora.cssdF on FlocalhostF +*2@9AA: 2top oB Fora.cssdF on FlocalhostF succeeded +*2@9A3: %ttemptin1 to stop Fora.disHmonF on FlocalhostF +*2@9AA: 2top oB Fora.,32&-G-*.lsnrF on FlocalhostF succeeded +*2@9AA: 2top oB Fora.disHmonF on FlocalhostF succeeded +*2@A=3: 2hutdown oB )racle 'i1h %vailabilit: 2ervices@mana1ed resources on FlocalhostF has completed +*2@E133: )racle 'i1h %vailabilit: 2ervices has been stopped. Obs ( Se puede usar de indistinta forma el crsctl del Oracle 8ome del motor Oracle o el Oracle 8ome del /rid Oracle Restart 11(r2 3.2. Comando srvctl 1na de las premisas para trabajar con el comando srvctl es saber con que vamos a trabajar, o sea, saber elegir que ORC-:=8O,: debemos setear , si el ORC-:=8O,: del grid o el ORC-:=8O,: del motor Oracle! Si queremos trabajar con ( )nstancias S, *is.s /roups -isteners Ons Seleccionamos el ORC-:=8O,: del grid Si queremos trabajar con ( +ase de datos )nstancias R*+,S Seleccionamos el ORC-:=8O,: del motor Oracle Se recomienda utili"ar el comando srvctl , #a que con este comando se preservan todas las dependiencias entre los componentes, entre otras cosas! 3.2.1. Levantando los componentes con srvctl sr!ctl start database "d #nombre$ %o #opcion$ :ste comando sirve para levantar una base de datos # todas sus dependencias, por lo tanto no ha# que preocuparse de levantar instancias S,, dis.groups ni listener, este comando lo hace s5lo! -o >nico que debemos tener en cuenta es elegir el ORC-:=8O,: del motor , aunque si ocupamos el ORC-:=8O,: del grid funciona e2actamente pero arroja un peque7o ?arning [oracle@localhost oracle]$ srvctl start database @d orcl $*++@101E : orcl was alread: runnin1 <erificamos el estado de la base de datos [oracle@localhost oracle]$ srvctl status database @d orcl 4atabase is runnin1. [oracle@localhost oracle]$ sr!ctl start listener "l #nombre&listener$ 'ara subir un listener , ocupamos el comando srvctl start listener, ac podemos ocupar el srvctl del grid -evantamos # verificamos el estado [oracle@localhost oracle]$ srvctl start listener @l ,32&-G-* [oracle@localhost oracle]$ srvctl status listener @l ,32&-G-* ,istener ,32&-G-* is enabled ,istener ,32&-G-* is runnin1 on node;s<: localhost [oracle@localhost oracle]$ Oracle Restart 11(r2 sr!ctl start dis'group "g #nombre&dis'group$ 'ara subir un dis.group, en realidad montarlo, se puede ocupar el siguiente comando, una ve" reali"ado este verificamos su estado! [oracle@localhost oracle]$ srvctl start disH1roup @1 data [oracle@localhost oracle]$ srvctl status disH1roup @1 data 4isH Iroup data is runnin1 on localhost [oracle@localhost oracle]$ sr!ctl start asm 'ara subir una instancia asm # posteriormente verificar su estado [oracle@localhost oracle]$ srvctl start asm [oracle@localhost oracle]$ srvctl status asm %2/ is runnin1 on localhost 3.2.2. Bajando los componentes con srvctl l igual que en el captulo anterior en donde se indicaban los componentes a subir, estos tambi%n pueden ser bajados utili"ando el Oracle Restart Se muestra un peque7o set de ejemplos para los comandos de bajada de los distintos componentes ( srvctl stop database @d orcl @o transactional srvtctl stop listener @l -)SA:0:R @f srvctl stop dis.group @g B*A, CRD @f srvctl stop asm @o immediate @f Oracle Restart 11(r2 4. &'icacin de lo(s Oracle restart es llamado O8S, por ende sus logs se generarn bajo una carpeta del mismo nombre, lo que hace que sea mucho ms fcil ubicarlos EORC-:=8O,:6log6FhostnameG6ohasd6ohasd!log 'or ejemplo, dentro de este logs aparecen cosas como lo siguiente H )niciali"aci5n del proceso ohasd H -ectura de los recursos que se encuentren inscritos en el Restart H Aodo lo relacionado a los procesos agentes -a informaci5n que el agente lee al momento de reali"ar el startup es almacenada en un archivo llamado O-R , que es mu# similar al archivo OCR en una estructura de cluster :l O-R se puede ubicar si se consulta el archivo 6etc6oracle6olr!loc Oracle Restart 11(r2 5. Notas Oracle relacionadas al Oracle Restart bout Oracle Restart ,ttp-..do/nload.oracle.com.docs.cd.011))2121.server.112.e13122.restart221.,tm4AMIN1232+ Con5i(urin( Oracle Restart ,ttp-..do/nload.oracle.com.docs.cd.011))2121.server.112.e13122.restart222.,tm4AMIN12321 Oracle Restart( ho) do *ou manage, create and remo!e OLR +ac'ups [,D 12-./2011 Oracle Restart 11(r2