用户名: 密码: 验证码: gdcode
  • 快速导航
  • 开盘数据恢复 RAID数据恢复 PC3000技术 硬盘技术前沿 数据恢复软件
  • 当前位置 :| 首页 > 技术文章 > 数据库邮件修复 >  

    浅析对数据库恢复

    来源:爱恢复网 作者:AHUIFU 时间:2008-07-09 Tag:oracle数据库修复   数据恢复   点击:
    如果我们指定以alter database open resetlogs打开数据库,那么我们当前online line日志的sequence number会归为1,并且之前的日志信息都会被抛弃。

      以下条件需要使用resetlog

      1)在不完全恢复(介质恢复)

    2)使用备份控制文件(backup的控制文件一般从日志文件和数据库的信息以及SCN的信息,相比目前的状态都已经过期了)

      使用resetlogs打开数据库(log sequence number变为1)后无必完整地备份一次数据库。而且这一操作会抛弃所有在上一次恢复没有用到的日志信息,确保不被重新用与恢复。

      在重建控制文件的时候需要注意:

      create controlfile resetlogs/noresetlogs

      1).用noresetlogs重建控制文件时,控制文件中 datafile checkpoint scn来自online logs中的Current log头

      2).用resetlogs重建控制文件时,控制文件中datafile Checkpoint SCN来自各数据文件头(Start SCN)。

      如果system checkpoint scn,datafile checkpoint scn,start scn 不全相等,需要介质恢复.

      如果stopscn null需要实例恢复

      小小的总结一下各种情况:

      1、系统正常关闭:

      会使得:system checkpoint scn = datafile checkpoint scn = start scn = stop scn

      1)system checkpoint scn = datafile checkpoint scn = start scn,不需要介质恢复

      2)stop scn is not null = start SCN,不需要实例恢复

      2、系统异常关闭:

      会使得:system checkpoint scn = datafile checkpoint scn = start scn = stop scn

      1)system checkpoint scn = datafile checkpoint scn = start scn,不需要介质恢复

      2)stop scn is null,需要实例恢复

      3、旧数据文件

      会使得:system checkpoint scn = datafile checkpoint scn > start scn,stop scn is null/ is not null

      1)system checkpoint scn = datafile checkpoint scn > start scn

      需要介质恢复成system checkpoint scn = datafile checkpoint scn = start scn

      2)stop scn is null,需要实例恢复,is not null 不需要实例恢复

      4、备份控制文件

      会使得:system checkpoint scn = datafile checkpoint scn <= start scn(当数据文件为旧且和旧控制文件为同一版本的时候相等,如果数据文件是当前的数据文件则是小于),stop scn notnull/null

      1)system checkpoint scn = datafile checkpoint scn <= start scn,需要使用using backup controlfile介质恢复成system scn = datafile scn = start scn = current log scn(当前日志最大SCN)

      2)为保证上一次恢复没有用到log日志不被使用,必须在恢复完成后用resetlogs打开数据库

      5、以noresetlogs方式重建控制文件

      在以这种方式重建控制文件时,控制文件中的datafile checkpoint scn来自于Online logs中的Current log头,因此

      current log scn = system checkpoint scn = datafile scn >= start scn(如果数据文件为备份而来则会大于start SCN,如果是当前的则为相等于start SCN), stop scn not null/null

      1)current log scn = system checkpoint scn = datafile checkpoint scn >= start scn,因此需要介质恢复成system checkpoint scn = datafile scn = start scn = redolog scn(当前日志最大SCN)

      2)stopscn is not null 不需要实例恢复

      6、以resetlogs方式重建控制文件

      控制文件中datafile checkpoint scn 来自各数据文件头(start scn),而且system checkpoint scn会归为0

      system checkpoint scn < datafile checkpoint scn = start scn,stop scn not null/null

      1)system checkpoint scn < datafile checkpoint scn = start scn,需要使用using backup controlfile介质恢复成system checkpoint scn = datafile checkpoint scn = start scn(当前日志最大SCN),stop scn not null

      2)stopscn is not null 不需要实例恢复,而且因为SCN已经为redolog scn,log已经不能使用,必须用resetlogs方式打开数据库。


    上一篇:Sybase数据库SQL语句REPLACE的对应函数
    下一篇:没有了
    最新评论共有 0 位网友发表了评论
    发表评论
    评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
    用户名: 密码:
    匿名?
    注册
    搜索
  • 关键词:
  • 热点关注
    相关文章
    问答中心  |  爱恢复百科  |  公司库  |  专题  |  培训信息  |  广告招商  |  高级检索  |  网站地图