Databases 9 min read

Why Oracle EM Fails with a Static Listener and How to Fix It

The article explains that Oracle Enterprise Manager requires listeners with dynamic registration, shows how a static listener on a non‑default port causes a "database is down" error, and provides step‑by‑step commands to modify the local_listener parameter so both listeners register dynamically and EM works correctly.

ITPUB
ITPUB
ITPUB
Why Oracle EM Fails with a Static Listener and How to Fix It

Oracle Enterprise Manager (EM) can only use listeners that register dynamically with the database. When a listener is configured as static or uses a non‑default port, EM may report "database is down" because the listener does not provide dynamic registration information.

Example scenario

During an 11g OCM exam a candidate configures two listeners: the default listener on port 1521 and an additional listener lsnr2 on port 1526. The listener definitions are placed in listener.ora:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = edbjr2p1.example.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

LSNR2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = edbjr2p1.example.com)(PORT = 1526))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1526))
    )
  )

Because Oracle’s default dynamic registration uses port 1521, lsnr2 does not register dynamically. Running lsnrctl status lsnr2 shows no services:

[oracle@edbjr2p1 admin]$ lsnrctl status lsnr2
... (output indicating "no services")

Root cause

When local_listener is set to lsnr2, the database registers its information only on port 1526. The original listener on 1521 loses the dynamic registration data, so EM cannot find the database and reports the error.

Solution

Modify the local_listener parameter to include both listeners, allowing the database to register on both ports.

Add the listener entry to tnsnames.ora if needed (the article references this step but does not show the exact line).

Execute the following SQL*Plus commands as SYSDBA:

SQL> alter system set local_listener='listener,lsnr2';
SQL> alter system register;  -- only needed if the listener started after the database

After the change, lsnrctl status lsnr2 shows the service "PROD1.us.oracle.com" with status READY, confirming that dynamic registration succeeded.

Verification

Running lsnrctl status listener now shows both static and dynamic registration information, and EM can connect without the "database is down" error.

In summary, EM works only with listeners that have dynamic registration data. If you change a dynamic listener to static, ensure the local_listener parameter is updated to keep dynamic registration active.

EM error screenshot
EM error screenshot
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

SQLdatabaseOraclelistenerDynamic RegistrationEnterprise Manager
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.