幾種重要的SCN

简介: 幾種重要的SCN  转自 http://www.cnblogs.com/gkl0818/archive/2009/02/11/1388011.html 1.
 转自

1.Commit SCN

     當用戶提交commit命令后,系統將當前的SCN賦給該Transaction,這些信息都反映在redo buffer中,并馬上更新到redo log文件里

2.Offline SCN

     除了System tablespace以外的任何表空间,当我们执行SQL>alter tablespace … offline normal命令时,就会触发一个checkpoint,将内存中的dirty buffer写入磁盘文件中。Checkpoint完成后,数据文件头会更新checkpoint scn和offline normal scn值。其中数据库文件头的checkpoint scn值可通过查询列x$kccfe.fecps得到。
如果执行SQL>alter tablespace …offline命令时采用temporary或 immediate选项,而不用normal选项时,offline normal scn会被设成0。这样当数据库重启后通过resetlog方式打开时,该表空间就无法再改回在线状态。

3.Checkpoint SCN
  当数据库内存的脏数据块(dirty blocks)写到各数据文件中时,就发生一次checkpoint。数据库的当前checkpoint scn值存在x$kccdi.discn中。Checkpoint scn在数据库恢复中起着至关重要的作用。无论你用何种办法恢复数据库,只有当各个数据库文件的checkpoint scn都相同时,数据库才能打开。
虽然参数“_allow_resetlogs_corruption”可以在checkpoint scn不一致时强制打开数据库,但是这样的数据库在open后必须马上作全库的export,然后重建数据库并import数据。

4.Resetlog SCN
    数据库不完全恢复时,在指定时间点后的scn都无法再应用到数据库中。Resetlog时的scn就被设成当前数据库scn,redo log也会被重新设置。

5.Stop SCN
    Stop scn记录在数据文件头上。当数据库处在打开状态时,stop scn被设成最大值0xffff.ffffffff。在数据库正常关闭过程中,stop scn被设置成当前系统的最大scn值。在数据库打开过程中,Oracle会比较各文件的stop scn和checkpoint scn,如果值不一致,表明数据库先前没有正常关闭,需要做恢复。

6.High and Low SCN
    Oracle的Redo log会顺序纪录数据库的各个变化。一组redo log文件写满后,会自动切换到下一组redo log文件。则上一组redo log的high scn就是下一组redo log的low scn

相关文章
|
存储 SQL Oracle
|
Oracle 关系型数据库 SQL
[20180423]表空间闪回与snapshot standby
[20180423]flashback tablespace与snapshot standby.txt --//缺省建立表空间是打开flashback on,如果某个表空间flashback off,在dg启动snapshot standby时注意,可能"回不来", --//通过测试说明问题.
1237 0
|
关系型数据库 数据库 Oracle
|
Oracle 关系型数据库 数据库
|
数据库
[20161019]数据文件offline后恢复到那个scn
[20161019]数据文件offline后恢复到那个scn号.txt --前一天别人问的问题,如果数据文件offline时,online要恢复,一般恢复到scn是多少,是offline时的scn吗? --总不见得如果长时间offline,要应用许多归档日志吧,通过测试说明问题: 1.
809 0
|
SQL 监控 测试技术
大量redo生成的问题原因及改进
接着上次分享的关于数据库无法登录的原因http://blog.itpub.net/23718752/viewspace-1791089/ 其实最终还是因为在短期内生成了大量的redo,造成了频繁的日志切换,导致归档占用了大量的空间,最后无法登录,从这个层面来说,我们可以做一些工作来尽可能长时间的保留近期的归档,但是我们还可以换一个思路,那就是看看到底是什么操作生成了大量的redo,能不能试着减少redo的生成量。
873 0
|
Oracle 关系型数据库 索引
smon_scn_time ORA-00600 ktspfupdst-1
处理流程如下: 查看数据库日志报错: ORA-00600: internal error code, arguments: [ktspfupdst-1], [], [], [], [], [], [], [], [], [], [], [] Incid...
1089 0
|
移动开发
[20140612]确定每天产生的redo大小
[20140612]确定每天产生的redo大小.txt column h0 format 999 column h1 format 999 column h2 format 999 column h3 format 999 column ...
718 0

热门文章

最新文章