RQM: When doing DB2 incremental Backup, why does db2pd show 'dirty' even when the server had no activity at all?
The customer is using incremental backup for CLM.
They are seeing that the backup file size for RQM is as large as when doing a full backup.
We understand this precondition:
• If a table space contains long field or large object data and an incremental backup is taken, all of the long field or large object data will be copied into the backup image if any of the pages in that table space have been modified since the previous backup.
• If you take an incremental backup of a table space that contains a dirty page (that is, a page that contains data that has been changed but has not yet been written to disk) then all large object data is backed up. Normal data is backed up only if it has changed.
However the customer has set aside a full weekend for when they have not touched their clm server at all.
Yet, after using the command db2pd -tablespaces, they have noticed that the values were 'dirty' for all tables after a day, indicating there were some changes.
There is a similar question for ccm here:
https://jazz.net/forum/questions/125614/size-of-db2-incremental-backup-seems-to-be-too-big-for-no-activity-ccm-database
Escalation Questions:
Is there a reason for all table turning 'dirty'? Where/how do these changes take place?
Is it possible to prevent this change? Because with it we cannot perform the incremental backup effectively.
2 answers
There is a command you can use to see how many dirty pages there are:
I got an answer from one of the RTC developers and thought I'd share, as below:
For a running server DB is always being written. Even if you do not login or do anything.
There are several tasks that are executed in the background at regular interval that are constantly changing DB tables. Specially ITEM_CURRENTS, ITEM_STATES, CONTENTS.
And in case there are automated processes associated to the server then other query tables for example results for executions , builds , etc etc are going to be updated when server is not used by any formal user.