parttime Admin
New Member
Hi Everyone,
I‘m an openedge admin in the making
Progress 11.7.5, Runtime Version
Db disk-size around 700GB (663 GB according to promon), lots of historic Data (running since 15 yrs)
Recent Database Block Usage Summary
Active blocks: 170322260
Data blocks: 170319324
Free blocks: 2936
Empty blocks: 3545172
Extent blocks: 46
Total blocks: 173867432
Recently upgraded from Progress 10.something and spent dozens of hours testing, restoring, copying.
I’d like to purge old data to a) clean up the application and b) being able to subsequently resize the db.
This should speed up backup, restore, copy, idxrebuild and every other db administration task and save my nerves
The data to delete is spread all over the storage areas and all large tables are affected
That’s my layman’s plan
is this a reasonable approach or should i consider alternatives like dump&load,..??
Thank you!
btw here’s a promon snapshot
I‘m an openedge admin in the making
Progress 11.7.5, Runtime Version
Db disk-size around 700GB (663 GB according to promon), lots of historic Data (running since 15 yrs)
Recent Database Block Usage Summary
Active blocks: 170322260
Data blocks: 170319324
Free blocks: 2936
Empty blocks: 3545172
Extent blocks: 46
Total blocks: 173867432
Recently upgraded from Progress 10.something and spent dozens of hours testing, restoring, copying.
I’d like to purge old data to a) clean up the application and b) being able to subsequently resize the db.
This should speed up backup, restore, copy, idxrebuild and every other db administration task and save my nerves
The data to delete is spread all over the storage areas and all large tables are affected
That’s my layman’s plan
- Stepwise delete data from within the application (no other access possible, will take weeks anyway)
Check prostrct db statistics: total Blocks/Area should grow at usual rate, empty Blocks should become significantly more - When done deleting:
Check Percentage of empty Blocks/totalBlocks for each area (single digit at the moment , should rise to appr. 30-40% dep. on how recent data mgmt allows to delete ) - Create new .st file with smaller/fewer extents in \\testserver\dbfdir
Size of fixed extents for each area should be around Blocksize x Active Blocks * 1.01
add 1 variable extent/area - Restore recent production.backup on Testserver with new .st file
- Maybe run idxrebuild (~ 2h) ?
- Roll forward .ai Files since last BU from production-db until test-db is roughly up to date (few minutes lag won‘t harm)
- Stop both dbs (test and production)
this hurts! 24/7 operation with a pain limit of 30 min max. downtime during nighttime - Copy db files from \\testserver\dbfdir to \\production\dbfdir (@approx. 500 MB/s -> current DB ca. 22 min, „new“ smaller DB quicker)
- Start production db and subsequent services
- Enable aiarchiver again
is this a reasonable approach or should i consider alternatives like dump&load,..??
Thank you!
btw here’s a promon snapshot