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 3: Arquivos e diretórios: uma rápida pesquisa
Fazem parte do pacote Oracle Database 10g inúmeros shell scripts e arquivos de configurações que auxiliam o administrador na tarefa de gerenciar o banco em sistemas *NIX. Para esta preposição, entretanto, são necessários apenas 3 (três) desses arquivos:
Para localizar os arquivos "dbstart" e "dbshut" existem 2 (duas) alternativas:
1ª alternativa:
Abra um terminal como root e digite os seguintes comandos:
$ su
# find / -name [nome_do_arquivo] - print
Onde [nome_do_arquivo] refere-se a um dos arquivos apresentados na tabela acima.
Ao localizar o arquivo em seu S.O., não poderá haver duplicidade de arquivos, ou seja, não pode haver dois arquivos iguais. Se isso ocorrer, significa que há mais de uma instalação do Oracle 10g em seu servidor. Geralmente isso representa tentativas de instalação mal-sucedidas e os arquivos duplicados são resíduos dessas operações.
2ª alternativa:
Se o seu servidor Oracle estiver rodando normalmente, pressupõe-se que você tenha as seguintes variáveis ambientais configuradas em seu S.O:
$ORACLE_HOME
$ORACLE_SID
Caso não saiba se essas variáveis existem em seu S.O, abra um terminal como root e digite:
# su - oracle
# echo $ORACLE_HOME $ORACLE_SID
Se as variáveis estiverem iniciadas, você deverá obter um saída similar a esta:
/u01/app/oracle/product/10.1.0/Db_1 orasid
Onde, separados por espaço, aparecem os valores das duas variáveis.
Note-se: O primeiro valor corresponde ao diretório onde estão localizados binários, configurações, logs, entre outros arquivos do software Oracle. O segundo valor corresponde ao nome do seu banco de dados na máquina em questão. Recomendo que guarde esses valores, já que esses caminhos variam de uma instalação ORACLE para outra e, certamente, os valores descritos acima refletem apenas a minha realidade.
Sabendo que o seu $ORACLE_HOME é /u01/app/oracle/product/10.1.0/Db_1, você encontrará o arquivo "dbstart" e "dbshut" no subdiretório bin do PATH acima. Você pode averiguar a existência desses arquivos com os comandos:
$ su
# cat /u01/app/oracle/product/10.1.0/Db_1/bin/[dbstart|dbshut]
Onde, [dbstart|dbshut] representa um dos arquivos que se pretende visualizar.
| Arquivo | Descrição |
| dbstart | Script shell que, efetivamente inicia o nosso banco de dados. |
| dbshut | Script shell que para o serviço do nosso banco de dados. |
| oratab | Arquivo responsável por indicar quais bancos deverão ser iniciados no startup do sistema. |
Para localizar os arquivos "dbstart" e "dbshut" existem 2 (duas) alternativas:
1ª alternativa:
Abra um terminal como root e digite os seguintes comandos:
$ su
# find / -name [nome_do_arquivo] - print
Onde [nome_do_arquivo] refere-se a um dos arquivos apresentados na tabela acima.
Ao localizar o arquivo em seu S.O., não poderá haver duplicidade de arquivos, ou seja, não pode haver dois arquivos iguais. Se isso ocorrer, significa que há mais de uma instalação do Oracle 10g em seu servidor. Geralmente isso representa tentativas de instalação mal-sucedidas e os arquivos duplicados são resíduos dessas operações.
2ª alternativa:
Se o seu servidor Oracle estiver rodando normalmente, pressupõe-se que você tenha as seguintes variáveis ambientais configuradas em seu S.O:
$ORACLE_HOME
$ORACLE_SID
Caso não saiba se essas variáveis existem em seu S.O, abra um terminal como root e digite:
# su - oracle
# echo $ORACLE_HOME $ORACLE_SID
Se as variáveis estiverem iniciadas, você deverá obter um saída similar a esta:
/u01/app/oracle/product/10.1.0/Db_1 orasid
Onde, separados por espaço, aparecem os valores das duas variáveis.
Note-se: O primeiro valor corresponde ao diretório onde estão localizados binários, configurações, logs, entre outros arquivos do software Oracle. O segundo valor corresponde ao nome do seu banco de dados na máquina em questão. Recomendo que guarde esses valores, já que esses caminhos variam de uma instalação ORACLE para outra e, certamente, os valores descritos acima refletem apenas a minha realidade.
Sabendo que o seu $ORACLE_HOME é /u01/app/oracle/product/10.1.0/Db_1, você encontrará o arquivo "dbstart" e "dbshut" no subdiretório bin do PATH acima. Você pode averiguar a existência desses arquivos com os comandos:
$ su
# cat /u01/app/oracle/product/10.1.0/Db_1/bin/[dbstart|dbshut]
Onde, [dbstart|dbshut] representa um dos arquivos que se pretende visualizar.
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!