I freshly installed Oracle XE 22.214.171.124.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>126.96.36.199</Data> <Data>4e2e9556</Data> <Data>orahasgen11.dll</Data> <Data>188.8.131.52</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
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
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...