Oracle XE TNS Listener fails to start 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:

&lt;Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"&gt;
 &lt;System&gt;
  &lt;Provider Name="Application Error" /&gt; 
  &lt;EventID Qualifiers="0"&gt;1000&lt;/EventID&gt; 
  &lt;Level&gt;2&lt;/Level&gt; 
  &lt;Task&gt;100&lt;/Task&gt; 
  &lt;Keywords&gt;0x80000000000000&lt;/Keywords&gt; 
  &lt;TimeCreated SystemTime="2012-12-18T07:11:23.000000000Z" /&gt; 
  &lt;EventRecordID&gt;6195&lt;/EventRecordID&gt; 
  &lt;Channel&gt;Application&lt;/Channel&gt; 
  &lt;Computer&gt;[removed]&lt;/Computer&gt; 
  &lt;Security /&gt; 
 &lt;/System&gt;
 &lt;EventData&gt;
  &lt;Data&gt;tnslsnr.exe&lt;/Data&gt; 
  &lt;Data&gt;11.2.0.2&lt;/Data&gt; 
  &lt;Data&gt;4e2e9556&lt;/Data&gt; 
  &lt;Data&gt;orahasgen11.dll&lt;/Data&gt; 
  &lt;Data&gt;11.2.0.1&lt;/Data&gt; 
  &lt;Data&gt;4ce506a3&lt;/Data&gt; 
  &lt;Data&gt;c0000005&lt;/Data&gt; 
  &lt;Data&gt;0002fbdd&lt;/Data&gt; 
  &lt;Data&gt;1084&lt;/Data&gt; 
  &lt;Data&gt;01cddceee2b90e19&lt;/Data&gt; 
  &lt;Data&gt;C:\oraclexe\app\oracle\product\11.2.0\server\BIN\tnslsnr.exe&lt;/Data&gt; 
  &lt;Data&gt;C:\oraclexe\app\oracle\product\11.2.0\server\BIN\orahasgen11.dll&lt;/Data&gt; 
  &lt;Data&gt;20df4569-48e2-11e2-87b0-1c6f650a0fc2&lt;/Data&gt; 
 &lt;/EventData&gt;
&lt;/Event&gt;


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

LSNRCTL&gt; 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&gt; 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 know there can be more than 1 oracle installations on one system...
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