I am having a problem where the listener log eventually gives me an error stating that listener is unable to allocate memory.
Originally I thought the problem was with the shared pool. The free space in the memory would eventually dwindle down to nothing. I have since increased the shared pool size and changed some other initialization parameters, and have pinned the large oracle packages. There is currently no problem with shared pool available, but his error is occuring frequently (once a week, or so). It is usually cleared up by bringing down listener and restarting. As a note, sometimes listener will not come down through lsnrctl, and the process itself must be stopped. I am using an 8.1.6 instance of Oracle, running on an Alpha Open VMS 7-2 Operating system. The other thing that we noticed is that near the end of listeners week long life is that its' paging quota becomes 98%. The reason we don't think this is the core reason is that it doesn't seem to matter how large of a quota we give, it just prolongs the life a little longer. I noticed another error that comes up often in the listener.log:
22-MAR-2006 08:18:51 * 12502
TNS-12502: TNS:listener received no CONNECT_DATA from client
This happens very regularly, and when I looked on metalink, a couple of articles said to ignore the error because it was something monitoring the listener port, but we don't have anything monitoring this port.
The following are the parameters in the init.ora file:
I am not sure if this is even an Oracle issue, my systems Admin is looking into it on his side. This seemed to happen a couple of months ago, for the first time, and has been decreasing in time since last event ever since.
The service names look correct, on thing i did notice though is that the tnsnames.ora file has two databases listed, one for the production system, and one for our long term database, both on the default port of 1521, could this be the issue with the errors, and could this solve the entire issue of listener eventually crashing?
Up and running, I have checked it, and it still runs even though there are hundreds of these in the log. The strange thing is that I have no problem connecting in any sort of way. It just eventually stops accepting incoming connections, and finally dies with the unable to allocate memory error, i will look up the exact code.
Q: What can customers do to tune for performance?
A: Please consult MetaLink as your starting point for researching tuning tips for Oracle8i. Oracle also recommends that customers stay current with all software maintenance, both from Compaq and from Oracle, to ensure that your applications continue to run smoothly.
Oracle Worldwide Support maintains a document, accessible from MetaLink, which lists all Oracle patches and Compaq ECOs (please see Note 154427.1 - List of patches for Oracle 188.8.131.52.0/184.108.40.206b on Alpha OpenVMS, Note 174247.1 - List of patches for Oracle 220.127.116.11, and Note162502.1 - List of patches for Oracle 18.104.22.168.0 on Alpha OpenVMS).
Also, there are some basic tuning steps known to benefit overall OpenVMS system and Oracle performance:
Distribute Oracle datafiles and redolog files across all available disks; the document at http://technet.oracle.com/deploy/ava...w2000_sane.pdf contains useful tips and guidelines.
Ensure those files are not fragmented.
Ensure tables and indexes have as few extents as possible.
Ensure table rows have no or little block chaining.
Ensure proper Working Set quota settings for both the Bequeath and the TNS listener slave processes. Files are BEQLSNR.COM and TNSLNR.COM, both residing in ORA_ROOT:[NETWORK]. We suggest ORA_LSNR_WSDEFAULT be set to 4096 and ORA_LSNR_WSQUOTA and ORA_LSNR_WSEXTENT each be set to 102400.
Ensure Automatic Working Set Adjustment is enabled.
Ensure proper tuning of the various components within the SGA, keeping in mind that "bigger = better" is not true per definition. Too large can in fact have an adverse effect on overall performance! For example, having a buffer cache that is too large incurs overhead that can be more than the benefits of having more data blocks in memory. Similarly, a SQL pool that is larger than the sum of all unique statements is a waste of memory that is better used elsewhere.
This was found on HP's site under open VMS. I am going to attempt to make the changes on the BEQLSNR.COM file.