RMAN backup script - RELEASE CHANNEL dilemma
Hello,
We've got over 100 Oracle instances with Netbackup for Oracle agent installed. We backup using RMAN scripts that are quite similar across all instances.
The thing is as observing Oracle backups, sometimes we encounter a nasty issue we don't know how to resolve.
Our RMAN script is quite straightforward:
(1) ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
(2) ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
SEND 'NB_ORA_POLICY=<policy name>';
BACKUP
$BACKUP_TYPE
DATABASE;
sql 'alter system archive log current';
(3) RELEASE CHANNEL ch00;
(4) RELEASE CHANNEL ch01;
# backup all archive logs
(5) ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
(6) ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
SEND 'NB_ORA_POLICY=<policy name>';
BACKUP
filesperset 20
FORMAT 'al_%s_%p_%t'
ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
The issue described below sometimes happens to our DBs and regards to RMAN channel allocation/release.
The problem is that one of the RMAN channels allocated at lines (1) or (2 ) occasionally fails during database backup. The channel failure actually doesn't stop backup, RMAN uses the remaining channel to backup the rest of Oracle data files. After data files backup successfully completes through the remaining channel, RMAN tries to release channel at lines (3) and (4) and eventually generates a error while trying to release the failed channel.
The most important point is that the error raised during releasing of failed channel is transfered by RMAN to NetBackup and the latter treats this error as the failure of entire database backup.
Unfortunately, NetBackup considers this issue as a backup error and invokes another attempt of databse backup. This NetBackup behaviour leads to excessive backups, the same data files are backed up twice.
The most obvious solution is to comment lines (3) and (4) to prevent explicit channel release and use other channel IDs at lines (5) and (6) to prevent errors caused by attempts to open an existing channel.
So my concern are have anyone expirienced the same problem with RMAN backup and what is the best solution under these circumstances?
Comments
Hmm, it was more or less
Hmm, it was more or less understandable 3-4 years ago, but I don't have any idea why to use manual channel allocation nowadays.
Have you checked the automatic allocation option of RMAN? (CONFIGURE DEVICE TYPE SBT PARALLELISM ... etc)
I believe that this can help you with your issue.
Check also this document, especially "channel failover" part: http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmconc1.htm
Btw, management of hundreds of such a messy instances might be a headache. I used to work with such an environment 4-5 years ago and it was really complicated... especially with NBU 5.1 and I perfectly understand your concerns
What version of netbackup,
What version of netbackup, oracle and OS are you using? Sounds like some sort of timeout issue when rman and/or netbackup are waiting for the tape drives to be released. What type of drives and are they local to the oracle server or do they use a media server? Lastly, is their a firewall between the master server and the client or media?
Ok. I think I should jot my
Ok. I think I should jot my environment down here.
We've got NetBackup 6.0 MP6 based backup system. Master server and the vast majority of our media servers run either Solaris 9 or Solaris 10 (entirely SPARC based boxes). Concerning Oracle platform and version, we've got Oracle 9 and 10 instances running on bpth Sun and WIntel boxes.
We usually send our hot backups to IBM tape library and archive logs go to DDSU.
Actually I'm not a DBA, but
Actually I'm not a DBA, but mouse provided very usefull and ponderable reading for our DBA team.
Would you like to reply?
Login or Register to post your comment.