Leonardo Pedroso | Um blog de conteúdo Oracle e SQL Server

Automatizando o startup e shutdown das bases de dados Oracle 12c

Quando realizamos a instalação do Oracle Database, são instalados os binários e os referidos bancos de dados (dbca). Ror default os bancos não startam nem fazem o shutdown de maneira autônoma, é preciso entrar no SQLPLUS, rodar o comando shutdown quando necessita desligar o servidor ou o comando startup após o religamento ou reboot do servidor para que o banco seja startado e suas tabelas ficarem acessíveis.

O primeiro passo para automatizar esse processo, é acessando o arquivo /etc/oratab no servidor Linux e chegar algumas informações:

[root@localhost /]# vi /etc/oratab

verificar-oratab-linux

Para cada vez que você roda o DBCA e cria um banco de dados, uma nova linha é adicionada nesse arquivo com o nome do banco. No nosso caso o banco em questão é o cdb1. Note que há uma letra N no final da linha, que indica se o banco será startado quando o utilitário dbstart invocá-lo ou se será desligado quando o comando dbshut for utilizado.

Faça a edição dessa linha para Y e saia do editor do VI, deixando o arquivo desse jeito:

verificar-oratab-linux2

Depois de feito isso, basta configurar um serviço na pasta /etc/init.d com o nome dbora com os comandos abaixo:

#vi /etc/init.d/dbora

Copie e cole o comando abaixo, alterado o ORACLE_HOME para o que está setado no bash_profile do usuário oracle:

#!/bin/sh
# chkconfig: 345 99 10
ORACLE_HOME=(coloque aqui o caminho do seu ORACLE_HOME)
#
ORACLE=oracle
PATH=${PATH}:$ORACLE_HOME/bin
export ORACLE_HOME PATH
#
case $1 in
‘start’)
runuser -l $ORACLE -c “$ORACLE_HOME/bin/dbstart $ORACLE_HOME &”
touch /var/lock/subsys/dbora
;;
‘stop’)
runuser -l $ORACLE -c “$ORACLE_HOME/bin/dbshut $ORACLE_HOME”
rm -f /var/lock/subsys/dbora
;;
*)
echo “usage: $0 {start|stop}”
exit
;;
esac
#
exit

No meu ambiente ficou exatamente dessa maneira:

arquivo-etc-initd-dbora

Veja que no ORACLE_HOME eu coloquei o caminho da instalação do ORACLE em meu servidor, isso pode mudar de instalação pra instalação. Para verificar qual seu ORACLE_HOME, basta logar co mo usuário oracle no terminar e digitar o comando env e listar as variáveis.

Após criar o arquivo acima, basta setar as permissões corretas e definir o dbora como um serviço, conforme scripts abaixo:

#chmod 750 /etc/init.d/dbora
#chkconfig –add dbora

verificando-servico-e-permissoes

Verificando pelo chkconfig, podemos chegar a conclusão que o dbora foi incluído como serviço e com as opções: 3, 4 e 5 setadas como ON. isso aconteceu pelo fato de a 2ª linha do arquivo dbora conter essas informações: # chkconfig: 345 99 10 !

Para testar o funcionamento do script basta fazer um reboot no seu servidor de testes e atestar o correto desligamento e startup do banco através dos logs do Oracle.

 

Leonardo Pedroso

Leonardo Pedroso, é administrador de banco de dados, possui amplo conhecimento em SQL Server desde a versão 2005, com atuação em empresas de telecomunicações, bancos, seguradoras e órgãos do governo prestando serviços especializados em banco de dados e storage. Atua ativamente em comunidades técnicas através de fóruns, eventos, blog e palestras.

Leave a Reply