ORA-19611: backup piece out of order. Expected string but found string
Cause: This backup piece is out of sequence.
Action: Supply the correct backup piece.
ORA-19611: backup piece out of order
错误说明
ORA-19611错误指出在将备份存档文件还原回数据库时,没有按照预期的顺序来恢复。可能是存档文件被损坏,或者备份程序中存在BUG。
常见案例
案例1:
一个用户使用备份工具将自己的数据库备份,备份文件如下:
Test1.bak
Test2.bak
Test3.bak
Test4.bak
当用户使用上述备份文件尝试恢复数据库时,报出ORA-19611错误,并给出错误信息“backup piece out of order”。
案例2:
一个用户试图使用rman进行完整备份,运行了如下语句:
RMAN> backup datafile all format ‘/u01/backup/%U’;
在运行程序的过程中,报出了ORA-19611的错误:
RMAN-03015: error occurred in stored script Memory Script
RMAN-03019: error while parsing input commands
RMAN-06026: some targets not found – aborting restore
RMAN-06023: no backup or copy of datafile 2 found to restore
ORA-19611: backup piece out of order,系统拒绝将保存在每个备份文件中的块恢复到其原始位置。
解决方法
1. 将备份文件重新编号。检查备份文件,然后按照正确的顺序重新编号,并重新执行备份恢复。例如,如果检查发现缺少Test2.bak,则可以将Test3.bak重命名为Test2.bak,Test4.bak重命名为Test3.bak,然后重新恢复数据库。
2. 重新备份数据库。如果备份文件损坏严重,则可能无法正确恢复数据库。通常情况下,可以重新备份数据库,再尝试恢复。
3. 修复备份数据。RMAN可以检测备份窜口,并尝试自动修复备份数据,执行上述指令可以自动修复损坏的备份:
RMAN>REPAIR FAILURE BACKUPPIECE;
4. 使用RMAN validate命令。使用validate命令可以检查备份文件的正确性,如果发现损坏的备份文件,可以尝试用有效的备份文件来替换。
RMAN> validate backup;