ITPub博客

首页 > 数据库 > Oracle > SCN知识1

SCN知识1

原创 Oracle 作者:jackjw 时间:2008-08-05 14:55:54 0 删除 编辑

[@more@]

首先这里我们先介绍四个SCN概念。
1
、系统检查点scn当一个检查点动作完成后,Oracle就把系统检查点的SCN存储到控制文件中。
select checkpoint_change# from v$database
;
2
,数据文件检查点scn当一个检查点动作完成后,Oracle就把每个数据文件的scn单独存放在控制文件中。
select name,checkpoint_change# from v$datafile
;
3
,启动scn
Oracle
把这个检查点的scn存储在每个数据文件的文件头中,这个值称为启动scn,因为它用于在数据库实例启动时,检查是否需要执行数据库恢复。

select name,checkpoint_change# from v$datafile_header
4
、终止scn每个数据文件的终止scn都存储在控制文件中。
select name,last_change# from v$datafile
以下条件需要使用using backup controlfile
1
)、使用备份控制文件

2
)、重建resetlogs控制文件,如果重建立noresetlogs不必要使用using backup controlfile


2
、alter database open resetlog 指定RESETLOGS将重设当前LOG sequence number为1,抛弃所有日志信息。以下条件需要使用
resetlog
1
)在不完全恢复(介质恢复)

2
)使用备份控制文件使用resetlogs打开数据库后无必完整地备份一次数据库。
3
、create controlfile resetlogs/noresetlogs
1
).用Noresetlogs重建控制文件时,控制文件中 datafile Checkpoint来自Online logs中的Current log头

2
).用Resetlogs重建控制文件时,控制文件中datafile Checkpoint来自各数据文件头。当system scn,datafile scn,start scn 不全相等,需要介质恢复,如果stopscn null需要实例恢复
resetlogs
抛弃所有在上一次恢复没有用到的日志信息,确保不被重新用与恢复。
1
、系统正常关闭:
system scn=datafile scn=start scn=stop scn
1)system scn=datafile scn=start scn
,不需要介质恢复
2)stopscn not null,
不需要实例恢复
2
、系统异常关闭:
system scn=datafile scn=start scn
,stop scn null
1)system scn=datafile scn=start scn
,不需要介质恢复

2)stopscn null,
需要实例恢复
3
、旧数据文件
system scn=datafile scn>start scn
,stop scn null/notnull
1)system scn=datafile scn>start scn
,需要介质恢复成
system scn=datafile scn=start scn
2)stopscn null,
需要实例恢复,not null 不需要实例恢复

4
、备份控制文件
system scn=datafile scn<=start scn(
当数据文件为旧的相等),stop scn notnull/null
1)system scn=datafile scn<=start scn
,需要使用using backup controlfile介质恢复成system scn=datafile scn=start scn=current log scn(当前日志最大
SCN)
2)
为保证上一次恢复没有用到log日志不被使用,必须
resetlogs
5
、重建noresetlogs控制文件控制文件中 datafile Checkpoint来自Online logs中的Current log头

current log scn=system scn=datafile scn>=start scn,stop scn not null/null
1)current log scn=system scn=datafile scn>=start scn
,需要介质恢复成system scn=datafile scn=start scn=redolog scn(当前日志最大SCN),stop scn not null
2)stopscn not null
不需要实例恢复

6
、重建resetlogs控制文件控制文件中datafile Checkpoint来自各数据文件头。
system scn>=datafile scn=start scn,stop scn not null/null
1)system scn>=datafile scn=start scn
,需要使用using backup controlfile介质恢复成system scn=datafile scn=start scn(当前日志最大
SCN),stop scn not null
2)stop notnull
,因为SCN已经为redolog scn,log已经不能使用,必须resetlogs

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3907/viewspace-1008552/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-09-19

  • 博文量
    39
  • 访问量
    99386