li
  当前位置:主页 > 备份恢复 > 文章内容
li
RMAN备份恢复之归档日志对BLOCKRECOVER的影响 (2)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:14  
本文章共4314字,分3页,当前第2页,快速翻页:
 

因此,除了归档322外,从323到325都与BLOCK 27的修改无关。根据Oracle的文档,这些归档的缺失将不会影响BLOCK 27的恢复。

为了验证文档的说法,下面将归档322到326修改名称,使得Oracle在恢复时无法找到归档日志。

最后执行的几次ALTER SYSTEM SWITCH LOGFILE操作,是确保SEQUENCE为326的联机重做日志已经被重用,避免Oracle利用联机重做日志来代替归档日志。

准备工作完毕,下面开始模拟坏块。仍然是通过UtralEdit对数据文件进行修改,先是定位数据块的偏移地址:

SQL> SHOW PARAMETER BLOCK_SIZE

NAME TYPE VALUE
------------------------------------ ----------- --------------------------
db_block_size integer 8192
SQL> SELECT TO_CHAR(8192 * 27, 'XXXXX') FROM DUAL;

TO_CHA
------
36000

下面对地址36000后面的数据进行修改,并保存。

执行SQL语句,可以看到下面的错误:

SQL> SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM TEST
*
ERROR 位于第 1 行:
ORA-01578: ORACLE 数据块损坏(文件号5,块号27)
ORA-01110: 数据文件 5: 'F:ORACLEORADATATEST1TOOLS01.DBF'

下面可以对损坏的数据块进行BLOCKRECOVER,注意这时归档322到326已经被修改名称。

RMAN> blockrecover datafile 5 block 27;

启动 blockrecover 于 17-6月 -07
正在使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=14 devtype=DISK


通道 ORA_DISK_1: 正在恢复块
通道 ORA_DISK_1: 正在指定要从备份集恢复的块
正在恢复数据文件 00005 的块
通道 ORA_DISK_1: 已从备份段 1 恢复块
段 handle=F:ORACLEORACLE920DATABASEHIKFE30_1_1 tag=TAG20070617T020728 params=NULL
通道 ORA_DISK_1: 块恢复已完成

正在开始介质的恢复

存档日志线程 1 序列 327 已作为文件 F:ORACLEORADATATEST1ARCHIVELOGARC00327.001 存在于磁盘上
存档日志线程 1 序列 328 已作为文件 F:ORACLEORADATATEST1ARCHIVELOGARC00328.001 存在于磁盘上
存档日志线程 1 序列 329 已作为文件 F:ORACLEORADATATEST1ARCHIVELOGARC00329.001 存在于磁盘上
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of blockrecover command at 06/17/2007 02:33:18
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of log thread 1 seq 326 scn 58749837 found to restore
RMAN-06025: no backup of log thread 1 seq 325 scn 58749812 found to restore
RMAN-06025: no backup of log thread 1 seq 324 scn 58749793 found to restore

www.ixdba.net


RMAN-06025: no backup of log thread 1 seq 323 scn 58749778 found to restore
RMAN-06025: no backup of log thread 1 seq 322 scn 58749749 found to restore

这个错误的出现是正常的,由于归档322中包含了对BLOCK 27的修改,下面恢复归档322的原始名称,再次执行恢复:

RMAN> blockrecover datafile 5 block 27;

启动 blockrecover 于 17-6月 -07
使用通道 ORA_DISK_1


通道 ORA_DISK_1: 正在恢复块
通道 ORA_DISK_1: 正在指定要从备份集恢复的块
正在恢复数据文件 00005 的块
通道 ORA_DISK_1: 已从备份段 1 恢复块
段 handle=F:ORACLEORACLE920DATABASEHIKFE30_1_1 tag=TAG20070617T020728 params=NULL
通道 ORA_DISK_1: 块恢复已完成

正在开始介质的恢复

存档日志线程 1 序列 327 已作为文件 F:ORACLEORADATATEST1ARCHIVELOGARC00327.001 存在于磁盘上
存档日志线程 1 序列 328 已作为文件 F:ORACLEORADATATEST1ARCHIVELOGARC00328.001 存在于磁盘上



阅读更多内容<<上一页 · 1 · 2 · 3 · 下一页>>


  上一篇: RMAN备份多个备份集到带库的小bu...   下一篇: RMAN备份恢复之BLOCKRECOVER
li
 §相关评论  
 热点文章

·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 编辑推荐
·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 相关篇章
·RMAN备份多个备份集到带库的小bu...
·RMAN备份恢复之控制文件的恢复(...
·利用NETBACKUP将备份写到磁盘上
·RMAN备份恢复之SPFILE的恢复(一...
·RMAN备份恢复之控制文件的恢复(...
·RMAN备份恢复之SPFILE的恢复(二...
·RMAN备份恢复之控制文件的恢复(...
·RMAN环境变量的设置
·RMAN备份恢复之NETBACKUP客户端存...
·RMAN退出时出现RMAN-6900信息
·RMAN备份恢复之BLOCKRECOVER
·RMAN备份的并行
·使用JOB定时备份数据库
·Rman恢复出现Segment Fault
·RMAN备份过程中调整系统时间的BU...
·RMAN的PIPE接口(二)
·RMAN的PIPE接口
·同一个表空间能否被多个数据库同...
·重建控制文件会导致密码文件发生...
·RMAN备份过程中调整系统时间的BU...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接