Oracle 10g: Startup automático
Este artigo tem o objetivo de explicar de forma detalhada a configuração de um "startup" automático do banco de dados Oracle para versões 10g. Isso é útil para bancos que precisam rodar em 24x7.
Parte 5: Corrigindo os scripts dbstart e dbshut
Em muitos servidores Oracle Database 10g há um pequeno ajuste que se faz necessário no arquivo "dbstart". Para realizar o ajuste neste arquivo, edite-o com os comandos:
$ su
# vi /u01/app/oracle/product/10.1.0/Db_1/dbstart
E no modo interativo deste editor, faça uma busca. Pressione [ESC] e a seguir:
/ORATAB <ENTER>
Com sorte, você deverá localizar uma linha contendo:
ORATAB=/var/opt/oracle/oratab
Isso indica que o arquivo não está no diretório mencionado.
Neste caso, você o encontrará, muito provavelmente, no local "/etc/oratab". Verifique a localização com os comandos:
# su - oracle
$ cat /etc/oratab
Portanto, a variável ORATAB no script "dbstart" deve ser alterada para o caminho acima. Se preferir não editar o arquivo "dbstart", apenas digite no terminal, como root:
$ su
# ln -s /etc/oratab /var/opt/oracle/oratab
Isso criará um link simbólico para o arquivo que se pretende acessar, dispensando a edição do arquivo "dbstart". O mesmo fenômeno ocorre com o arquivo "dbshut" e, portanto, a mesma correção deverá ser efetuada. Se você criou um link simbólico para o arquivo, não é necessário fazer mais nada.
$ su
# vi /u01/app/oracle/product/10.1.0/Db_1/dbstart
E no modo interativo deste editor, faça uma busca. Pressione [ESC] e a seguir:
/ORATAB <ENTER>
Com sorte, você deverá localizar uma linha contendo:
ORATAB=/var/opt/oracle/oratab
Isso indica que o arquivo não está no diretório mencionado.
Neste caso, você o encontrará, muito provavelmente, no local "/etc/oratab". Verifique a localização com os comandos:
# su - oracle
$ cat /etc/oratab
Portanto, a variável ORATAB no script "dbstart" deve ser alterada para o caminho acima. Se preferir não editar o arquivo "dbstart", apenas digite no terminal, como root:
$ su
# ln -s /etc/oratab /var/opt/oracle/oratab
Isso criará um link simbólico para o arquivo que se pretende acessar, dispensando a edição do arquivo "dbstart". O mesmo fenômeno ocorre com o arquivo "dbshut" e, portanto, a mesma correção deverá ser efetuada. Se você criou um link simbólico para o arquivo, não é necessário fazer mais nada.
Gostaria de fazer apenas algumas observações:
* No release 2 do oracle 10g, os scripts dbstart e dbshut, já apontam para o caminho certo: /etc/oratab
* No arquivo de inicialização initora, vc não colocou o comando export depois da definição da variável de ambiente TNS_ADMIN. Não sei se é preciso que essa variável seja exportada, coloquei o export na dúvida.
TNS_ADMIN=$ORACLE_HOME/network/admin/listener.ora; export TNS_ADMIN
* Também no arquivo de inicialização initora, a linha que inicia o banco de dados está faltando abrir aspas, e o parâmetro - , não sei porque não funcionou no meu sistema, utilizei o -l que é sinônimo:
su oracle -c -l "/u01/app/oracle/product/10.2.0/bin/lsnrctl start"
* no debian, o arquivo /etc/rc.local tem o comando exit 0 no final, portanto o comando echo /usr/local/sbin/initora >> /etc/rc.local não funcionaria, já que a linha seria adicionada no final do arquivo, e não seria executada, mas aí foi só editar o arquivo manualmente.
Ótimo artigo, parabéns!