Tuesday, October 20, 2026
  • About Us
  • Contact
DBAInsight
  • Guides
    • 23ai
    • RMAN
    • 26ai
    • Patch Update
    • RMAN
    • MySQL
    • Oracle GoldenGate
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification
NEWSLETTER
No Result
View All Result
DBAInsight
Home Guides

How to Set LOCAL_LISTENER Parameter in Oracle Databases (Step-by-Step Guide)

November 9, 2025
in Guides
0
Featured poster showing Oracle LOCAL_LISTENER parameter setup with database and command-line icons, styled in Oracle-themed red, gray, and dark blue for a DBA blog header.
0
SHARES
797
VIEWS

One of the most overlooked yet vital aspects of Oracle Database networking is the LOCAL_LISTENER parameter.
This setting ensures that your database instance correctly registers with the Oracle listener — enabling smooth communication between clients and the database.

In this post, we’ll walk you through what LOCAL_LISTENER does, why it’s needed, and how to set it correctly using both SQL*Plus and Oracle Enterprise Manager.
You’ll also learn the common pitfalls and troubleshooting methods that every DBA should know.

Table of Contents

Toggle
    • Related posts
    • How to Fix ORA-01105 and ORA-01174 in Oracle RAC: DB_FILES Parameter Mismatch
    • How to Identify Static Initialization Parameters in Oracle Database 19c
  • What Is the LOCAL_LISTENER Parameter?
  • Why Setting LOCAL_LISTENER Is Important
  • Step 1: Verify Your Listener Configuration
  • Step 2: Update TNSNAMES.ORA File
  • Step 3: Set LOCAL_LISTENER Dynamically
  • Step 4: Verify the Parameter Value
  • Step 5: Force Service Registration
  • Step 6: Use Full Descriptor (Optional)
  • Step 7: Modify SPFILE Manually (if needed)
  • Step 8: Example for RAC or Multitenant Environments
  • Troubleshooting Common Issues
    • ❌ ORA-12514: Listener does not know of service requested
    • ❌ ORA-12541: No listener
    • ❌ Still not registering?
  • Pro Tip: Check Registration Log in Alert Log
  • Verify Registration with SQL
  • Summary: Quick Commands Checklist
  • Conclusion

Related posts

How to Fix ORA-01105 and ORA-01174 in Oracle RAC: DB_FILES Parameter Mismatch

How to Fix ORA-01105 and ORA-01174 in Oracle RAC: DB_FILES Parameter Mismatch

October 19, 2026
Static Initialization

How to Identify Static Initialization Parameters in Oracle Database 19c

October 16, 2026
Diagram illustrating the LOCAL_LISTENER parameter setup in Oracle Database, showing a database server connected to a listener for proper registration.

What Is the LOCAL_LISTENER Parameter?

In Oracle, the LOCAL_LISTENER parameter specifies the Oracle Net listener that an instance should use to register itself.

When a database starts, it dynamically registers with the listener so clients can connect.
However, in certain configurations — like multitenant setups, RAC environments, or custom ports — Oracle may not automatically detect the listener.
That’s where the LOCAL_LISTENER parameter becomes essential.

In simple terms:

LOCAL_LISTENER tells Oracle which listener (host and port) to use for local registration.


Why Setting LOCAL_LISTENER Is Important

Setting this parameter ensures:

  1. Dynamic service registration with the correct listener.
  2. Client connections work even after IP, port, or hostname changes.
  3. Multiple listeners (for high availability) can be managed easily.
  4. Custom ports or IP bindings are recognized during startup.
  5. RAC instances register properly with individual node listeners.

Without a properly set LOCAL_LISTENER, you might face:

  • ORA-12514 (“listener does not currently know of service requested”)
  • ORA-12541 (“no listener”)
  • Instances not visible in lsnrctl status output.

Step 1: Verify Your Listener Configuration

Before setting the parameter, confirm your listener is running and check its address details.

$ lsnrctl status

You’ll see something like:

Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oradb.localdomain)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).

Take note of the HOST and PORT — you’ll need them for LOCAL_LISTENER.


Step 2: Update TNSNAMES.ORA File

Create or verify an entry for your listener in $ORACLE_HOME/network/admin/tnsnames.ora.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = oradb.localdomain)(PORT = 1521))

This defines the TNS alias you’ll reference in your LOCAL_LISTENER parameter.


Step 3: Set LOCAL_LISTENER Dynamically

You can set LOCAL_LISTENER while the instance is running using SQL*Plus:

SQL> ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_ORCL' SCOPE=BOTH;

Explanation:

  • SCOPE=BOTH updates both the SPFILE (persistent) and memory (current instance).
  • 'LISTENER_ORCL' refers to the alias defined in your TNSNAMES file.

Step 4: Verify the Parameter Value

Check whether the parameter has been applied correctly:

SQL> SHOW PARAMETER LOCAL_LISTENER;

NAME             TYPE        VALUE
---------------- ----------- -----------------
local_listener   string      LISTENER_ORCL

If the value shows up, Oracle will use this listener for registration.


Step 5: Force Service Registration

After setting the parameter, prompt the database to register immediately:

SQL> ALTER SYSTEM REGISTER;

Then check listener status again:

$ lsnrctl status

You should now see your service listed under the correct instance.


Step 6: Use Full Descriptor (Optional)

If you prefer to avoid TNS alias resolution, you can directly assign a full descriptor:

SQL> ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=oradb.localdomain)(PORT=1521))' SCOPE=BOTH;

This approach is helpful when your Oracle client can’t resolve TNS entries or if tnsnames.ora is not configured.


Step 7: Modify SPFILE Manually (if needed)

For SPFILE-based databases, you can also update the parameter permanently:

SQL> CREATE PFILE='/tmp/init.ora' FROM SPFILE;
-- Edit the PFILE to include:
-- *.local_listener='LISTENER_ORCL'
SQL> CREATE SPFILE FROM PFILE='/tmp/init.ora';
SQL> STARTUP;

Step 8: Example for RAC or Multitenant Environments

In RAC or CDB/PDB configurations, each instance or container may have its own listener.

For example:

ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_ORCL1' SID='ORCL1' SCOPE=BOTH;
ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_ORCL2' SID='ORCL2' SCOPE=BOTH;

Each node in the cluster registers independently with its respective listener.

To learn how to set up a dedicated network for redo traffic and enhance performance, check out our detailed guide ondedicated log shipping networks in Oracle Data Guard.This complements your listener configuration by improving the reliability and speed of Data Guard communication.


Troubleshooting Common Issues

❌ ORA-12514: Listener does not know of service requested

  • Check if the listener is running.
  • Run ALTER SYSTEM REGISTER to refresh.
  • Confirm the SERVICE_NAME matches in tnsnames.ora and listener.ora.

❌ ORA-12541: No listener

  • Verify that lsnrctl start has been executed.
  • Ensure correct HOST and PORT in your configuration.

❌ Still not registering?

  • Ensure that LOCAL_LISTENER matches exactly with TNS alias names.
  • For container databases, restart the listener after setting the parameter.

Pro Tip: Check Registration Log in Alert Log

To confirm the registration worked, open the database alert log:

tail -f $ORACLE_BASE/diag/rdbms/orcl/orcl/trace/alert_orcl.log

You should see a message like:

Service "orcl" registered with listener (address=(protocol=tcp)(host=oradb.localdomain)(port=1521))

This confirms successful listener registration.


Verify Registration with SQL

You can also check registered services directly from SQL:

SELECT network_name, instance_name, status
FROM gv$service;

If your instance appears and status = READY, registration succeeded.


Summary: Quick Commands Checklist

TaskCommand
Check current listenerlsnrctl status
Set LOCAL_LISTENERALTER SYSTEM SET LOCAL_LISTENER='LISTENER_ORCL' SCOPE=BOTH;
Verify parameterSHOW PARAMETER LOCAL_LISTENER;
Force registrationALTER SYSTEM REGISTER;
Full descriptor(ADDRESS=(PROTOCOL=TCP)(HOST=oradb.localdomain)(PORT=1521))

Conclusion

Setting the LOCAL_LISTENER parameter correctly ensures that your Oracle database instance registers with the right listener, enabling reliable client connections and reducing network errors.

Whether you’re working on a standalone setup or a complex RAC environment, remember:

  • Always verify listener status and ports first.
  • Use SCOPE=BOTH for persistence.
  • Force registration after any change.

With these steps, you’ll eliminate ORA-12514 headaches and maintain a stable Oracle networking configuration.

Tags: LOCAL_LISTENERORA-12514: Listener does not know of service requested
Previous Post

How to Perform Rman Duplicate From Active Database on Same Server 

Next Post

How to Fix “ORA-01111: Name for Data File Is Unknown” in Oracle Standby Databases

Next Post
How to Fix “ORA-01111: Name for Data File Is Unknown” in Oracle Standby Databases

How to Fix “ORA-01111: Name for Data File Is Unknown” in Oracle Standby Databases

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

  • Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    0 shares
    Share 0 Tweet 0
  • How To Download And Install The Latest OPatch

    0 shares
    Share 0 Tweet 0
  • Oracle Database 19.32 Release Update (RU) Patching Guide – Patch 39472050

    0 shares
    Share 0 Tweet 0
  • How to Install Oracle 19c Database on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • Installing Oracle Database 26AI on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • About Us
  • Contact

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

No Result
View All Result
  • Home
  • Cloud & Modern DBs
  • Guides
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

Add as a preferred source on Google
Add as preferred source on Google