Troubleshooting
Problem
After issuing the "BACKUP DB" command the API session start for $$_TSMDBMGR_$$ is delayed. This delay can be up to several hours.
Symptom
DB Backups do not complete in the time expected.
Cause
This problem can be twofold:
- There are many dirty pages to be flushed to disk
- Disk writes are slow
Environment
Tivoli Storage Manager - IBM Spectrum Protect Server 6.2, 6.3, 7.1, 8.1
Diagnosing The Problem
Before DB2 starts the "BACKUP DB", it flushes dirty pages to disk. The more dirty pages the longer the wait until the API session starts to back up the DB.
Resolving The Problem
The resolution depends on the cause:
Start with the first one. (The default value is 240). The value can be ratcheted down but not lower than 140.
The Tivoli Storage Manager - IBM Spectrum Protect server instance needs to be recycled to make these changes.
These changes cause DB2 to be more aggressive about flushing dirty pages.
1) Poor disk writes. Consult your OS/Hardware team to resolve the disk performance issue.
2) An abundance of dirty pages being flushed to the disk to write.
I) There are 2 DB2 settings that can be changed.
- a) Enable db2_use_alternate_page_cleaning, allows dirty pages to be flushed immediately rather than being flushed when the threshold is reached.
db2 connect to tsmdb1 (assumes the default db name change if yours is different)
db2set (lists all the DB2 registry settings that are set)
If set, you see:
DB2_USE_ALTERNATE_PAGE_CLEANING=ON
To set the page cleaning on issue:
db2set DB2_USE_ALTERNATE_PAGE_CLEANING=ON
b) Lower the chngpgs_thresh (threshold) value from the default, which is typically 60 (percent). Note: If there is no change in waiting for DB2 to send data to the Tivoli Storage Manager API, then the buffer can be flushed by using the db2pdcfg command:
db2pdcfg -db <dbname> -flushbp- To verify whether the settings are active and correct for chngpgs_thresh:
db2 connect to tsmdb1 (assumes the default db name change if yours is different)
db2 get db cfg for tsmdb1 show detail > /tmp/dbcfg.out
To change the chngpgs_thresh issue:
db2 update db cfg using chngpgs_thresh ##
(where ## is the percentage you want to use)
- To verify whether the settings are active and correct for chngpgs_thresh:
II) Additional Tivoli Storage Manager - IBM Spectrum Protect settings
You might get some marginal improvement by changing the following settings by using Tivoli Storage Manager - IBM Spectrum Protect server options:
Tivoli Storage Manager - IBM Spectrum Protect 6.1, 6.2, 6.3, 7.1
- DBPAGEAGETRGTMCR 200
- SOFTMAX 0
Start with the first one. (The default value is 240). The value can be ratcheted down but not lower than 140.
The Tivoli Storage Manager - IBM Spectrum Protect server instance needs to be recycled to make these changes.
These changes cause DB2 to be more aggressive about flushing dirty pages.
Tivoli Storage Manager - IBM Spectrum Protect 8.1
- DBPAGEAGETRGTMCR 200
- SOFTMAX 0 <--- Starting DB2 11.1 the softmax parameter is replaced with the new page_age_trgt_mcr and page_age_trgt_gcr parameters, which are both configured as a number of seconds. See the following DB2 link for more information:
https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.admin.config.doc/doc/r0000242.html
Notes:
Existing upgraded databases continue to use the SOFTMAX parameter. You can check whether the DB is using SOFTMAX by querying the database configuration and checking the value of this parameter. You can switch from using softmax to these new parameters by setting the value of SOFTMAX to 0.
As the instance ID
db2 connect to <dbname>
db2 get db cfg
Example of settings:
Percent log file reclaimed before soft chckpt (SOFTMAX) = 0
Target for oldest page in LBP (PAGE_AGE_TRGT_MCR) = 240
Percent log file reclaimed before soft chckpt (SOFTMAX) = 0
Target for oldest page in LBP (PAGE_AGE_TRGT_MCR) = 240
Older DBs might not have PAGE_AGE_TRGT_GCR
Softmax set to 0 means activate the use of the PAGE_AGE_TRGT_MCR, which defaults to 240 (seconds).
IBM Spectrum Protect has no recommended change for PAGE_AGE_TRGT_GCR
To update the DBPageAgeTrgtMCR parameter issue from DB2:
db2 update db cfg using PAGE_AGE_TRGT_MCR ### (where ### is the value like 200)
db2 get db cfg show detail or db2 get db cfg can be used to confirm the changed parameter
Tivoli Storage Manager was rebranded at Server level 7.1.3 to IBM Spectrum Protect
[{"Product":{"code":"SSGSG7","label":"Tivoli Storage Manager"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Server","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF025","label":"Platform Independent"},{"code":"PF033","label":"Windows"}],"Version":"6.2;6.3;7.1","Edition":"Edition Independent","Line of Business":{"code":"LOB26","label":"Storage"}}]
Product Synonym
TSM ADSM ITSM IBM Spectrum Protect
Was this topic helpful?
Document Information
Modified date:
09 March 2022
UID
swg21689912