1

I don't have many experience about RMAN backup. I'm running backup daily level 1 incremental backup and weekly Level 0 incremental. Backup files will kept at 2 difference locations (each location one copy of backup files). My backup command:

run {
allocate channel d1 device type disk format '/nfs_rman_bk/mydb_bk/incr_%d_set%s_piece%p_copy%c_%T_%U','/nfs_rman_bk2/mydb_bk/incr_%d_set%s_piece%p_copy%c_%T_%U';
backup incremental level=1 database plus archivelog ;
backup CURRENT CONTROLFILE FORMAT '/nfs_rman_bk/mydb_bk/ctrl_%d_set%s_piece%p_copy%c_%T_%U','/nfs_rman_bk2/mydb_bk/ctrl_%d_set%s_piece%p_copy%c_%T_%U';
report obsolete;
delete noprompt obsolete;
release channel d1;
}

Everything had run smoothly until this '/nfs_rman_bk2/mydb_bk' location was broken, can not read and write to. Then I only run backup to remaining location '/nfs_rman_bk/mydb_bk'. The RMAN backup command running normally but it failed at this part:

delete noprompt obsolete;

and backup job raised one error message at the end.

man-03009: failure of delete command on d1 channel

If I can not delete obsoleted backup files, the backup location just keep growing until full.

How can I address this problem?

2
  • Hi, man-03009 is a very generic error message which does not indicate anything, please provide the full error sequence. Commented Mar 30, 2022 at 10:24
  • Did you try removing the broken path from the d1 channel definition?
    – mustaccio
    Commented Mar 30, 2022 at 13:34

2 Answers 2

1

As @mustaccio pointed out, the first step is to remove the broken path from the channel definition.

E.g: change the following lines:

allocate channel d1 device type disk format '/nfs_rman_bk/mydb_bk/incr_%d_set%s_piece%p_copy%c_%T_%U','/nfs_rman_bk2/mydb_bk/incr_%d_set%s_piece%p_copy%c_%T_%U';

to:

allocate channel d1 device type disk format '/nfs_rman_bk/mydb_bk/incr_%d_set%s_piece%p_copy%c_%T_%U';

and

backup CURRENT CONTROLFILE FORMAT '/nfs_rman_bk/mydb_bk/ctrl_%d_set%s_piece%p_copy%c_%T_%U','/nfs_rman_bk2/mydb_bk/ctrl_%d_set%s_piece%p_copy%c_%T_%U';

to:

backup CURRENT CONTROLFILE FORMAT '/nfs_rman_bk/mydb_bk/ctrl_%d_set%s_piece%p_copy%c_%T_%U';

Second, you should clean up your current environment. Connect in RMAN and execute the following blocks:

run {
crosscheck archivelog all device type disk;
crosscheck backupset device type disk;
crosscheck copy device type disk;
}
run {
delete noprompt obsolete device type disk;
}
run {
delete noprompt expired archivelog all device type disk;
delete noprompt expired backup device type disk;
delete noprompt expired backupset device type disk;
}

Now execute your backup script.

If somehow it still tries to look after the removed location (/nfs_rman_bk2) then you could try and create a symlink with the nfs_rman_bk2 pointing to the actual location you still have available, nfs_rman_bk.

0

You may do

list backup;

and try to set those backupsets on the bad NFS to status unavailable

change backupset <no> unavailable;

if the device gets accessible again you can set those backupsets available again - or delete them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.