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 derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

oracle/db2/websphere environment

Status
Not open for further replies.

rteeter

MIS
Apr 16, 2003
1
US
Ok, my scenario:

Machine 1 aix 5.1 ML04(4GB Ram/ 4 processors) is running:
Oracle 8.1.7 (2 instances)
DB2 - for Websphere Repository
Patrol

Machine 2 aix 5.1 ML04(4GB Ram/ 4 processors)is an HACMP backup for Machine 1 and a backup box for Machine 3

Machine 3 aix 5.1 ML04(6GB Ram/ 6 processors)is running:
Websphere 4.0.4
http server
Network Dispatcher 4.0

The issue we have is that when Machine 1 is running 1 instance of oracle, the SGA is at 885MB and basically we are using the 4GB of real memory as well as 2.5GB of paging space. After starting the second instance (650MB SGA) and DB2 (using the WebSphere Repository) and roughly 25 days later, the listeners locked up and no new connections were allowed to be made. The svrmgrl couldn't be used to stop the listeners, so the had to be removed using the "kill -9" command. After a restart of the listeners, no new connections were allowed. We ended up stopping db2, stopping patrol, bringing down the second oracle instance and the (~30 minutes later) with no one doing anything specific, things returned to normal.

Basically does anyone know why it would take roughly 30 minutes to clear enough memory to return things to normal? It seems that oracle may not be maximized for use in the situations since it is paging out a lot.
If one database/instance is already running and paging, when the second is brought online, does its SGA go into real memory or paging?

Any help would be appreciated.
 
With an SGA of that size, I would think that you would have enough memory. I'm not sure how much memory DB2 uses. I think one reason why it took 30 minutes for you to do anything after you killed all the processes is because you may have had some memory segments still owned by the oracle user. If you had done an ipcs | grep oracle (or whatever your oracle username is), you might have seen some memory segments hanging around. You could get rid of them by using ipcrm on each of the segments -- as long as Oracle (and the app that is using it)is completely shut down! Do a man on ipcrm for the switches you need to use.
 
check your kernel settings for the max processes per user. As each oracle connection thru listener creates a process owned by the oracle user then this limit can easily be reached.
A workaround could be to create a script to clear out old oracle connections (oracle is not to good at that itself).
 
To identify how much memory uses DB2 you should look at BUFFPAGE, SORTHEAP and LOGBUFSZ parameters which are the main points.
How many concurrent connections does your system reach?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top