Oracle OEM and Intelligent Agent, Cannot Discover Database or Listener

We just built a new Windows 2003 server and cloned an Oracle 9i Rel2 db onto it.  The instance is up and running and I was able to discover the node. I cannot get the oem to recognize the database and listener.  We have removed and reinstalled the listener, made sure that an entry for the database is present in the listener.ora, stopped and restarted the agent, did a clean start on the agent by removing all the q files, etc iaw the oracle note.  What are we missing?

Who is Participating?
ee_ai_constructConnect With a Mentor Commented:
Question answered by asker or dialog valuable.
Closed, 250 points refunded.
ee_ai_construct (replacement part #xm34)
Community Support Admin
Set the machine name in the listener.ora file
(HOST = machine) ....

Edit the tnsnames file.

Stop and start the listener:

C:>lsnrctl stop
C:>lsnrctl start

Check the connection to the listener:

C:>tnsping <connection string>

After that you will be able to connect via OEM.
DonFreemanAuthor Commented:
This is our entry in the listener.ora


      (ADDRESS = (PROTOCOL = TCP)(HOST = dhhbgnedora111)(PORT = 1521))

    (SID_DESC =
      (ORACLE_HOME = D:\oracle\ora92)
    (SID_DESC =
      (PROGRAM = extproc)
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\ora92)


Used TNSNAMES adapter to resolve the alias
(HOST = = 1521))) (CONNECT_DATA = (SERVICE_NAME = xxxxxxx)))

OK (10 msec)

I did the ping from the OMS server to the target and it succeeded.   When I discovered the node from OEM It still didn't discover the listener or the database.   What's my next step?
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Does this machine have the fixed IP? If not, You should get a fixed IP first.thats' the requirement
DonFreemanAuthor Commented:
Yes it has a static ip.  
on the Windows server, make sure Oracle intelligent Agent is up and running...

In the OMS server, start OEM connecting to OMS server, and try discovering the node, if not, do  a manual discovery...
DonFreemanAuthor Commented:
Agent is up.    You don't get the option of manually discovering because the node is discovered.   Does the listener have to have a unique name in the oem list?  I'm not getting any errors but the name is just the default name.  As far as I can tell what gets displayed on the oem is what is in the services.ora file on the target.  This is a dynamic file and the entries I need are not being written there.  Beyond that there doesn't seem to be much information available about how that all takes place.

How did you clone it?

Did you use DBCA to create an empty database and import the database?

Or you use the cold backup to clone a new database? In the latter case, your database won't show up in the Agent...
DonFreemanAuthor Commented:
I finally found the solution in this note on Metalink.  I don't understand exactly the explanation of how it occurred but I had to edit an Oracle supplied TCL file to make it work.  I wanted to include the answer here in case some other poor soul encounters the same problem.

Subject:  Discovering Node Fails to Include Databases / Agent Log Shows Skipping Listener
 Content Type:  TEXT/PLAIN
Creation Date:  21-JUL-1999
Last Revision Date:  26-NOV-2002

Environment: Oracle Intelligent Agent  Microsoft Windows NT Microsoft Windows 2000   Symptom: You have discovered a node from the EM console, but cannot see the databases.    The Agent's %ORACLE_HOME%/network/log/nmiconf.log shows:  Warning : Listener <LISTENER_name> defined in <path>\listener.ora  will be skipped because it does not have a corresponding NT service entry Warning : Skipping Oracle<Oracle_Home>TNSListener : Could not find corresponding listener definition in (<path>\listener.ora) Warning : No Listener found for SID <SID__name>. <SID_name> will be skipped     Cause: When the Agent process starts, a script is executed to locate manageable  services on the node.  The script is called nmiconf.tcl and is the primary  script for discovering databases and listeners on the server.   The new universal Installer checks for an ORACLE_HOME_NAME and an  ORACLE_HOME_PATH, both of which get stored in the registry.  The new service  name is created using the ORACLE_HOME_NAME as part of the service name which  is the text portion of the service name, between 'Oracle' and 'TNSListener'.  During the execution of "nmiconf.tcl" script, the  'proc nmiconf_getListenerOraFileVersion' uses the version portion of the  service to compare against the path name to determine if they are the same  version; since they're not, this procedure returns a 'bad' version.    Therefore, the 'proc nmiconf_findListenerNTService' fails the version  comparison, causing the error to be given and the Listener to be ignored.     Fix:   NOTE: Before beginning this workaround, please make a backup copy of the  nmiconf.tcl script.  1.  Modify the nmiconf.tcl script and find the line that includes:  proc nmiconf_findListenerNTService  2.  Then comment out the entry under the above heading that includes:           set isVersionEqual [string compare $version [lindex $listenerNTServiceDeta...etc  3.  Then add the following line right after the above commented line:                   set isVersionEqual 0  4.  Save and Close the nmiconf.tcl script  5.  Restart the Intelligent Agent    6.  Refresh the Node from within the EM Console    See also BUG:1301647 if 7.3.4 database is also installed/being discovered.    If the above steps not help, the listener.ora file may be corrupt. Try: 1. Rename/Delete the existing listener.ora 2. Create a new file using the Net8 Assistant (or Net8CA) configuration tool 3. Restart the Listener and ensure clients can connect via the listener 4. Restart the Agent.    As a last resort, the following can be attempted: 1) Stop the listener and the Agent 2) Backup the registry 3) Delete the following key from the NT registry(*):    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle<Oracle_Home>TNSListener 4) Reboot the machine (to ensure a clean start) 5) Build a new/clean listener.ora file with a proper net tool such as Net8Assistant 6) At DOS prompt, go to the Oracle Home\bin directory, and start the listener:         lsnrctl start    (It may error out at first, but will eventually start the listener, and     recreate the registry entry/service.  This may take some time.) 7) Restart the Agent   (*) Exercise extreme care when removing registry entries.       Removing incorrect entries can severely compromise your computer.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.