视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
对数据库恢复的理解
2020-11-09 15:44:20 责编:小采
文档


欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 如果我们指定以alter database open resetlogs打开数据库,那么我们当前online line日志的sequence number会归为1,并且之前的日志信息都会被抛弃。 以下条件需要使用resetlog 1)在不完全恢复(介质

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  如果我们指定以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方式打开数据库

下载本文
显示全文
专题