Neste artigo será apresentado como automatizar o startup e o shutdown do banco de dados Oracle 11g R2 x86_64 instalado no CentOS x86_64. A automatização será feita através de um script bash que tornará todo o processo simples, seguro, além de não necessitar de nenhuma intervenção humana.
Colocar o Banco de dados para Inicializar automaticamente é uma boa opção para evitar dores de cabeça, principalmente quando se ocorre algo inesperado e o sistema não pode ficar fora.
Automatizar processos manuais e repetitivos é uma forma de maximizar o tempo.
A automatização do processo é muito útil em ambientes 24×7 (24 horas por dia e 7 dias por semana). Implementar o startup automático pode evitar que você tenha que ir até a empresa de madrugada para iniciar o banco devido um pico de energia, neste caso, continue dormindo, pois ao reiniciar a máquina, o banco estará de pé novamente.
Descanse bem, pois logo de manhã talvez você precise fazer um recovery, ou se tiver sorte, o próprio Oracle vai se recuperar da queda.
Descanse bem, pois logo de manhã talvez você precise fazer um recovery, ou se tiver sorte, o próprio Oracle vai se recuperar da queda.
O startup automático iniciará os processos na seguinte ordem:
Listener
Oracle Database
Oracle Enterprise Manager
Oracle Database
Oracle Enterprise Manager
Caso em sua instalação você não utilize Oracle Enterprise Manager, basta comentar a linha no script dbora.
O shutdown automático finalizará os processos na seguinte ordem:
Oracle Enterprise Manager
Listener
Oracle Database
Listener
Oracle Database
Caso em sua instalação você não utilize Oracle Enterprise Manager, basta comentar a linha no script dbora.
Na própria instalação do Oracle é disponibilizado 2 scripts: um para startup e outro para shutdown, são eles: $ORACLE_HOME/bin/dbstart e $ORACLE_HOME/bin/dbshut.
Esses dois scripts trabalham junto com o arquivo /etc/oratab.
O arquivo oratab é responsável por definir quais instâncias serão inicializadas e finalizadas pelos scripts dbstart e dbshut. O oratab é composto por entradas que seguem o seguinte padrão:
$ORACLE_SID:$ORACLE_HOME:<N|Y>
$ORACLE_SID => instância
$ORACLE_HOME => diretório home do banco
<N|Y> defini se será (Y) ou não (N) utilizado nos scripts dbstart e dbshut.
Para automatizar o processo siga os passos:
1- Editar o arquivo /etc/oratab, definindo Y para as instâncias que serão automatizadas:
vi /etc/oratab
Arquivo /etc/oratab:
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
ha1:/u01/app/oracle/product/11.2.0/db_1:Y
2 - Criar o script /etc/init.d/dbora:
[root@ha1 ~]# vi /etc/init.d/dbora
Script /etc/init.d/dbora:
#!/bin/bash
# script: dbora
# autor: Marcio Rocha
# chkconfig: 35 99 10
# description: startup/shutdown listener, oracle database and enterprise manager
ORA_HOME=/u01/app/oracle/product/11.2.0/db_1
ORA_OWNER=oracle
start(){
echo "Starting..."
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/dbora
}
stop(){
echo "Stopping..."
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
rm -f /var/lock/subsys/dbora
}
restart(){
stop
start
}
usage(){
echo "usage: $0 {start|stop|restart}"
}
if [ `id -u` -ne 0 ]
then
echo "Este script deve ser executado como root"
exit
fi
case $1 in
'start') start;;
'stop') stop;;
'restart') restart;;
*) usage;;
esac
3- Defina a permissão para script /etc/init.d/dbora:
[root@ha1 ~]# chmod 755 /etc/init.d/dbora
Registre o serviço:
[root@ha1 ~]# chkconfig --add dbora
Caso necessite fazer o startup e shutdown de forma manual, utilize o usuário root.
A sintaxe do script dbora é a seguinte:
[root@ha1 ~]# /etc/init.d/dbora
usage: /etc/init.d/dbora {start|stop|restart}
Para finalizar, algumas considerações sobre o script /etc/init.d/dbora.
O script dbora é basicamente uma chamada para os outros dois scripts $ORACLE_HOME/bin/dbstart e $ORACLE_HOME/bin/dbshut com mais alguns recursos.
Foi implementado o startup e shutdown do Oracle Enterprise Manager. O script dbora possui três opções: start, stop e restart. O restart nada mais é que a chamada do stop seguido do start.
Nenhum comentário:
Postar um comentário