Instalei o VirtualBox, criei uma VM com CentOS e instalei o servidor Oracle.

Após o primeiro reboot, surgiu mais uma necessidade: o servidor Oracle não subiu automaticamente com o sistema operacional. E eu não quero ficar dando startup manualmente sempre, afinal, esta VM foi criada especificamente pra rodar o Oracle server! Portanto, vou automatizar agora o startup do Oracle, para que ele seja executado sempre que eu “ligar” o servidor.

Para isso, vou seguir um artigo  pronto, o qual mencionarei ao final deste post para dar os créditos.

1 – Editar o arquivo /etc/oratab

Neste primeiro passo, vou editar um arquivo texto que foi criado automaticamente durante a instalação do Oracle. Como eu não sou expert em Linux e também nunca me acostumei a usar o “vi” pra editar textos, eu gosto de usar o gedit. Logado como root, executei o comando:

[root@oraserver ~]# gedit /etc/oratab

Com o arquivo aberto, a única alteração necessária é alterar a linha:

inst1:/oracle/app/oracle/product/11.2.0/dbhome_1:N

para

inst1:/oracle/app/oracle/product/11.2.0/dbhome_1:Y

Ok, Salvei o arquivo e fechei o gedit.

2 – Criar o arquivo /etc/init.d/dbora

Agora criarei o arquivo de script que fará startup e shutdown.

[root@oraserver ~]# gedit /etc/init.d/dbora

Com o arquivo aberto (e vazio) pelo gedit, coloquei o seguinte script abaixo (já adaptado para o meu servidor).

3 – Comandos finais para ajustar permissões, associação de arquivo, instalação de pacote

E agora os comandos para arrematar nosso trabalho:

[root@oraserver ~]# chmod 750 /etc/init.d/dbora
[root@oraserver ~]# chkconfig --add dbora
[root@oraserver ~]# rpm -Uvh --force /media/CentOS_5.6_Final/CentOS/rsh-*
Preparing... ########################################### [100%]
 1:rsh-server ########################################### [ 50%]
 2:rsh ########################################### [100%]
[root@oraserver ~]# chkconfig rsh on
[root@oraserver ~]# chkconfig rlogin on
[root@oraserver ~]# service xinetd reload
Reloading configuration: [ OK ]

4 – Para finalizar, indispensável o teste definitivo: reboot no servidor.

[root@oraserver ~]# reboot

Para minha surpresa: Não funcionou!

Após o reboot, tentei logar no Oracle, mas a instância não estava no ar.

Seguindo então o tutorial – http://www.oracle-base.com/articles/linux/AutomatingDatabaseStartupAndShutdownOnLinux.php – resolvi fazer o passo abaixo, citado no finalzinho do tutorial.

Editei o dbstart, adicionando a linha:

ORACLE_HOME_LISTNER=$ORACLE_HOME

A partir deste momento, comecei a testar o script rodando-o manualmente, através do comando:

[root@oraserver etc]# /etc/init.d/dbora start

Mas não foi suficiente, ainda não funcionou.

Vi então que retornava o seguinte erro:

Trying krb4 rsh...
connect to address 192.168.2.10 port 544: Connection refused

Pesquisei no Google por este erro, e foi bem complicado para encontrar a solução. Consegui graças a um bendito post no fórum oficial da OTN:

http://forums.oracle.com/forums/thread.jspa?threadID=932196

O rsh que estava sendo executado era o rsh do Kerberos, e não o rsh que eu instalei manualmente no passo 3 aqui do artigo. Por isso executei os comandos abaixo, que copiei do link acima:

# su - 

[root@oraserver ~]# which rsh 
/usr/kerberos/bin/rsh 

[root@oraserver ~]# mv /usr/kerberos/bin/rsh /usr/kerberos/bin/rsh.original 
[root@oraserver ~]# mv /usr/kerberos/bin/rcp /usr/kerberos/bin/rcp.original 
[root@oraserver ~]# mv /usr/kerberos/bin/rlogin /usr/kerberos/bin/rlogin.original 
[root@oraserver ~]# which rsh 
/usr/bin/rsh

Agora sim, eu poderia testar o rsh correto!

Mas ainda não estava funcionando: retornou erro de “permissão negada”.

Segui então criar o arquivo /etc/hosts.equiv conforme o colega do fórum descreveu:

[root@oraserver etc]# touch /etc/hosts.equiv
[root@oraserver etc]# chmod 600 /etc/hosts.equiv
[root@oraserver etc]# chown root.root /etc/hosts.equiv

Usei novamente o gedit para editar o arquivo, e o conteúdo ficou assim:

oraserver root
oraserver.localdomain root

oraserver oracle
oraserver.localdomain oracle

Deu trabalho pra ficar funcionando!

Linux é um sistema operacional que eu gosto muito de usar para hospedar o servidor Oracle. Porém eu não posso dizer que sou um expert neste S.O. E com isso, ainda “apanho” um pouquinho quando me deparo com novos problemas, e isto aconteceu agora para conseguir fazer funcionar o rsh.

Segue agora as referências usadas para escrever este post. Caso tenham dificuldades (como eu tive), conseguirão resolver assim como eu fiz, através destes links:

Automating Database Startup and Shutdown on Linux

Documentação oficial da Oracle – Automating Shutdown and Startup

Tópico do fórum oficial Oracle, com um colega relatando problemas semelhantes