`

cursor: pin S

阅读更多

Oracle10g中引用的mutexes机制一定程度的替代了library cache pin,其结构更简单,get&set的原子操作更快捷。

 

它相当于,每个child cursor下面都有一个mutexes这样的简单内存结构,当有session要执行该SQL而需要pin cursor操作的时候,session只需要以shared模式set这个内存位+1,表示session获得该mutexshared mode lock.可以有很多session同时具有这个mutexshared mode lock;但在同一时间,只能有一个session在操作这个mutext +1或者-1+1 -1的操作是排它性的原子操作。如果因为session并行太多,而导致某个session在等待其他sessionmutext +1/-1操作,则该session要等待cursor: pin S等待事件。

 

当看到系统有很多session等待cursor: pin S事件的时候,要么是CPU不够快,要么是某个SQL的并行执行次数太多了而导致在child cursor上的mutex操作争用。如果是Capacity的问题,则可以升级硬件。如果是因为SQL的并行太多,则要么想办法降低该SQL执行次数,要么将该SQL复制成N个其它的SQL

 

select /*SQL 1*/object_name from t where object_id=?

select /*SQL 2*/object_name from t where object_id=?

select /*SQL …*/object_name from t where object_id=?

select /*SQL N*/object_name from t where object_id=?

这样就有了NSQL Cursor,NMutex内存结构,就将争用分散开来,类似partition的作用了。

实际测试效果很明显,当仅一个SQL Cursor的时候,并行执行等待cursor: pin S较高。

 

分享到:
评论

相关推荐

    awr资料-一些经使用方法参考

    在本案例中,"cursor: pin S wait on X"事件的频繁发生导致了sysaux表空间的膨胀,这通常与数据库的游标管理有关。wrh$_active_session_history表存储了这些事件的详细信息,它是由AWR创建并维护的。 1. **AWR的...

    ORACLE MUTEX

    3. cursor: pin X, cursor: pin S - 这些等待涉及到游标的固定操作,X代表排他,S代表共享,固定操作通常是保持游标在内存中,防止被早期释放。 4. cursor: pin S wait on X - 当一个线程持有了共享锁并等待排他锁时...

    SQL审核服务最佳实践介绍.pptx

    首先,SQL审核服务的目标在于早期发现并解决潜在的性能问题,如在Oracle数据库中,当等待事件"cursor: pin S wait on X"频繁出现时,这通常意味着硬解析(Hard Parse)过于频繁,导致大量的SQL语句版本增加,占用...

    30种oracle常见的等待事件说明.zip_oracle

    19. **Cursor: Pin S**: 共享游标缓存中的游标锁定。优化SQL语句和游标管理可以减少等待。 20. **Library Cache Load**: 库缓存加载等待,通常涉及PL/SQL或SQL的解析。优化SQL代码和预热库缓存可以改善。 剩余的10...

    oracle、应急处置、方案

    “cursor: pin S wait on X”事件应急处理** - **原因分析**:表明存在会话间共享游标的竞争。 - **应急处置**: - 使用`V$SQL_SHARED_CURSOR`监控共享游标状态。 - 考虑使用绑定变量或SQL提示来减少共享游标...

    WAYCON LZW系列导电塑料位移传感器 手册.pdf

    - **订货代码(Order Code)**:涉及到不同长度范围的传感器,如LZW4-pin connector和5-pin connector以及MB100系列。 ### 物理特性 - **外壳材料**:阳极化铝合金,耐磨抗腐蚀。 - **杆材材料**:不锈钢AISI 431。...

    (重要)AIX command 使用总结.txt

    (3)停止->stopped,s,S,2; s Subclass ->指定设备的子类名称,subclass包括什么类型可用参数P显示; t Type ->指定设备类型名称; 查看系统中所有的外置物理磁盘 lsdev -Cc pdisk -s ssar -H name status location ...

    Oracle Database 10g性能调整与优化ch010.pdf

    11. **在共享池中固定(pin)对象**:介绍了如何将PL/SQL对象固定在共享池中,避免不必要的重新加载。 12. **标识需要被固定的PL/SQL对象**:教授了如何识别哪些PL/SQL对象应该被固定。 13. **使用PL/SQL在共享池中...

    51单片机C语言编程基础及实例

    加接退耦电容 0.1uF 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用 12MHz),还有辅助电容 30pF 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理 接配置:EA(PIN31)。说明...

    Bochs - The cross platform IA-32 (x86) emulator

    - Ported most of Qemu's 'virtual VFAT' block driver (except runtime write support, but plus FAT32 suppport) - Added write protect option for floppy drives. - Bugfixes / improved internal debugger + ...

    Oracle_Database10g_性能调整与优化-第10章_使用PLSQL提高性能

    CURSOR cur_employee IS SELECT employee_id, salary, ROWID FROM s_employee_test; lv_new_salary_num NUMBER; lv_count_num PLS_INTEGER := 0; lv_start_time_num PLS_INTEGER; BEGIN lv_start_time_num :=...

Global site tag (gtag.js) - Google Analytics