Search code examples
oracle12c

Oracle 12C Databases are not Dynamically Registering with Listener


We are running Oracle 12.2.0.1 on Windows 2012 R2. I created 2 Oracle instances on this server, and everything has been running fine for a week until today, when suddenly one of the databases stopped responding. Investigation led me to discover that the listener no longer had the database registered. I tried

  1. Reloading the listener
  2. Restarting the listener
  3. Restarting the Oracle instance
  4. I then tried restarting the other Oracle instance on that server. That instance no longer registers dynamically with the listener.
  5. I created another Oracle instance on the server, it successfully dynamically registers with the listener.
  6. I then tried rebooting the server and still no dynamic registration of the two instances, but the newly created instance does register.
  7. I searched Oracle support and could not find an answer to my issue.
  8. I verified that the tnsnames.ora file had the appropriate LISTENER_INST entries.

As a work-around I have edited the listener.ora file and added entries for the two databases While this manual registration is successful, it would be nice if the dynamic registration worked like it is supposed to.

I found stack Overflow question Show All Instances That Should Be Dynamically Registered With a Listener, but my configuration seems to be ok.

Does anyone have any ideas of other things I can try?

I checked my TNSNAMES.ora file, I have the appropriate entry:

LISTENER_XXXX = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME.DOMAIN.COM)(PORT 1521))

Listener name and hostname edited to maintain privacy

My local_listener parameter matches then tnsnames entry: LISTENER_XXXX
My remote_listener parameter is null. There is no "ALTER SYSTEM
There is no entry in the alert log that begins with "alter system register" in the alert or listener log.


Solution

  • I found in my case, I had to do the following. First, I had a problem where the listener was no longer responding. So, I deleted and recreated the Listener.

    Second, I updated the host name in the TNSNAMES connection to the IP address.

    Third, I shut down the instance service, restarted the Listener, then started the instance.