Setar o ORACLE_HOME_LISTNER

Este artigo tem como objetivo Setar o ORACLE_HOME_LISTNER para iniciar e baixar o listener e o banco de dados Oracle através dos arquivos “dbstart” e “dbshut” que são encontrados no diretório bin/ do ORACLE_HOME.

Conforme abaixo, vamos realizar o procedimento desde o início.
Vamos verificar o nosso ORACLE_HOME

oracle=dbprod-> echo $ORACLE_HOME
/oraprd01/app/oracle/product/11.2.0/db_2
oracle=dbprod->

Vamos configurar um arquivo “sh” para usarmos os dois arquivos.
Para usar o arquivo dbstart para iniciar o Listener e o Banco de Dados Automaticamente, vou colocar o nome de “startdb.sh”.
Para usar o arquivo dbshut para baixar o Listener e o Banco de Dados Automaticamente, vou colocar o nome de “shutdb.sh”.

oracle=dbprod-> vi startdb.sh 
oracle=dbprod-> vi shutdb.sh

Vamos visualizar os arquivos.

oracle=dbprod-> cat startdb.sh
/oraprd01/app/oracle/product/11.2.0/db_2/bin/dbstart
oracle=dbprod-> cat shutdb.sh
/oraprd01/app/oracle/product/11.2.0/db_2/bin/dbshut
oracle=dbprod->

Vamos então iniciar o banco de dados com o arquivo “startdb.sh”.

oracle=dbprod-> . startdb.sh
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /oraprd01/app/oracle/product/11.2.0/db_2/bin/dbstart ORACLE_HOME
Processing Database instance "dbprod": log file /oraprd01/app/oracle/product/11.2.0/db_2/startup.log
oracle=dbprod->

Conforme acima, houve o aviso de que o ORACLE_HOME_LISTNER deve ser ajustado para iniciar o Listener. Neste caso deveríamos iniciar o Listener Manualmente com o comandos “LSNRCTL”.

Vamos então desligar o banco de dados com o arquivo “shutdb.sh”.

oracle=dbprod-> . shutdb.sh
ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener
Usage: /oraprd01/app/oracle/product/11.2.0/db_2/bin/dbshut ORACLE_HOME
Processing Database instance "dbprod": log file /oraprd01/app/oracle/product/11.2.0/db_2/shutdown.log
oracle=dbprod->

Para ajustar o ORACLE_HOME_LISTNER, basta colocar o caminho do ORACLE_HOME na frente da chamada dos arquivos “dbstart” e “dbshut”, na qual, o ORACLE_HOME será passado como parâmetro para estes aquivos.
Vamos editar nossos arquivos “sh”.

oracle=dbprod-> vi startdb.sh 
oracle=dbprod-> vi shutdb.sh
oracle=dbprod-> cat startdb.sh
/oraprd01/app/oracle/product/11.2.0/db_2/bin/dbstart $ORACLE_HOME
oracle=dbprod-> cat shutdb.sh
/oraprd01/app/oracle/product/11.2.0/db_2/bin/dbshut $ORACLE_HOME
oracle=dbprod->

Vamos então iniciar o banco de dados com o arquivo “startdb.sh” e verificar se o Listener e o Banco de Dados estão Executando.

oracle=dbprod-> . startdb.sh
Processing Database instance "dbprod": log file /oraprd01/app/oracle/product/11.2.0/db_2/startup.log
oracle=dbprod-> ps -ef | grep pmon
oracle    3423     1  0 17:12 ?        00:00:00 ora_pmon_dbprod
oracle    3623  2843  0 17:12 pts/0    00:00:00 grep pmon
oracle=dbprod-> lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 22-JAN-2013 17:12:43

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle1011gserver.localdomain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                22-JAN-2013 17:12:22
Uptime                    0 days 0 hr. 0 min. 20 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oraprd01/app/oracle/product/11.2.0/db_2/network/admin/listener.ora
Listener Log File         /oraprd01/app/oracle/diag/tnslsnr/oracle1011gserver/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle1011gserver.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "dbprod" has 2 instance(s).
  Instance "dbprod", status UNKNOWN, has 1 handler(s) for this service...
  Instance "dbprod", status READY, has 1 handler(s) for this service...
Service "dbprodXDB" has 1 instance(s).
  Instance "dbprod", status READY, has 1 handler(s) for this service...
The command completed successfully
oracle=dbprod->

Vamos então desligar o banco de dados com o arquivo “shutdb.sh” e verificar se o Listener e o Banco de Dados estão Executando.

oracle=dbprod-> . shutdb.sh
Processing Database instance "dbprod": log file /oraprd01/app/oracle/product/11.2.0/db_2/shutdown.log
oracle=dbprod-> ps -ef | grep pmon
oracle    4631  2843  0 17:21 pts/0    00:00:00 grep pmon
oracle=dbprod-> lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 22-JAN-2013 17:13:56

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle1011gserver.localdomain)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 2: No such file or directory
oracle=dbprod->

Outra forma que pode ser usado e sem fazer o script “sh”, e executar o comando direto conforme abaixo:

oracle=dbprod-> /oraprd01/app/oracle/product/11.2.0/db_2/bin/dbstart $ORACLE_HOME
Processing Database instance "dbprod": log file /oraprd01/app/oracle/product/11.2.0/db_2/startup.log
oracle=dbprod-> /oraprd01/app/oracle/product/11.2.0/db_2/bin/dbshut $ORACLE_HOME
Processing Database instance "dbprod": log file /oraprd01/app/oracle/product/11.2.0/db_2/shutdown.log
oracle=dbprod->

Pronto ajustamos o ORACLE_HOME_LISTNER para iniciar o Listener automaticamente pelo arquivo “dbstart” e baixarmos o mesmo com “dbshut”.

%name Setar o ORACLE HOME LISTNER

Autor: Maycon Tomiasi

Formado em Tecnologia da Informação na FIPP (Faculdade de Informática de Presidente Prudente), Analista DBA Oracle pela Teiko Soluções em Tecnologia da Informação, residente em Blumenau/ SC, Certificado OCP 10g/11g/12c, OCS 11g Implementation, OCE 11g Performance Tuning, OCE 11g RAC & GRID e OPN Specialist. Conhecimentos em PHP.