<强> 强>
<强> 强>
<强> 强>
<强> 强>
<强> 强>
,,,,,,,甲骨文序列Cache 参数说明
,,,,,,, http://blog.csdn.net/xujinyang/article/details/6831361
,,,,,,, Oracle 常见的33个等待事件
,,,,,,, http://blog.csdn.net/xujinyang/article/details/6882035
<强>甲骨文为了管理序列使用了以下三种锁强>
,, <强>,,,,,(1)行缓存锁强>
,,,,,,,在调用序列。nextval过程中,将数据字典信息进行物理修改时获取,赋予了nocache属性的序列上发生。
,,,,,, <强>,(2)平方锁,——询问:平方强>
,,,,,,,在内存上缓存(缓存)范围内,调用sequence.nextval期间拥有此锁,赋予了缓存+ noorder 属性的序列上发生。
,,,,,,, <强> (3)SV锁,锁,DFS handle , 强>
,,,,,,, RAC上节点之间顺序得到保障的情况下,调用序列。nextval期间获得,赋予了缓存+订单属性的序列上发生。
,,,,,赋予了缓存属性的顺序调用nextval期间,应该以SSX模式获得平方锁,许多会话同时为了获取平方锁而发生争用过程中,若发生争用,则等待询问:SQ-contention。
,,,,,,,询问:SQ-contention事件的P2值是序列的对象ID,因此,若利用P2值与DBA_OBJECTS的结合,就可以知道对哪,个,顺序发生了等待对象。
,,,,,创建序列赋予的缓存值较小时,有询问:SQ-contention等待增加的趋势,缓存值较小,内存上事先缓存的值很快被耗尽,这时需要将数据字典信息物理修改,再次执行缓存的工作,在此期间,因为一直要拥有平方锁,相应的询问:SQ-contention事件的等待时间也会延长,很不幸的是,在创建序列时,将缓存值的缺省值设定为较小20岁,因此创建使用量最多的序列时,缓存值应该取1000以上的较大值。
,,,,,偶而一次性同时创建许多会话,有时会发生询问:SQ-contention等待事件,其理由是V $会话。AUDSID(审计sessionid),列值是利用序列创建的,甲骨文在创建新的会话后,利用名为SYS.AUDSESS美元的序列的nextval创建AUDSID的值,系统。美元AUDSESS序列的缓存大小的缺省值设定为,20日,许多会话同时连接,可以将系统。AUDSESS美元序列的缓存大小扩大至1000年,以此可以解决,询问:SQ-contention等待问题。
<强> RAC上创建序列时,在赋予了缓存属性的状态下:强>
,,,,,,,(1)若没有赋予订单属性,则各节点将会把不同范围的序列值缓存到内存上,比如拥有两个节点的RAC环境下,创建缓存值为100的,序列时,1节点会使用1 - 100,2节点会使用101 - 200只使用时从各自节点取序列。
,,,,,,,(2)若两个节点之间会通过递增的使用序列,必须赋予如下订单属性。
,,,,,完成创建序列ordered_sequence缓存100订单;
,,,,,,,在order 的情况下,2个节点取的序列是递增的只下文会有示例来说明这两种情况。
,,,,,如果已赋予缓存+订单属性的序列,甲骨文使用SV锁进行行同步,即,对赋予了订单属性的顺序调用nextval时,应该以SSX模式拥有SV锁,在获取SV锁过程中,若发生了争用,不是等待行缓存或者是询问:SQ-contention,而是等待名为DFS门把事件,正因如此V $ EVENT_NAME视图上不存在类似与“询问:SV-contention”
,,,,,,, DFS门把事件是在行动或者RAC环境下,除了,高速缓冲区,同步之外,还有,行高速缓冲区,或者,库高速缓冲区,同步获取锁的过程中的等待事件只,,,,,若保证全局范围内获得锁,在此过程中会发生DFS看处理等待,在获取SV锁的过程中发生的DFS门把等待事件的P1, P2值与询问:SQ-contention等待事件相同对象(P1=模式+名称空间,P2=#)。因此会从P1值能确认是否是SV锁,通过P2可以确认哪些是序列发生过等待。
,,,,,,, SV锁争用问题发生时的解决办法与平方锁的情况相同,就是缓存值进行适当的调整,这也是唯一的方法。
<强>测试1:NOORDER的序列强>
node1:
完成,创建序列seq_noorder从1增加1缓存20 NOORDER;
创建序列。
完成选择seq_noorder。从双nextval;
,,, nextval
- - - - - - - - - - -
,,,,,,,,, 1
完成;/
,,, NEXTVAL
- - - - - - - - - - -
,,,,,,,,, 2
完成;/
,,, NEXTVAL
- - - - - - - - - - -
,,,,,,,,, 3
Node2:
完成,选择seq_noorder。从双nextval;
,,, nextval
- - - - - - - - - - -
,,,,,,,, 21
完成/
,,, NEXTVAL
- - - - - - - - - - -
,,,,,,,, 22日
完成/
,,, NEXTVAL
- - - - - - - - - - -