1.DDL操作需要修改数据字典
2.SEQUENCE:原因是SEQUENCE的NEXTVAL操作对row cache objects以SSX(SHARED SUB_EXVLUSIVE)独占模式获得row cache lock. 当多个进程同时对同一SEQUENCE的NEXTVAL进行调用时会发生:latch:row cache objects等待事件。
如CACHE过小,当CACEH分配的值用完会重新获取一次CACHE,会更新seq$基表并提交---修改ROW CACHE信息,会话会一直持有SQ锁,会出现enq:sq-contention等待事件。---P2值是对象号。
NOCACHE:每次使用NEXTVAL,都要更新seq$基表并提交。
关于SEQUENCE,详见:https://blog.csdn.net/haibusuanyun/article/details/17248029#t2
3.SYS.AUDSED$:ORACLE 10.2.0.4之前SYS.AUDSED$的CACHE值为20,主要用于V$SESSION.AUDSID的取值。当出现大量并发短连接--登陆风暴,容易因SYS.AUDSED$的CACHE值过小引起会话一直持有SQ锁,出现enq:sq-contention等待事件。===解决方法:将SYS.AUDSED$的CACHE值改大。
10.2.0.4之后,SYS.AUDSED$的CACHE值默认为10000.
4.通过远程DBLINK访问的SQL在本地解析时要获取16号row cache child latch,可能会引起争用--可以在内存足够情况下增大共享池及PGA大小,增加session_cache_cursor大小---注意要重启库且要注意增大会占用更多内存。 --此案例见周亮《ORACLE DBA 实战攻略》301页。