Home >Database >Mysql Tutorial >归档日志丢失造成Rman备份失败解决办法

归档日志丢失造成Rman备份失败解决办法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:15:541000browse

测试库中的archivelog文件被无意删除了,但控制文件中该文件仍标记为有效(见select name,sequence#,resetlogs_id,archived,delet

--测试库的归档日志文件被无意删除了,下面是解决步骤

RMAN> backup as compressed backupset database plus archivelog delete input;

启动 backup 于 24-2月 -12
当前日志已存档
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelog 命令 (在 02/24/2012 01:02:19 上) 失败
RMAN-06059: 没有找到预期的归档日志, 归档日志的丢失将影响可恢复性
ORA-19625: 识别文件E:\Oracle\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00148_0684537946.001时出错
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

RMAN> crosscheck archivelog all;

释放的通道: ORA_DISK_1
释放的通道: ORA_DISK_2
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=138 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=137 devtype=DISK
对归档日志的验证失败
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00149_0684537946.001 记录 ID=94 时间戳 =776048489
对归档日志的验证失败
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00150_0684537946.001 记录 ID=95 时间戳 =776048537
已交叉检验的 2 对象


对归档日志的验证成功
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00148_0684537946.001 记录 ID=93 时间戳 =776048448
已交叉检验的 1 对象


可以用RMAN>delete expired archivelog all;或者以下命令
RMAN> delete archivelog like 'E:\ORACLE\PRODUCT\10.2.0\FLASH%ARC00148%_0684537946.001';


释放的通道: ORA_DISK_1
释放的通道: ORA_DISK_2
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=138 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=137 devtype=DISK


已存档的日志副本列表
关键字     Thrd Seq     S 短时间     名称
------- ---- ------- - ---------- ----
1658    1    148     X 24-2月 -12 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00148_0684537946.001


是否确定要删除以上对象 (输入 YES 或 NO)? yes
已删除的存档日志
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00148_0684537946.001 记录 ID=93 时间戳 =776048448
1 对象已删除


RMAN> backup as compressed backupset database plus archivelog delete input;


启动 backup 于 24-2月 -12
当前日志已存档
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =149 记录 ID=94 时间戳=776048489
输入存档日志线程 =1 序列 =150 记录 ID=95 时间戳=776048537
通道 ORA_DISK_1: 正在启动段 1 于 24-2月 -12
通道 ORA_DISK_2: 启动压缩的归档日志备份集
通道 ORA_DISK_2: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =151 记录 ID=96 时间戳=776048684
通道 ORA_DISK_2: 正在启动段 1 于 24-2月 -12
通道 ORA_DISK_1: 已完成段 1 于 24-2月 -12
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\ORCL_96_ORCLXXXX_1212318678.BAK 标记=TAG20120224T010446 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00149_0684537946.001 记录 ID=94 时间戳 =776048489
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00150_0684537946.001 记录 ID=95 时间戳 =776048537
通道 ORA_DISK_2: 已完成段 1 于 24-2月 -12
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\ORCL_97_ORCLXXXX_1212318678.BAK 标记=TAG20120224T010446 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:02
通道 ORA_DISK_2: 正在删除存档日志
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00151_0684537946.001 记录 ID=96 时间戳 =776048684
完成 backup 于 24-2月 -12


启动 backup 于 24-2月 -12
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 24-2月 -12
通道 ORA_DISK_2: 启动压缩的全部数据文件备份集
通道 ORA_DISK_2: 正在指定备份集中的数据文件
输入数据文件 fno=00003 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件 fno=00002 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
通道 ORA_DISK_2: 正在启动段 1 于 24-2月 -12
通道 ORA_DISK_2: 已完成段 1 于 24-2月 -12
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\ORCL_99_ORCLXXXX_1212318678.BAK 标记=TAG20120224T010450 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:46
通道 ORA_DISK_2: 启动压缩的全部数据文件备份集
通道 ORA_DISK_2: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_2: 正在启动段 1 于 24-2月 -12
通道 ORA_DISK_1: 已完成段 1 于 24-2月 -12
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\ORCL_98_ORCLXXXX_1212318678.BAK 标记=TAG20120224T010450 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:47
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00005 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 24-2月 -12
通道 ORA_DISK_1: 已完成段 1 于 24-2月 -12
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\ORCL_101_ORCLXXXX_1212318678.BAK 标记=TAG20120224T010450 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:23
通道 ORA_DISK_2: 已完成段 1 于 24-2月 -12
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\ORCL_100_ORCLXXXX_1212318678.BAK 标记=TAG20120224T010450 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:24
完成 backup 于 24-2月 -12


启动 backup 于 24-2月 -12
当前日志已存档
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =152 记录 ID=97 时间戳=776048761
通道 ORA_DISK_1: 正在启动段 1 于 24-2月 -12
通道 ORA_DISK_1: 已完成段 1 于 24-2月 -12
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\ORCL_102_ORCLXXXX_1212318678.BAK 标记=TAG20120224T010603 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\ARC00152_0684537946.001 记录 ID=97 时间戳 =776048761
完成 backup 于 24-2月 -12


启动 Control File and SPFILE Autobackup 于 24-2月 -12
段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2012_02_24\O1_MF_S_776048766_7NDWHZWB_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 24-2月 -12

RMAN>

--测试库中的archivelog文件被无意删除了,但控制文件中该文件仍标记为有效(见select name,sequence#,resetlogs_id,archived,deleted,status from v$archived_log结果集中的deleted和status列);故rman做归档备份时还是要备份被无意删除的文件,,但文件已经被物理删除,磁盘上找不到就会报错,通过rman crosscheck archivelog all也可以看到文件已经失效,所以备份之前先将归档文件从控制文件中删除,然后备份就会成功;

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn