Retention issues on active DB backups

sandragon

ADSM.ORG Member
Joined
Aug 26, 2014
Messages
52
Reaction score
0
Points
0
My DBAs are in an uproar, claiming that it is TSM's fault that their retention are wrong. They claim to have pushed the RMAN retention out to 49 days. However, despite this, after 15 days their backups are vanishing out of TSM according to some third party retention verification tool.

They're also finding that when they try to call the data back in RMAN, it's not on the TSM server. Now, I know that RMAN creates a unique object every time it calls TDPO to push a file over to the TSM server. What I can't seem to figure out is where the breakdown is between what's being kept on TSM and what's in RMAN. My understanding is that RMAN controls, 100%, what copies are active on the TSM server itself.

We've got a mixed environment, with systems running TDPo 5.5, 7.1.0, and 7.1.3 all exitibing the same behavior. I'm working to bring everything up to 7.1.0 at a minimum (last admin never updated anything, only time new client versions got used were new installs).

Where can I start looking to try and track this down? 20 DB systems all behaving the same way means there's a configuration wrong somewhere. I just don't think it's with TSM.
 
I have a suspicion that the DBAs are not scripting things properly. here's their reply when I asked about how they remove objects.

Your concern about deletion is unnecessary. It is really simple to remove backups DBA just delete the file and metadata are gone within Oracle. If TSM deletes them we simply crosscheck and purge those not found and they are also gone.

Except, TSM should be deleting nothing if RMAN hasn't removed them.

It seems they're using this bit of code to do their cleanup.
Code:
function do_cleanup
{

${ORACLE_HOME}/bin/rman msglog=${ORACLE_BASE}/admin/${ORACLE_SID}/logs/${CLEANLOG} nocatalog<< EOF
connect target /;
allocate channel for maintenance type 'SBT_TAPE' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
delete noprompt obsolete;
release channel;
exit;
EOF
}
 
Since retention and every deletion should be made through RMAN, the correct way to achieve long-term backup is to use "KEEP" in backup script, see https://docs.oracle.com/cd/B10501_01/server.920/a96566/rcmmaint.htm#454735
Value for 'Recovery window' is taken from RMAN configuration, that can be adjusted via one-time command "CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 35 DAYS;" (replace 35 with desired value)
 
I have a suspicion that the DBAs are not scripting things properly. here's their reply when I asked about how they remove objects.



Except, TSM should be deleting nothing if RMAN hasn't removed them.

It seems they're using this bit of code to do their cleanup.
Code:
function do_cleanup
{

${ORACLE_HOME}/bin/rman msglog=${ORACLE_BASE}/admin/${ORACLE_SID}/logs/${CLEANLOG} nocatalog<< EOF
connect target /;
allocate channel for maintenance type 'SBT_TAPE' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
delete noprompt obsolete;
release channel;
exit;
EOF
}
The code is OK.
But the "delete obsolete" depends on the retention policy (RMAN "RECOVERY WINDOW" parameter).
If you have access to RMAN cli enter the following command "show all;"
 
Back
Top