Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Kernel32.dll error on Database server

Status
Not open for further replies.

sants

MIS
Aug 2, 1999
19
VN
We have a database server running Oracle Enterprise 8.0.5.2.1 on NT server SP6a which was setup some time back and there were about 300 (roughly) user connections to the Oracle server. The connections are through an Engg design package that uses Oracle for data storage and management. The are no Oracle client components on the user machines. The client machines connect to the server using its own database connectivity tools. Everything was running fine until recently when the number of user connections went up to 550 and above (roughly). The memory on the server was upgraded to 4GB and the errors did not occur for a few days, but started off again after a while but not as frequent as before. The memory utilisation at peak is about 70 to 80 %. The error occurs once in a while when the client application is running. There is no specific query or transaction that triggers it, because the commands are standard and they run quite OK on some days. Here is the exact error message.

Initialization of the dynamic link library
c:\winnt\system32\kernel32.dll failed. The
process is
terminating abnormally.

The initial response was to check the registry setting on Nt server for desktop memory heap setting, which is apparently a MS KB article. Changing this did not help. Would there be some memory leak issues on 8.0.5.2.1? Could that be the reason?
 
I found an extremely interesting article on Metalink - document 46001.1. It discusses memory allocations to Oracle on NT platforms. If you haven't read it already, I strongly encourage you to do so. It has a wealth of information, most of which was unfamiliar to me.

It certainly appears that you are still short of memory, even after the upgrade. Based on my reading of the above mentioned article, I would do the following:

1. Make sure that your server is configured so that Oracle can access all the extra memory. Normally Oracle on NT is limited to 2 GB, but this can be increased.

2. Reduce the amount of memory allocated to each user process. The initialization parameters that affect user memory allocations are

- bitmap_merge_area_size
- create_bitmap_area_size
- hash_area_size
- open_cursors
- sort_area_size (sort_area_retained_size)

3. Reduce the size of the SGA in order to free up additional memory for user processes. Decrease initialization parameters like shared_pool_size and db_block buffers.

4. Use the ORASTACK utility to decrease the default stack size. The default is apparently 1MB, and Oracle recommends against decreasing it to less than 500k. This should be tested extensively to make sure that Oracle still has enough memory to run properly.
 
Thanks for your response. Apparently, Oracle does not support this particular version of Oracle (8.0.5.2.1) and have advised to apply the patch 8.0.5.26 to fix a bunch of memory leak problems with 8.0.5.2.1
There is however no confirmation that this is due to a bug on that version.

Waiting for the response from the customer after they apply the patch.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top