06 July,2015 by Tom Collins
Question: The DIA8400C A bad page was encountered message appeared in the db2diag.log file
MESSAGE : ZRC=0x86020001=-2046689279=SQLB_BADP "page is bad" DIA8400C A bad page was encountered. Object descriptor, PD_TYPE_SQLB_OBJECT_DESC, 104 bytes Obj: {pool:5;obj:5;type:0} Parent={5;5}
How can I investigate further ?
Answer: From the information provided , the first thing is to check the database object in question.
In the example you’ve presented – It’s the TablespaceID = 5 and TableId = 5 . This query will display the database object
db2 "select char(tabname,20), char(tabschema,20) from syscat.tables where tableid=5 and tbspaceid=5"
Once you’ve identified the object – there are two utilities which ship with DB2- db2dart and INSPECT. They have some differences.
A key difference is INSPECT allows other online connections to the database. Db2dart does not allow other online connections to the database.
Here is an example of a db2dart command.
db2dart MYDB /t /tsi 5 /oi 5 /scr n /rptnn inspctBACKUPObj.rpt
DB2 INSPECT – can be an ONLINE action. i.e connections can continue
Db2 connect to db db2 inspect check database begin TBSPACEID 5 OBJECTID 5 results keep checkts.log
When the report completes , you’ll need to format the output with the db2inspf utility.
To format all errors, warnings and summaries from the data file checkts.out, execute the following:
db2inspf checkts.log checkts_read.txt -e -s –w
An example of errors:
Error: Page header invalid checksum flag set. Error: In page 685344, physical page 685344 of object 5 in tablespace 5, pagesize 32768.
DB2 INSPECT and db2dart are very useful tools . They both ship with DB2 and have adequate documentation for easy implementation. In a future article I will discuss strategies on how to recover from certain error messages.
As well as ensuring you always have a valid backup,the best strategy for database corruption is to avoid it in the first place. Here are some basic steps, that could lower the risk of corruption occurring on a database
1) Be on the lastest DB2 fixpacks.
2) Shut down Db2 gracefully. It is very common for systems administrators to force shutdowns of servers.
3) Maintain regular healthckecks on filesystsems
4) ALWAYS have a valid DB2 backup. Manage the backup retention policy , make sure you have enough database backup copies
Analyzing a DB2 trap file - DBA DB2
DB2 – Managing Diagnostic Logs - DBA DB2
DBA Ignorance , complacency and arrogance experiment - DBA DB2
This is only a preview. Your comment has not yet been posted.
As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.
Having trouble reading this image? View an alternate.
Posted by: |