Oracle LSNRCTL – Listener Shutdown and Startup Procedures

Oracle

Oracle 11g lsnrctl Command Starting up and shutting down the oracle listener is a routine task for a database administrator. However a Linux system administrator or programmer may end-up doing some basic DBA operations on development database. It is critical for non-DBAs to understand the basic database admin activities.

In this article, let us review how to start, stop, check status of an oracle listener using Oracle listener control utility LSNRCTL.

Also refer to our earlier article about how to start and stop the Oracle database

How To Start, Stop and Restart Oracle Listener

  1. Display Oracle Listener Status

Before starting, stopping or restarting make sure to execute lsnrctl status command to check the oracle listener status as shown below. Apart from letting us know whether the listener is up or down, you can also find the following valuable information from the lsnrctl status command output.

Listner Start Date and Time.
Uptime of listner ñ How long the listener has been up and running.
Listener Parameter File ñ Location of the listener.ora file. Typically located under $ORACLE_HOME/network/admin
Listener Log File ñ Location of the listener log file. i.e log.xml

If the Oracle listener is not running, youíll get the following message.

$ lsnrctl status

LSNRCTL for Linux: Version 11.1.0.6.0 – Production on 04-APR-2009 16:27:39

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(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=EXTPROC)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 2: No such file or directory

If the Oracle listener is running, youíll get the following message.

$ lsnrctl status

LSNRCTL for Linux: Version 11.1.0.6.0 – Production on 04-APR-2009 16:27:02

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))

STATUS of the LISTENER

Alias LISTENER
Version TNSLSNR for Linux: Version 11.1.0.6.0 – Production
Start Date 29-APR-2009 18:43:13
Uptime 6 days 21 hr. 43 min. 49 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary…
Service “devdb” has 1 instance(s).
Instance “devdb”, status UNKNOWN, has 1 handler(s) for this service…
Service “devdb.thegeekstuff.com” has 1 instance(s).
Instance “devdb”, status READY, has 1 handler(s) for this service…
Service “devdbXDB.thegeekstuff.com” has 1 instance(s).
Instance “devdb”, status READY, has 1 handler(s) for this service…
Service “devdb_XPT.thegeekstuff.com” has 1 instance(s).
Instance “devdb”, status READY, has 1 handler(s) for this service…
The command completed successfully

  1. Start Oracle Listener

If the Oracle listener is not running, start the listener as shown below. This will start all the listeners. If you want to start a specific listener, specify the listener name next to start. i.e lsnrctl start [listener-name]

$ lsnrctl start

LSNRCTL for Linux: Version 11.1.0.6.0 – Production on 04-APR-2009 16:27:42

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

Starting /u01/app/oracle/product/11.1.0/bin/tnslsnr: please wait…

TNSLSNR for Linux: Version 11.1.0.6.0 – Production
System parameter file is /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))

STATUS of the LISTENER

Alias LISTENER
Version TNSLSNR for Linux: Version 11.1.0.6.0 – Production
Start Date 04-APR-2009 16:27:42
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary…
Service “devdb” has 1 instance(s).
Instance “devdb”, status UNKNOWN, has 1 handler(s) for this service…
The command completed successfully

  1. Stop Oracle Listener

If the Oracle listener is running, stop the listener as shown below. This will stop all the listeners. If you want to stop a specific listener, specify the listener name next to stop. i.e lsnrctl stop [listener-name]

$ lsnrctl stop

LSNRCTL for Linux: Version 11.1.0.6.0 – Production on 04-APR-2009 16:27:37

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
The command completed successfully

  1. Restart Oracle Listener

To restart the listener use lsnrctl reload as shown below instead of lsnrctl stop and lsnrctl start. realod will read the listener.ora file for new setting without stop and start of the Oracle listener.

$ lsnrctl reload

LSNRCTL for Linux: Version 11.1.0.6.0 – Production on 04-APR-2009 17:03:31

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
The command completed successfully
Oracle Listener Help

  1. View Available Listener Commands

lsnrctl help command will display all available listener commands. In Oracle 11g following are the available listener commands.

start ñ Start the Oracle listener
stop ñ Stop the Oracle listener
status ñ Display the current status of the Oracle listener
services ñ Retrieve the listener services information
version ñ Display the oracle listener version information
reload ñ This will reload the oracle listener SID and parameter files. This is equivalent to lsnrctl stop and lsnrctl start.
save_config ñ This will save the current settings to the listener.ora file and also take a backup of the listener.ora file before overwriting it. If there are no changes, it will display the message ìNo changes to save for LISTENERî
trace ñ Enable the tracing at the listener level. The available options are ëtrace OFFí, ëtrace USERí, ëtrace ADMINí or ëtrace SUPPORTí
spawn ñ Spawns a new with the program with the spawn_alias mentioned in the listener.ora file
change_password ñ Set the new password to the oracle listener (or) change the existing listener password.
show ñ Display log files and other relevant listener information.
$ lsnrctl help

LSNRCTL for Linux: Version 11.1.0.6.0 – Production on 04-APR-2009 16:12:09

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

The following operations are available
An asterisk (*) denotes a modifier or extended command:

start stop status
services version reload
save_config trace spawn
change_password quit exit
set* show*

  1. Get More help on Specific Listener Command

You can get detailed help on a specific oracle listener command as shown below. In the following example, it gives all the available arguments/parameters that can be passed to the lsnrctl show command.

$ lsnrctl help show

LSNRCTL for Linux: Version 11.1.0.6.0 – Production on 04-APR-2009 16:22:28

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

The following operations are available after show
An asterisk (*) denotes a modifier or extended command:

rawmode displaymode
rules trc_file
trc_directory trc_level
log_file log_directory
log_status current_listener
inbound_connect_timeout startup_waittime
snmp_visible save_config_on_stop
dynamic_registration