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:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-12-18T07:11:23.000000000Z" />
<EventRecordID>6195</EventRecordID>
<Channel>Application</Channel>
<Computer>[removed]</Computer>
<Security />
</System>
<EventData>
<Data>tnslsnr.exe</Data>
<Data>11.2.0.2</Data>
<Data>4e2e9556</Data>
<Data>orahasgen11.dll</Data>
<Data>11.2.0.1</Data>
<Data>4ce506a3</Data>
<Data>c0000005</Data>
<Data>0002fbdd</Data>
<Data>1084</Data>
<Data>01cddceee2b90e19</Data>
<Data>C:\oraclexe\app\oracle\product\11.2.0\server\BIN\tnslsnr.exe</Data>
<Data>C:\oraclexe\app\oracle\product\11.2.0\server\BIN\orahasgen11.dll</Data>
<Data>20df4569-48e2-11e2-87b0-1c6f650a0fc2</Data>
</EventData>
</Event>
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 know there can be more than 1 oracle installations on one system...