So, I was working on a server build and everything was running fine until I tried to start the listerner. The process hang on “Starting /u01/app/grid/product/12.1.0/grid/bin/tnslsnr: please wait…” and then raised TNS-12531: TNS:cannot allocate memory error.
Well 1st thing, looked the error up using orerr:
TNS-12531: TNS: cannot allocate memory Cause: Sufficient memory could not be allocated to perform the desired activity. Action: Either free some resource for TNS, or add more memory to the machine. For further details, turn on tracing and re-execute the operation.
Should be simple right? Well, not in this case. The server had plenty of resources and not even the database was up yet so over 90% of the server memory was free.
Checked all sort of things when I started to check the server network configuration.
Looking up found that the server will through this error also when the hostname definition is different from what is resolved by the /etc/hosts file.
Once those matched, volià, listener started successfully.
Not the memory right? Oracle and its tricks…
That kept me bugging so I found this article, which shows a trace of the listener with a bit more information.
Hope this can save you some minutes on troubleshooting.
Until next time!