Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Oracle/Windows question

RE: Oracle/Windows question

From: Allen, Brandon <>
Date: Tue, 9 Aug 2005 11:16:44 -0700
Message-ID: <04DDF147ED3A0D42B48A48A18D574C4502361410@NT15.oneneck.corp>

Joe, sounds like your most likely running out of RAM even though task manager might not show it - there might be plenty free for Windows, but Oracle can't use it. How much RAM do you have and how much are you using according to task manager? Are you using the /3GB switch to allocate 3GB (instead of only 2GB) to Oracle?

You might want to check out the following from the bottom of Metalink Note:46001.1:

d) How per session allocations are performed & address space fragmentation

. . .

Once the address space starts to fill with users session allocations the will be a danger that a new session can not be created due to the lack of available address space. If this occurs the most likely error is :

Other possible errors include :

Due to address space fragmentation and dll's being loaded into the Oracle server processes address space, these errors are likely to occur when the Windows NT performance monitor shows the Oracle process has allocated around 1.6GB / 1.7GB of the 2GB address space. If the 4GT tuning feature is in operation this will be around 2.5GB / 2.7GB. It is important to remember that it is only the committed pages that are backed by physical memory or the page file.

e) How session memory is released & thread termination consequences

When a users session completes successfully it deallocates its memory using the Win32 API call "VirtualFree" with the MEM_DECOMMIT | MEM_RELEASE allocation flags. After all allocations have been freed the stack is also released, leaving the Oracle processes address space free of reference to the completed session.

If a users session terminates unexpectedly it will not release the memory it has allocated, the allocated pages will remain in the Oracle processes address space until the process exits. Unexpected termination may occur if a users session if forced to terminate for one of the following reasons :

Oracle Support Services recommends customers minimize the use of the above commands, in particular the shutdown abort command. When shutdown abort is run its calls the Win32 API "TerminateThread" for each users session, which kills the thread without releasing its memory. On systems with many users a large percentage of the 2GB address space of the Oracle process will become inaccessible, ultimately causing allocation problems when Oracle is next started. The only way to release this memory is to stop and start the Oracle Service (e.g. OracleServiceORCL).

f) How to increase the number of sessions

For customers who need to achieve large user populations on Windows NT, the following can be used as a guide to optimising memory usage :

-----Original Message-----
[]On Behalf Of Sweetser, Joe Sent: Tuesday, August 09, 2005 10:48 AM
Subject: Oracle/Windows question

Windows 2000 SP4
3gb memory

The database is about 100gb. I seem to be having a problem with system resources that is causing new connections to the database to not happen during peak times. Last time this occurred, I increased the processes parameter (from 300 to 400) and this alleviated the problem at the time. But now it happened again. I just restarted the database and all is well for the time being, but I want to figure out what's happening.

There are no errors in the alert log. The listener.log shows repeated entries similar to this (I substituted actual names with <>'s):

09-AUG-2005 11:06:56 * (CONNECT_DATA=

  (SERVICE_NAME=<TNS service name>)
* (ADDRESS=(PROTOCOL=tcp)(HOST=<IP address>)(PORT=2948)) 
* establish * <TNS service name> * 12500 TNS-12500: TNS:listener failed to start a dedicated server process  TNS-12540: TNS:internal limit restriction exceeded   TNS-12560: TNS:protocol adapter error
   TNS-00510: Internal limit restriction exceeded     32-bit Windows Error: 8: Exec format error

Metalink research for the TNS 510 error (Note:171636.1) indicates there is a system resource issue. My problem is that I'm pretty green on Windows ("unix weenie, am I" -Yoda) and don't know where to look to see what's being used up. Task manager doesn't show any constraints with memory or CPU.

Any/all suggestions/hints/ideas are welcome.



Privileged/Confidential Information may be contained in this message or attachments hereto. Please advise immediately if you or your employer do not consent to Internet email for messages of this kind. Opinions, conclusions and other information in this message that do not relate to the official business of this company shall be understood as neither given nor endorsed by it.

Received on Tue Aug 09 2005 - 13:18:05 CDT

Original text of this message