RESETLOGS后没有备份情况下的数据恢复.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RESETLOGS后没有备份情况下的数据恢复

技术的理论基础? HYPERLINK Oracle仅根据系统更改号(SCN)进行恢复操作,所有数据文件必须恢复到同一时间点,并在该点后未作任何改动,才能打开数据库。数据库的SCN是唯一的,并随着数据库生存期间的操作事务增加而增加(可能不连续)。SCN的值永远不会为0,除非重新创建数据库。SCN的序列的递增性不随数据库的任何操作而改变,即使是RESETLOGS也如此。RESETLOGS清除所有联机日志文件中未应用的重做记录,RESETLOGS只重置日志文件的序列号为1,但对SCN无影响,SCN仍按原序列递增。? 在控制文件中保存resetlogs SCN和计数器,以便唯一地标识用RESETLOGS选项执行的每一次打开数据库的操作。这个值被写进每个数据文件头以及重做日志文件。如果重做日志文件的日志序列号与Oracle的要求值不相符,则在恢复中不能应用重做日志文件。执行不完全恢复后,数据库要求日志序列号为1的日志文件,所以原来的日志序列中剩余的日志文件将不可用。RESETLOGS操作创建数据库的新形体,即一个拥有从1开始的新的日志序列号流的数据库。? 根据以上理论,SCN为顺序数据流,在数据库存在期间始终递增,而日志文件序列流也是递增序列,只不过会因RESETLOGS而重置,但日志文件序列流中的SCN序列流却保持递增不便。因此可以用RESETLOGS之前的归档日志流和RESETLOGS之后的归档日志流来连接和延续SCN序列流,这样就实现了用RESETLOGS之前的备份恢复RESETLOGS之后的数据。前提是保证两股日志流(RESETLOGS之前的归档日志流和RESETLOGS之后的归档日志流)完整,并且有相应两股日志流的控制文件。? 即使能够挽救数据,也要满足下列条件? (1)Oracle版本等于或高于7.3.3。? (2)能够成功实现RESETLOGS之前的不完全媒体恢复。? (3)RESETLOGS后没有提供一致备份。? (4)RESETLOGS之前提供一致性备份(冷或热)。? (5)必须备份RESETLOGS之前和之后的控制文件。? (6)分别保存RESETLOGS之前和之后的归档日志文件到不同位置,提供用于恢复的所有归档日志,并保证日志可用。? 建议? (一)强烈建议RESETLOGS之后要备份数据库。? (二)在RESETLOGS前保证数据库以前备份的数据安全,在创建RESETLOGS之后的一个一致性备份之前,一定不可删掉在RESETLOGS前创建的一致数据库备份。如不是为了空间需要,建议永久保留RESETLOGS前创建的一致数据库备份,包括数据文件、控制文件和归档日志。? (三)在RESETLOGS之后立即创建控制文件备份,并把归档日志单独存放。? (四)在以RESETLOGS方式打开数据库前,备份在恢复中用过的所有归档日志和联机重做日志。? (五)进行RESETLOGS后,备份alter.log文件,因为该文件保存着point-in-time恢复后记录的change#(系统更改号SCN)。? (六)把RESETLOGS之前和之后的归档日志文件保存到不同位置,用于恢复。因为可能存在如下情形:如果RESETLOGS之前和之后的归档日志文件保存到相同位置,而RESETLOGS之后的归档日志文件序列号从1开始,随着日志切换的不断发生,新的日志序列号要增长到与RESETLOGS之前日志序列号相同的时候,那时RESETLOGS之前的归档日志文件将被新日志文件覆盖,从而使RESETLOGS之前的日志序列出现空洞。? 实例演示的详细过程? 系统环境? ● 软件环境:Windows Server 2000、Oracle Enterprise Edition 9.0.1、数据库SID:TEST? ● 数据库文件的目录(文件)及意义:? f:\test 在线数据文件和归档日志文件? f:\test1、f:\test2、f:\test3 联机重做日志和在线控制文件? f:\cool\coola 时刻A点的一致性冷备份数据文件目录? f:\cool\archa_b 时刻A、B两点间的归档日志备份目录? f:\cool\archb_c 时刻B、C两点间的归档日志备份目录? f:\cool\ctl_a\ctl.ctl 时刻A点的控制文件备份? f:\cool\ctl_c\ctl.ctl 时刻C点的控制文件备份 操作过程? 本例中首先建立试验用户demo和表空间demo,当前时刻记为A点,用户demo建立表a后,插入数据1、2、3,之后的时刻记为B点,接着插入数据4、5、6后的时刻记为B点,接着模拟丢失B点的数据文件,从A点恢复到B点,用RESETLOGS选项打开数据库后,再向表a插入数据7、8、9,之后的时刻记为C点。此时模拟丢失C点的数

文档评论(0)

82393aa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档