I had a similiar issue where my listener locked up not allowing access to the database from an external source nor could I connect when using tnsnames via: sqlplus user/password@database.
The fix action I received was to perform one of the two following:
1 – In 10g ORACLE_HOME, rename $ORACLE_HOME/opnm/conf/ons.config to something else.
mv ons.config ons.config.orig
Then restart the listener
– or –
2 – Explicitly disable the 10g TNS Listener from subscribing to ONS.
Edit the active 10g listener.ora file and add the paramater:
Then restart the listener.
-Edit listener.ora and add to the beginning
-My listener name is LISTENER
-Save the file
-Then restart the listener
I used the second option and haven’t had any further tnsnames lockup issues.