您的位置:首页 > 其它

数据文件SCN的一致性问题

2009-11-10 14:45 106 查看
空间管理 您的位置: ITPUB个人空间 » superin的个人空间 » 日志

数据文件SCN的一致性问题

上一篇 / 下一篇 2008-04-14 20:29:19 / 个人分类:Backup and Recovery
查看( 61 ) / 评论( 0 ) / 评分( 0 / 0 )

[说明]模仿eygle大师的一篇文章,原文章请参考:http://www.eygle.com/archives/2005/08/eiaescnaeooeaoi.html
回答几个留言板上的问题:
1、[b]数据库正常运行中,所有数据文件的SCN都是一致的吗?
2、将一数据文件offline后,再将其online时,这个数据文件的SCN会前提吗?假如是,前提到的SCN是怎么确定的?[/b]

1. 数据库正常运行时,所有数据文件的SCN不一定一致。
问题在这个所有上,比如Offline表空间,数据文件的SCN会被冻结,而且表空间的数据文件offline/online时又会发生文件检查点,使单个数据文件SCN和数据库其他问题不一致。

2. 表空间online时,Oracle会取得当前SCN,解冻offline文件SCN,和当前SCN同步。
简单的实验就可以清晰地看到这些变化:
SQL> alter system checkpoint;
System altered.
SQL> select file#, checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1656310
2 1656310
3 1656310
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1656317
SQL> alter tablespace users offline;
Tablespace altered.
SQL> select file#, checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1656310
2 1656310
3 1656327
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1656336
SQL> alter tablespace users online;
Tablespace altered.
SQL> select file#, checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 1656310
2 1656310
3 1656342
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1656365
SQL>
如果是单纯的offline datafile,那么将不会触发文件检查点,只有针对offline tablespace的时候才会触发文件检查点,这也是为什么online datafile需要media recovery而online tablespace不需要(编者注:这一点貌似SG或者Online Doc上面有提到)。

实验结果是最好的明证。

以上没有特别注明部分均出自eygle之笔,作为初学者我就直接引用过来全当学习之用:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐