I faced a problem yesterday. The Oracle listener crashed each time a connection was made. The OS was WINXP SP2. It goes without saying that this was a testing install.
The event log showed the following error in SYSTEM log and APPS log.
Faulting application TNSLSNR.EXE, version 0.0.0.0, faulting module orantcp9.dll, version 0.0.0.0, fault address 0x00005732
The following items are proposed by metalink to resolve the issue :
- Setting use_shared_socket=true in HKEY_LOCAL_MACHINE \software\oracle\home0 Note don’t do this casually!!!
- Removing all 3rd party software for Internet download such as download accelerator.
- Changing TNSNAMES.ORA so that it explicitly mentions about ORACLE_HOME.
None of above solutions worked for me. In addition, I could not find anything in the listener trace file or listener log which led me to the cause of the problem.
By the way, I checked out that no process was listening on the listener default port. Changing the listener port did not change anything.
Finally I found the following magic command which fixed the issue after running and restarting the box:
netsh winsock reset catalog
Simple explanation, taken from Ramesh’s Troubleshooting Windows site:
Most of the Internet connectivity problems arise out of corrupt Winsock settings. Windows sockets settings may get corrupted due to the installation of a networking software, or perhaps due to Malware infestation. You will be able connect to the Internet, but the packets won’t transfer back and forth. And errors such as Page cannot be displayed may occur when using Internet Explorer.
This command resets the Winsock catalog to the default configuration. This can be useful if a malformed LSP is installed that results in loss of network connectivity. While use of this command can restore network connectivity, it should be used with care because any previously-installed LSPs will need to be re-installed.