我们都知道SCN跳变的主要有两个原因:

1.oracle本身的bug导致

2.dblink传播

对于dblink传播一直有个疑惑,是怎么传播的呢?是只要有连接就会发生跳变,还是需要完成事务才会发生跳变?是源端往目标端传播,还是双向传播?

对此专门做了一个测试

实验结果可以得出:

1.只要使用到dblink,哪怕只是一个普通的查询操作,都会导致scn的跳变

2.跳变无关源端还是目标端。只要有一方的scn较高,就会使另一方的scn发生跳变

3.关于参数_external_scn_logging_threshold_seconds,该参数的单位为秒,设置的最小值是600,即10分钟。如果将该隐含参数设置为600,则如果跳变的时间超过10分钟,则会在日志中报一条类似下面的信息:

Advanced SCN by 3720 minutes worth to 0x03ef.10223022, by XXXXX.?

Client info : DB logon user TC, machine mmm, program sqlplus@mmm (TNS V1-V3), and OS user uuu

注意,这里跳变的时间是600秒(即10分钟)。按照Oracle给的scn增长速度最大16k,即每秒钟最大增长16384,则只有出现一次跳变超过600*16384=9830400时,alert日志中才会记录。

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐