| Lesson 16 | Stopping the Oracle Net Listener in Oracle 23ai |
| Objective | Stop the Oracle Net listener safely using the Listener Control utility (lsnrctl) in Oracle 23ai. |
The Oracle Net listener is the process that accepts new client connection requests and routes them to the correct Oracle database service. In Oracle 23c and Oracle 23ai, the supported way to stop that listener safely is still the Listener Control utility, lsnrctl. The command syntax has not fundamentally changed, and stopping the listener remains a normal Oracle Net administrative task.
The most important idea in this lesson is that stopping the listener is not the same thing as shutting down the database instance. When the listener is stopped, new inbound connections usually fail because no listener is available to accept them. Existing sessions, however, normally continue to run because the listener is not part of the ongoing client session path once a connection has already been handed off to the database.
This distinction is why the shutdown should be described as safe. A clean listener stop prevents new remote logons, but it does not normally terminate current database work already in progress.
Although DBAs do not stop the listener constantly in routine work, there are valid reasons to do so. Common examples include planned maintenance, listener configuration changes that require a restart, troubleshooting network problems, or controlled service shutdown on a host.
In some cases, a full stop is not even necessary because a reload is enough. But when the objective is to bring the listener completely offline, lsnrctl stop remains the standard Oracle command.
Before issuing the stop command, verify the environment. In most self-managed Oracle 23ai environments, you should run lsnrctl as the Oracle software owner, commonly the oracle operating system user. The Oracle home must be correct, and the executable path should point to the intended Oracle installation.
At a minimum, check these items:
ORACLE_HOME points to the correct Oracle 23ai installationPATH includes $ORACLE_HOME/binThe recommended first command is:
lsnrctl status
This confirms whether the listener is running and identifies the listener name, listening endpoints, parameter file location, and currently registered services.
If the listener uses the default name LISTENER, the normal stop command is:
lsnrctl stop
This tells Oracle Net to perform a clean shutdown of the default listener process. In a normal self-managed environment, no extra “force” syntax is needed. The standard stop command is the supported and safe administrative method.
If the environment uses a listener name other than LISTENER, specify it explicitly:
lsnrctl stop LISTENER2
This matters in environments where multiple listeners exist on the same host, or where Oracle Net has been customized for different services, ports, or administrative purposes. In those cases, always confirm the listener name with lsnrctl status before stopping it.
The stop command can be run directly from the operating system shell, or it can be issued from inside the interactive LSNRCTL prompt.
Interactive example:
lsnrctl
LSNRCTL> stop
LSNRCTL> exit
Both approaches are valid. The direct shell form is faster for routine administration, while the interactive prompt is convenient when you want to run several listener commands in sequence.
Once the listener is stopped, Oracle no longer accepts new inbound listener-based connection requests for that listener endpoint. Remote users attempting to connect usually receive a “no listener” style error until the listener is started again.
Existing database sessions, however, normally continue to function. This is because the listener’s role is primarily at connection establishment time. After the client session has been handed off to the database, the listener is usually no longer involved in that session’s ongoing activity.
This is one of the most important operational distinctions in the lesson:
After issuing the stop command, verify the result with another status check:
lsnrctl status
If the listener is no longer running, the output should indicate that there is no active listener. This post-check matters because it confirms the operational state instead of assuming the stop command completed successfully.
A simple safe workflow is therefore:
lsnrctl status
lsnrctl stop
lsnrctl status
In Oracle Database 23ai Free and some other service-managed or containerized environments, listener lifecycle may be coordinated by the operating system service manager. In those cases, lsnrctl stop still applies to the listener utility itself, but administrators should also understand whether the broader environment expects service-level control through systemctl or another wrapper.
For example, a Linux environment may manage Oracle components through a systemd unit that starts or stops both the database and listener together. In those environments, listener shutdown may be part of a larger service shutdown model rather than a stand-alone listener-only task.
This does not make lsnrctl stop invalid. It simply means the DBA should understand whether the environment is self-managed in the traditional sense or coordinated through OS-level service automation.
reload instead of full stop/start when only minor listener configuration changes need to be applied.systemctl or a broader service shutdown path.Not every Oracle Net configuration change requires the listener to be stopped completely. If the goal is simply to have the listener reread updated configuration, the safer and less disruptive command may be:
lsnrctl reload
This is useful when the listener does not need to be taken fully offline. A good DBA distinguishes between “I need the listener down” and “I only need the listener to reread configuration.”
Stopping the Oracle Net listener safely in Oracle 23c and Oracle 23ai is still done with lsnrctl stop. The procedure remains straightforward: verify the listener, stop the default or named listener, and verify the result afterward. No special force option is required for ordinary safe shutdown.
The key operational lesson is that listener shutdown affects new incoming connections, not usually the client sessions that are already active. In modern environments, especially Linux systems with service management, DBAs should also understand whether listener shutdown is being handled directly through lsnrctl or as part of a broader OS-managed service model.