ITPub博客

首页 > 数据库 > Oracle > 关于SCN跳变的传播

关于SCN跳变的传播

原创 Oracle 作者:charsi 时间:2016-08-02 11:49:18 0 删除 编辑
我们都知道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博客 ” ,链接:https://blog.itpub.net/23850820/viewspace-2122844/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-05-04

  • 博文量
    96
  • 访问量
    406715