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 4: Escrevendo um script de startup
No diretório /usr/local/sbin, crie um pequeno script em shell para automatizar o processo de startup. Para tal, entre no editor "vi" com os comandos:
# vi /usr/local/sbin/initora
Em seguida, adicione as linhas abaixo, observando que estou usando os PATHS das variáveis ambientais que encontrei no meu servidor, tal como mencionado anteriormente.
# vi /usr/local/sbin/initora
Em seguida, adicione as linhas abaixo, observando que estou usando os PATHS das variáveis ambientais que encontrei no meu servidor, tal como mencionado anteriormente.
00>#!/bin/bash
01># Data: 14/12/2005
02># Desc.: Script para inicialização automática do banco Oracle 10g
03>
04># Setando variáveis ambientais
05>ORACLE_HOME=/u01/app/oracle/product/10.1.0/Db_1; export ORACLE_HOME
06>ORACLE_SID="oraproj";export ORACLE_SID
07>TNS_ADMIN=$ORACLE_HOME/network/admin/listener.ora
08>
09># Startup do Listener
10>su oracle -c -/u01/app/oracle/product/10.1.0/Db_1/bin/lsnrctl start”
11># Startup do Banco de Dados
12> su oracle -c /u01/app/oracle/product/10.1.0/Db_1/dbstart
01># Data: 14/12/2005
02># Desc.: Script para inicialização automática do banco Oracle 10g
03>
04># Setando variáveis ambientais
05>ORACLE_HOME=/u01/app/oracle/product/10.1.0/Db_1; export ORACLE_HOME
06>ORACLE_SID="oraproj";export ORACLE_SID
07>TNS_ADMIN=$ORACLE_HOME/network/admin/listener.ora
08>
09># Startup do Listener
10>su oracle -c -/u01/app/oracle/product/10.1.0/Db_1/bin/lsnrctl start”
11># Startup do Banco de Dados
12> su oracle -c /u01/app/oracle/product/10.1.0/Db_1/dbstart
Para sair do editor salvando o arquivo, pressione [ESC] e, em seguida digite:
:x
Depois de criar o script, dê as seguintes permissões para ele:
# chmod +x /usr/local/sbin/initora
# chown oracle:dba /usr/local/sbin/initora
Ao terminar esta operação, esqueça este script por alguns instantes, pois você irá utilizá-lo apenas adiante.
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!