Quantcast
Viewing all articles
Browse latest Browse all 9

Re: DIA8300C A memory heap error has occurred.

Hi Rupali, just gone through the error messages you posted & would rather have you tackle the  ""DIA8300C A memory heap error has occurred" aspect before the ""Log Full" error message.

 

#Observations: From your  db2sid.nfy file, I can see the core error messages...

 

(A) ADM1823E  The active log is full and is held by application handle "0-53126".

 

(B) Terminate this application by COMMIT, ROLLBACK or FORCE APPLICATION

 

(C) RETCODE : ZRC=0x8B0F0000=-1961951232=SQLO_NOMEM "No Memory Available"                         

                         DIA8300C A memory heap error has occurred. GO r the Memory contention problem first, i.e (C) above. 

 

Yr:DB SID = GD2


1)  General Questions:  Did you recently carry out a FULL ONLINE Database Backup?  

               - a. What is the current setting for instance memory and database memory?  

               - b. Is STMM ON? If yes, are all associated prerequisite parameter settings well set? - LOCKLIST etc.  

               - c. Can you still connect to the DB using  "db2 connect"?  

               - d. Does the instance memory increase until it crashes?

 

#Diagnosis:


Check the db2diag.log for such error messages:


MESSAGE : ZRC=0x8B0F0000=-1961951232=SQLO_NOMEM "No Memory Available"          

                    DIA8300C A memory heap error has occurred.


OR              Insufficient INSTANCE_MEMORY to allocate new memory set.          

                   DATA #3 : numChunks, PD_TYPE_NUM_CHUNKS, 4 bytes


The above memory error if found indicates that there is insufficient INSTANCE_MEMORY to allow for new memory set allocation.

Here, there's a need to increase INSTANCE_MEMORY further.



2) You should be looking closely at these parameter settings for your Database GD2:


STMM = YES or NO?

DB_MEM Size = ???

Instance Mem Size =??? '

Database monitor heap size (4KB)          (MON_HEAP_SZ) = ???

Java Virtual Machine heap size (4KB)    (JAVA_HEAP_SZ) = 2048 --- > usually

Audit buffer size (4KB)                  (AUDIT_BUF_SZ) = 0

Size of instance shared memory (4KB)  (INSTANCE_MEMORY) = ????

Agent stack size                      (AGENT_STACK_SZ) = 128  ----> Usually

Sort heap threshold (4KB)                  (SHEAPTHRES) = 0


## 'Action Plan'':


3) Instead of going through the very large db2support.zip file simply use the script below if you have

http access to the DB or request the customer to provide the output from this script....


SCRIPT:

***********************************************************************

db2pd -dbmcfg -file db2pd.dbmcfg.out

db2pd -database PCO -dbcfg -file

db2pd.dbcfg.out db2pd -dbptnmem -file

db2pd.dbptnmem.out

db2pd -database PCO -inst -memset -file

db2pd.mems.out

db2pd -database PCO -inst -mempools -file

db2pd.memp.out

db2pd -database PCO -inst -memblocks all -file

db2pd.lsmemb.out


************************************************************************


49 Better still IS to capture a recurrence of the Issue, you can use this simple script  

(-If DB is running on AIX or Linux) if on Windows do not bother:


Note: Please if  practically possible use the script below especially when issue is re-occuring

--- > Image may be NSFW.
Clik here to view.
Run the following script as db2 user: - Or have the customer contact person do so: ************************************************************************

dbname=GD2 for i in 1 2 3 4 5 6 7 8 9 10

do

db2pd -osinfo -version > osinfo.v.$i

db2pd -db $dbname -inst -memsets > mems.$i

db2pd -db $dbname -inst -mempools > memp.$i

db2pd -db $dbname -inst -memblocks all > memb.$i

db2 get snapshot for applications on $dbname > appsnap.$i

db2 get snapshot for db on $dbname > dbsnap.$i

db2pd -db $dbname -dbptnmem > dbptnmem.$i

sleep 90 done


************************************************************************

---- > (ii) Thereafter, Restart the Database & cross-check the db2diag.log output for errors.


Basically, the core info needed from the script are actually: 


db2pd -db -inst -memsets 

db2pd -db -inst -mempools 

db2pd -db -inst -memblocks all 

db2pd -db -dbptnmem  


4) If their is only one system on your server landscape, we would recommend that the instance memory be set to about 80% of the total available memory on the machine.


5) If you have DB connection and the DB_MEM_THRESH parameter is not = 100, you could choose to do the following:


db2 update db cfg using DB_MEM_THRESH 100 (Ref: SAP Note#1329179)


contact me with the output of above script & we'd take it from there.

 

Sorry for earlier text malfunctions. 06.10.2015 Message was edited by: Samuel Ifeanyi Ogbogbo


Viewing all articles
Browse latest Browse all 9

Trending Articles