技术开发 频道

Oracle RAC性能调整

    4)3-way block request的实例


    在此,与上一个实例不同的就是block的请求者与block的master、block的缓冲不在同一个node上。所以总体时间为:

    R(send) + W(small msg) + S(process msg, send) + W(small msg) + S(process msg, process block, send) + W(block) + R(receive block)

    当远程读被挂起,任何在请求Instance上的尝试读写缓冲在buffer中的data 的进程将等待gc buffer busy事件,直到block到达。

    5)2-way grant实例

    6)considered “Lost“ Blocks实例

    如图,此情况为:在请求的block到达前先收到了side channel message。在普通环境中,这是不会发生的。多数情况下它是转换问题的显示或是缺少私有互联。这常与OS或是网络的配置问题有关。

    note:可尝试避免此类现象的发生,通过减小参数DB_FILE_MULTIBLOCK_READ_COUNT的值,使其低于16 。

    7)Global 队列等待overview

    队列等待并不是RAC特有的,但是在RAC环境中涉及到Global lock的操作。多数对队列的Global请求是同步的,并且有前台进程等待。因此,队列冲突在RAC环境中更明显。多数队列等待发生在下列类型的队列:

    *  TX:transaction 队列,用于事务的划分和追踪

    *  TM:table或是partition队列,用于保护DML执行期间table的定义

    *  HW:高水位线队列,取得用于新的block操作的同步

    *  SQ:sequence队列,用于Oracle sequence number的序列化增加

    *  US:undo segment 队列,主要用于自动undo 管理(AUM)的特性

    *  TA:主要用于事务恢复的队列

    上述情况下,等待是同时的,可能造成严重的序列化,从而导致RAC环境的恶化。


 

0
相关文章