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:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIH5dIyBnZWRpdCAvZXRjL29yYXRhYg==” hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIH5dIyBnZWRpdCAvZXRjL29yYXRhYg==[/et_pb_dmb_code_snippet]

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

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”aW5zdDE6L29yYWNsZS9hcHAvb3JhY2xlL3Byb2R1Y3QvMTEuMi4wL2RiaG9tZV8xOk4=” hover_enabled=”0″]aW5zdDE6L29yYWNsZS9hcHAvb3JhY2xlL3Byb2R1Y3QvMTEuMi4wL2RiaG9tZV8xOk4=[/et_pb_dmb_code_snippet]

para

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”aW5zdDE6L29yYWNsZS9hcHAvb3JhY2xlL3Byb2R1Y3QvMTEuMi4wL2RiaG9tZV8xOlk=” hover_enabled=”0″]aW5zdDE6L29yYWNsZS9hcHAvb3JhY2xlL3Byb2R1Y3QvMTEuMi4wL2RiaG9tZV8xOlk=[/et_pb_dmb_code_snippet]

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.

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIH5dIyBnZWRpdCAvZXRjL2luaXQuZC9kYm9yYQ==” hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIH5dIyBnZWRpdCAvZXRjL2luaXQuZC9kYm9yYQ==[/et_pb_dmb_code_snippet]

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:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIH5dIyBjaG1vZCA3NTAgL2V0Yy9pbml0LmQvZGJvcmEKW3Jvb3RAb3Jhc2VydmVyIH5dIyBjaGtjb25maWcgLS1hZGQgZGJvcmEKW3Jvb3RAb3Jhc2VydmVyIH5dIyBycG0gLVV2aCAtLWZvcmNlIC9tZWRpYS9DZW50T1NfNS42X0ZpbmFsL0NlbnRPUy9yc2gtKgpQcmVwYXJpbmcuLi4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBbMTAwJV0KIDE6cnNoLXNlcnZlciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFsgNTAlXQogMjpyc2ggIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBbMTAwJV0KW3Jvb3RAb3Jhc2VydmVyIH5dIyBjaGtjb25maWcgcnNoIG9uCltyb290QG9yYXNlcnZlciB+XSMgY2hrY29uZmlnIHJsb2dpbiBvbgpbcm9vdEBvcmFzZXJ2ZXIgfl0jIHNlcnZpY2UgeGluZXRkIHJlbG9hZApSZWxvYWRpbmcgY29uZmlndXJhdGlvbjogWyBPSyBd” hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIH5dIyBjaG1vZCA3NTAgL2V0Yy9pbml0LmQvZGJvcmEKW3Jvb3RAb3Jhc2VydmVyIH5dIyBjaGtjb25maWcgLS1hZGQgZGJvcmEKW3Jvb3RAb3Jhc2VydmVyIH5dIyBycG0gLVV2aCAtLWZvcmNlIC9tZWRpYS9DZW50T1NfNS42X0ZpbmFsL0NlbnRPUy9yc2gtKgpQcmVwYXJpbmcuLi4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBbMTAwJV0KIDE6cnNoLXNlcnZlciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFsgNTAlXQogMjpyc2ggIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBbMTAwJV0KW3Jvb3RAb3Jhc2VydmVyIH5dIyBjaGtjb25maWcgcnNoIG9uCltyb290QG9yYXNlcnZlciB+XSMgY2hrY29uZmlnIHJsb2dpbiBvbgpbcm9vdEBvcmFzZXJ2ZXIgfl0jIHNlcnZpY2UgeGluZXRkIHJlbG9hZApSZWxvYWRpbmcgY29uZmlndXJhdGlvbjogWyBPSyBd[/et_pb_dmb_code_snippet]

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

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIH5dIyByZWJvb3Q=” hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIH5dIyByZWJvb3Q=[/et_pb_dmb_code_snippet]

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:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”T1JBQ0xFX0hPTUVfTElTVE5FUj0kT1JBQ0xFX0hPTUU=” hover_enabled=”0″]T1JBQ0xFX0hPTUVfTElTVE5FUj0kT1JBQ0xFX0hPTUU=[/et_pb_dmb_code_snippet]

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

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIGV0Y10jIC9ldGMvaW5pdC5kL2Rib3JhIHN0YXJ0″ hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIGV0Y10jIC9ldGMvaW5pdC5kL2Rib3JhIHN0YXJ0[/et_pb_dmb_code_snippet]

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

Vi então que retornava o seguinte erro:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”VHJ5aW5nIGtyYjQgcnNoLi4uCmNvbm5lY3QgdG8gYWRkcmVzcyAxOTIuMTY4LjIuMTAgcG9ydCA1NDQ6IENvbm5lY3Rpb24gcmVmdXNlZA==” hover_enabled=”0″]VHJ5aW5nIGtyYjQgcnNoLi4uCmNvbm5lY3QgdG8gYWRkcmVzcyAxOTIuMTY4LjIuMTAgcG9ydCA1NDQ6IENvbm5lY3Rpb24gcmVmdXNlZA==[/et_pb_dmb_code_snippet]

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:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”IyBzdSAtIAoKW3Jvb3RAb3Jhc2VydmVyIH5dIyB3aGljaCByc2ggCi91c3Iva2VyYmVyb3MvYmluL3JzaCAKCltyb290QG9yYXNlcnZlciB+XSMgbXYgL3Vzci9rZXJiZXJvcy9iaW4vcnNoIC91c3Iva2VyYmVyb3MvYmluL3JzaC5vcmlnaW5hbCAKW3Jvb3RAb3Jhc2VydmVyIH5dIyBtdiAvdXNyL2tlcmJlcm9zL2Jpbi9yY3AgL3Vzci9rZXJiZXJvcy9iaW4vcmNwLm9yaWdpbmFsIApbcm9vdEBvcmFzZXJ2ZXIgfl0jIG12IC91c3Iva2VyYmVyb3MvYmluL3Jsb2dpbiAvdXNyL2tlcmJlcm9zL2Jpbi9ybG9naW4ub3JpZ2luYWwgCltyb290QG9yYXNlcnZlciB+XSMgd2hpY2ggcnNoIAovdXNyL2Jpbi9yc2g=” hover_enabled=”0″]IyBzdSAtIAoKW3Jvb3RAb3Jhc2VydmVyIH5dIyB3aGljaCByc2ggCi91c3Iva2VyYmVyb3MvYmluL3JzaCAKCltyb290QG9yYXNlcnZlciB+XSMgbXYgL3Vzci9rZXJiZXJvcy9iaW4vcnNoIC91c3Iva2VyYmVyb3MvYmluL3JzaC5vcmlnaW5hbCAKW3Jvb3RAb3Jhc2VydmVyIH5dIyBtdiAvdXNyL2tlcmJlcm9zL2Jpbi9yY3AgL3Vzci9rZXJiZXJvcy9iaW4vcmNwLm9yaWdpbmFsIApbcm9vdEBvcmFzZXJ2ZXIgfl0jIG12IC91c3Iva2VyYmVyb3MvYmluL3Jsb2dpbiAvdXNyL2tlcmJlcm9zL2Jpbi9ybG9naW4ub3JpZ2luYWwgCltyb290QG9yYXNlcnZlciB+XSMgd2hpY2ggcnNoIAovdXNyL2Jpbi9yc2g=[/et_pb_dmb_code_snippet]

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:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIGV0Y10jIHRvdWNoIC9ldGMvaG9zdHMuZXF1aXYKW3Jvb3RAb3Jhc2VydmVyIGV0Y10jIGNobW9kIDYwMCAvZXRjL2hvc3RzLmVxdWl2Cltyb290QG9yYXNlcnZlciBldGNdIyBjaG93biByb290LnJvb3QgL2V0Yy9ob3N0cy5lcXVpdgpVc2VpIG5vdmFtZW50ZSBvIGdlZGl0IHBhcmEgZWRpdGFyIG8gYXJxdWl2bywgZSBvIGNvbnRlw7pkbyBmaWNvdSBhc3NpbToKCm9yYXNlcnZlciByb290Cm9yYXNlcnZlci5sb2NhbGRvbWFpbiByb290CgpvcmFzZXJ2ZXIgb3JhY2xlCm9yYXNlcnZlci5sb2NhbGRvbWFpbiBvcmFjbGU=” hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIGV0Y10jIHRvdWNoIC9ldGMvaG9zdHMuZXF1aXYKW3Jvb3RAb3Jhc2VydmVyIGV0Y10jIGNobW9kIDYwMCAvZXRjL2hvc3RzLmVxdWl2Cltyb290QG9yYXNlcnZlciBldGNdIyBjaG93biByb290LnJvb3QgL2V0Yy9ob3N0cy5lcXVpdgpVc2VpIG5vdmFtZW50ZSBvIGdlZGl0IHBhcmEgZWRpdGFyIG8gYXJxdWl2bywgZSBvIGNvbnRlw7pkbyBmaWNvdSBhc3NpbToKCm9yYXNlcnZlciByb290Cm9yYXNlcnZlci5sb2NhbGRvbWFpbiByb290CgpvcmFzZXJ2ZXIgb3JhY2xlCm9yYXNlcnZlci5sb2NhbGRvbWFpbiBvcmFjbGU=[/et_pb_dmb_code_snippet]

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