在手工xtts时,增量应用时,执行如下脚本,会报ORA-19609: /home/ora11204/xtts/rmancopyincr/xtts_incr_05u9u9dh_1_1_conv_1 is from different backup set: stamp 1017062833 count 5的错误,请帮忙分析下原因?
以下为执行过程:
增量备份:
alter system checkpoint;
select current_scn from v$database; -- 1025757
rman target / <<EOF
run{
allocate channel c1 type disk ;
set until scn=1025757;
backup incremental from scn 1025586 datafile 5,6 format '/home/ora11201/xtts/rmancopyincr/xtts_incr_%U';
release channel c1;
}
EOF
转换:
more incr.sql
set serveroutput on;
set termout on;
set verify off;
DECLARE
handle varchar2(512) ;
comment varchar2(80) ;
media varchar2(80) ;
concur boolean ;
recid number ;
stamp number ;
platfrmto number;
devtype VARCHAR2(512);
BEGIN
BEGIN
sys.dbms_backup_restore.restoreCancel(TRUE);
devtype := sys.dbms_backup_restore.deviceAllocate;
sys.dbms_backup_restore.backupBackupPiece(
bpname => '/home/ora11204/xtts/rmancopyincr/xtts_incr_05u9u9dh_1_1',
fname => '/home/ora11204/xtts/rmancopyincr/xtts_incr_05u9u9dh_1_1_conv_1',
handle => handle, media => media, comment => comment,
concur => concur, recid => recid, stamp => stamp, check_logical => FALSE,
copyno => 1, deffmt => 0, copy_recid => 0, copy_stamp => 0,
npieces => 1, dest => 0,
pltfrmfr => 13);
sys.dbms_backup_restore.backupBackupPiece(
bpname => '/home/ora11204/xtts/rmancopyincr/xtts_incr_06u9u9do_1_1',
fname => '/home/ora11204/xtts/rmancopyincr/xtts_incr_06u9u9do_1_1_conv_1',
handle => handle, media => media, comment => comment,
concur => concur, recid => recid, stamp => stamp, check_logical => FALSE,
copyno => 1, deffmt => 0, copy_recid => 0, copy_stamp => 0,
npieces => 1, dest => 0,
pltfrmfr => 13);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('ERROR IN CONVERSION ' || SQLERRM);
END ;
sys.dbms_backup_restore.deviceDeallocate;
END;
/
exit
$ sqlplus / as sysdba
@incr.sql
增量应用:
ora11204*o11204-/home/ora11204/xtts/rmancopyincr>$more incr_apply.sql
set serveroutput on;
DECLARE
outhandle varchar2(512) ;
outtag varchar2(30) ;
done boolean ;
failover boolean ;
devtype VARCHAR2(512);
BEGIN
DBMS_OUTPUT.put_line('Entering RollForward');
-- Now the rolling forward.
devtype := sys.dbms_backup_restore.deviceAllocate;
sys.dbms_backup_restore.applySetDatafile(check_logical => FALSE, cleanup => FALSE) ;
DBMS_OUTPUT.put_line('After applySetDataFile');
sys.dbms_backup_restore.applyDatafileTo(
dfnumber => 5,
toname => '/ora11204/app/oracle/oradata/O11204/datafile/o1_mf_ts_bb_da_gowptq5f_new.dbf',
fuzziness_hint => 0, max_corrupt => 0, islevel0 => 0,
recid => 0, stamp => 0);
sys.dbms_backup_restore.applyDatafileTo(
dfnumber => 6,
toname => '/ora11204/app/oracle/oradata/O11204/datafile/o1_mf_ts_aa_da_gowq48kp_new.dbf',
fuzziness_hint => 0, max_corrupt => 0, islevel0 => 0,
recid => 0, stamp => 0);
DBMS_OUTPUT.put_line('Done: applyDataFileTo');
-- Restore Set Piece
sys.dbms_backup_restore.restoreSetPiece(
handle => '/home/ora11204/xtts/rmancopyincr/xtts_incr_0au9ubnp_1_1_conv_1',
tag => null, fromdisk => true, recid => 0, stamp => 0) ;
sys.dbms_backup_restore.restoreSetPiece(
handle => '/home/ora11204/xtts/rmancopyincr/xtts_incr_0bu9ubo0_1_1_conv_1',
tag => null, fromdisk => true, recid => 0, stamp => 0) ;
DBMS_OUTPUT.put_line('Done: RestoreSetPiece');
-- Restore Backup Piece
sys.dbms_backup_restore.restoreBackupPiece(
done => done, params => null, outhandle => outhandle,outtag => outtag, failover => failover);
DBMS_OUTPUT.put_line('Done: RestoreBackupPiece');
END;
/
exit
ERROR at line 1:
ORA-19624: operation failed, retry possible
ORA-19870: error while restoring backup piece
/home/ora11204/xtts/rmancopyincr/xtts_incr_05u9u9dh_1_1_conv_1
ORA-19609: /home/ora11204/xtts/rmancopyincr/xtts_incr_05u9u9dh_1_1_conv_1 is
from different backup set: stamp 1017062833 count 5
ORA-06512: at "SYS.DBMS_BACKUP_RESTORE", line 2421
ORA-06512: at line 45
上述报错可能跟增量备份时开的channel有关,开一个通道偶尔也不会报错。
墨值悬赏

