rman Networker library cause datafile corruption
After rman full backup fails with this error:
released channel: t1
released channel: t2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t1 channel at 01/03/2013 10:43:48
ORA-27192: skgfcls: sbtclose2 returned error - failed to close file
ORA-19511: Error received from media manager layer, error text:
Permission denied, user 'daemon' on 'lnki448' does not have 'Operate NetWorker' privilege to perform this operation - NSR.
(2:2:11)
ORA-19505: failed to identify file "/u02/oradata/LKP11/TS_TDE_04.dbf"
ORA-27048: skgfifi: file header information is invalid
Additional information: 44
I show in alert:
Errors in file /u01/app/oracle/diag/rdbms/lnkp11/LKP111/trace/LKP111_dbw0_12189930.trc:
ORA-01157: cannot identify/lock data file 82 - see DBWR trace file
ORA-01110: data file 82: '/u02/oradata/LKP11/TS_TDE_04.dbf'
ORA-27048: skgfifi: file header information is invalid
Additional information: 97
Explanation:
If you are using a solution with RMAN and networker SBT library, combined with networker scheduler you can encounter this issue. Networker scheduler, only supports configure your backup using "root" user to execute backup script.
In some versions of S.O. root user uses a proxy user "daemon", and when finsh backup it does not have permissions to close de file, dont closes the lock over the file and lose the header.
Soluction:
In environment variables sectios of networker shell script, confirure variable ORACLE_USER=<so oracle user> to ensure that networker execute su - oracle to execute rman.
I hope this can help someone!