`
897371388
  • 浏览: 529235 次
文章分类
社区版块
存档分类
最新评论

ORACLE EVENT -- Wait for scn ack

 
阅读更多

在RAC数据库中为了一致性读,需要将Commit SCN同步/传播到所有的节点上。SCN同步/传播的主要方法有两种:Lamport SCN 和 immediate commit propagation (BOC)。

10gR1 及以下版本默认使用Lamport SCN,SCN在实例间传递是通过GCS MESSAGE来传递的,因此会存在一定的延时,在某些情况下,如果不同实例的SCN不能及时传递,多个节点之间就可能看到不同的数据,导致逻辑错误,Oracle可以通过一个参数来控制SCN的传播延时,这个参数是MAX_COMMIT_PROPAGATION_DELAY,在Oracle9i及Oracle10gR1中,其缺省值是700(7秒),确保SCN传播不得超过7秒,但是7秒已经是一个很长的时间参数。一般每3秒LCK进程就会进行一次跨实例数据交换。如果将该参数设置为0~99,就会禁用Lamport方式,使用BOC方式进行SCN同步。对于一些实时性要求高的RAC数据库Lamport SCN方式是不可取的。如果希望commit SCN 立刻同步/传播到所有节点,手动修改参数MAX_COMMIT_PROPAGATION_DELAY=1

从10gR2开始默认使用immediate commit propagation (BOC),BOC即一个节点上的commit SCN 立刻同步/传播到所有节点,参数_immediate_commit_propagation 设置为TRUE.

SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ FROM SYS.x$ksppi x, SYS.x$ksppcv y WHERE x.indx = y.indx AND x.ksppinm LIKE '%&par%'
  2  /
Enter value for par: _commit

NAME                                     VALUE                DESCRIB
---------------------------------------- -------------------- ------------------------------------------------------------
_immediate_commit_propagation            TRUE                 if TRUE, propagate commit SCN immediately
max_commit_propagation_delay             0                    Max age of new snapshot in .01 seconds

下面是BOC的工作过程:

1. user session 执行提交(commit),user session会通知LGWR进程将redo buffer中的信息写入到redo log file。

2. LGWR进程收到user session通知后,将redo buffer中的信息写入redo log file,同时LGWR 将COMMIT SCN 同步/传播给远程的数据库实例的LMS 进程。

3. 远程数据库实例的LMS将commit SCN同步到本地SCN,然后通知commit实例的LMS,表示SCN 同步已经完成。

4. 当commit 实例的LMS接收到所有远程数据库实例的LMS的通知后,commit 实例的LMS再通知本地的LGWR 所有节点SCN同步已经完成。

5. LGWR 在完成了IO 操作和LMS进程通知后,LGWR通知user session commit 成功。user session在没有收到LGWR通知前,一直处于等待log file sync。


wait for scn ack是实例间进行scn同步的等待事件但是由于等待事件 'wait for scn ack' 不能给出足够的信息量度LGWR发出BOC信息以及收到ACK信息的时间。在10.2.0.5及11gR2中,将增加了一个新的统计信息'redo write broadcast ack time'用于辅助的时间统计。

redo write broadcast ack count -Number of times a commit broadcast acknowledgment has not been received by the time when the corresponding log
write is completed.
redo write broadcast ack time- Total amount of the latency associated with broadcast on commit beyond the latency of the log write (in microseconds). 




分享到:
评论

相关推荐

    oracle patch scn--修改oracle scn工具(oracle异常恢复利器)

    oracle scn修改工具,可以直接修改oracle scn,在极端情况下恢复使用,比如解决ORA-600 2662等类似错误,使用说明:https://www.xifenfei.com/2022/06/win-oracle-scn-patch.html

    PCB设计 SCN-2-19 AD封装.zip PCB设计 SCN-2-19 AD封装.zip

    PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19 AD封装PCB设计 SCN-2-19...

    Oracle 12c-备份恢复学习实践手册合集

    Oracle 12c 闪回技术 Flashback Database.pdf Oracle 12c 闪回技术 Oracle ...Oracle 12c SCN详解.pdf Oracle 12c RMAN备份与恢复数据库.pdf Oracle 12c EXPDP和IMPDP指令详解.pdf Oracle 12c EXP和IMP指令详解.pdf

    个人经验总结:Oracle数据库SCN号详解

    Oracle数据库SCN号详解 系统检查点scn) 数据文件检查点(v$datafile) 数据文件终止scn) 数据文件中存放的检查点 启动scn

    oracle scn

    oracle scnOracle_SCN三篇文章Oracle_SCN三篇文章

    BLOG_Oracle_lhr_Oracle SCN的一点研究.pdf

    BLOG_Oracle_lhr_Oracle SCN的一点研究.pdfBLOG_Oracle_lhr_Oracle SCN的一点研究.pdf

    Oracle SCN机制解析

    SCN(System Chang Number)作为oracle中的一个重要机制,在数据恢复、Data Guard、Streams复制、RAC节点间的同步等各个功能中起着重要作用。理解SCN的运作机制,可以帮助你更加深入地了解上述功能。

    ASIO4ALL_2_9_SCN

    声音类

    Oracle系统改变号SCN详解

    Oracle系统改变号SCN详解.docx

    修改oracle scn小工具(patch scn)

    在一些情况下(特别是一些数据库非常规恢复场景中),需要修改oracle scn绕过一些错误,让数据库open成功,在以前的版本中我们可以通过event,隐含参数,oradebug等方法进行修改,在一些较新的版本中这些方法都被oracle屏蔽,...

    oracle SCN 祥解

    本文档主要对oracle中的scn相关概念作了详细的介绍何解释。 值得深入学习。

    ORACLE SCN问题解析

    在某些环境下,程序bug会引起ORACLE数据库SCN的异常增长,超出ORACLE设定的合理范围,该事件很可能导致宕机,并且由于企业内部存在众多的分布式事务,引起SCN的剧烈增长很容易出现扩散现象,导致更多的数据库宕机。...

    ORACLE SCN异常增长处理

    福建电脑期刊2013年第2期的一篇论文 oracle scn增长过快问题研究和解决方案探索 易金旭

    oracle scn概念解析

    oracle scn分析及概念解释,及各种scn的查询sql语句

    冠醚配合物:[Na3(15-C-5)3(SCN)][Zn(NCS)4]的合成与晶体结构 (2005年)

    研究了15冠5与Na2[Zn(SCN)4]的反应,得到了配合物[Na3(15-C-5)3(SCN)]EZn(NCS)4].通过熔点、红外光谱、元素分析、单晶X-射线衍射对该配合物进行了表征.配合物为正交晶系,空间群为P2(1)2(1)2(1),晶体学数据a=1....

    安全技术-网络信息-SCN中节律行为与生物网络中Motif行为的研究.pdf

    安全技术-网络信息-SCN中节律行为与生物网络中Motif行为的研究.pdf

    Oracle DB SCN 生成率过高技术处理

    关于“Oracle DB SCN 生成率过高” 的技术处理指南

    Oracle Recovery Tools-最新版

    Oracle Recovery Tools是惜分飞(www.xifenfei.com)开发的使用于Oracle数据库恢复的小工具 主要功能: 1. Oracle 单个/批量坏块修复 2. Oracle 单个block...8. 修改oracle进程内存中内容,常见使用于修改oracle scn等

    数据库SCN 监控-new.txt

    Oracle 数据库在2019年 6月23日自动生效了新的SCN 生成的量由以前的16K 涨导 32K,但还是没有根本上解决问题,历史遗留问题还有可能发生,所以我们需要继续监控数据库 SCN 问题

    SCS-CN径流模型中CN值确定方法研究

    径流计算是区域径流量预报和水土资源评价模型中的重要组成部 分.SCS - CN径流模型是一种常用的径流计算方法....结果表明:从模型有效 系数来看,渐近线法得到的模型有效系数最好;从相关系数和合格率来看,算术平均值法的...

Global site tag (gtag.js) - Google Analytics