NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: Oracle安全:SCN的可能最大值与耗尽问题

Oracle安全:SCN的可能最大值与耗尽问题

在2012年第一季度的CPU补丁中,包含了一个关于SCN修正的重要变更,这个补丁提示,在异常情况下,Oracle的SCN可能出现异常增长,使得数据库的一切事务停止,由于SCN不能后退,所以数据库必须重建,才能够重用。   Oracle使用6 Bytes记录SCN,也就是48位,其最大值是:   SQL> col scn for 999,999,999,999,999,999   SQL> select power(2,48) scn from dual;   SCN   ------------------------   281,474,976,710,656   Oracle在内部控制每秒增减的SCN不超过 16K,按照这样计算,这个数值可以使用大约544年:   SQL> select power(2,48) / 16 / 1024 / 3600 / 24 / 365 from dual;   POWER(2,48)/16/1024/3600/24/365   -------------------------------   544.770078   然而在出现异常时,尤其是当使用DB Link跨数据库查询时,SCN会被同步,   一个数据库当前最大的可能SCN被称为"最大合理SCN",该值可以通过如下方式计算:   col scn for 999,999,999,999,999,999   select   (   (   (   (   (   (   to_char(sysdate,'YYYY')-1988   )*12+   to_char(sysdate,'mm')-1   )*31+to_char(sysdate,'dd')-1   )*24+to_char(sysdate,'hh24')   )*60+to_char(sysdate,'mi')   )*60+to_char(sysdate,'ss')   ) * to_number('ffff','XXXXXXXX')/4 scn   from dual   /   这个算法即SCN算法,以1988年1月1日 00点00时00分开始,每秒计算1个点数,最大SCN为16K。     在CPU补丁中,Oracle提供了一个脚本 scnhealthcheck.sql 用于检查数据库当前SCN的剩余情况。   该脚本的算法和以上描述相同,最终将最大合理SCN 减去当前数据库SCN,计算得出一个指标:HeadRoom。也就是SCN尚余的顶部空间,这个顶部空间最后折合成天数:

这篇文章对你多有用?

相关文章

article Oracle安全:SCN的可能最大值与耗尽问题
在2012年第一季度的CPU补丁中,包含了一个关于SCN...

(No rating)  8-24-2012    Views: 809   
article Oracle 维护问题
在维护数据库升级的过程中,会产生n个脚本。谈谈我...

(No rating)  2-20-2014    Views: 1098   
article Oracle安全:SCN可能最大值与耗尽问题
在2012年第一季度的CPU补丁中,包含了一个关于SCN...

(No rating)  6-25-2012    Views: 842   

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited