HiveBrain v1.2.0
Get Started
← Back to all entries
debugMinor

Oracle XE TNS Listener fails to start

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
failstnslistenerstartoracle

Problem

I freshly installed Oracle XE 11.2.0.2.0 and found out that the TNS Listener service fails to start. At first I tried to start the Windows service by hand. After the failure this is the entry in the event log:


 
   
  1000 
  2 
  100 
  0x80000000000000 
   
  6195 
  Application 
  [removed] 
   
 
 
  tnslsnr.exe 
  11.2.0.2 
  4e2e9556 
  orahasgen11.dll 
  11.2.0.1 
  4ce506a3 
  c0000005 
  0002fbdd 
  1084 
  01cddceee2b90e19 
  C:\oraclexe\app\oracle\product\11.2.0\server\BIN\tnslsnr.exe 
  C:\oraclexe\app\oracle\product\11.2.0\server\BIN\orahasgen11.dll 
  20df4569-48e2-11e2-87b0-1c6f650a0fc2 
 


In a second go I tried STATUS and START in LSNRCTL.EXE:

LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   32-bit Windows Error: 61: Unknown error


... and START:

LSNRCTL> START
Starting tnslsnr: please wait...

TNS-12537: TNS:connection closed
 TNS-12560: TNS:protocol adapter error
  TNS-00507: Connection closed
   32-bit Windows Error: 109: Unknown error


Google found a few forum entries with people having a similar error but all of them would either have an inner error different from 109 or not get any reasonable answer at all...

Any ideas? I know that before installing Oracle XE on my computer, an oracle 11.2.0 client was already on it (part of the image).

ORACLE_HOME and TNS_ADMIN point to that client. Would that have any impact? I hope the two Oracle instances are smart enough for each to run independently!

Update: It does! I changed the ORACLE_HOME and now the listener runs. But I can't go and edit the ORACLE_HOME every time I need to start the listener or run SQLPlus from my client installation. I really wonder what an architecture would install a product with its own listener but the listener is not able to run without a global environment variable being set to a certain directory, especially since we k

Solution

Check this registry key to ensure ORACLE_HOME is configured for the service:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_XE\ORACLE_HOME


If that doesn't exist, check here:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\ORACLE_HOME


Also make sure this other key isn't pointing to your old client registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_XE\ORACLE_HOME_KEY
or
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\ORACLE_HOME_KEY

Code Snippets

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_XE\ORACLE_HOME
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\ORACLE_HOME
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_XE\ORACLE_HOME_KEY
or
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\ORACLE_HOME_KEY

Context

StackExchange Database Administrators Q#30649, answer score: 2

Revisions (0)

No revisions yet.