- 浏览: 329812 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (224)
- Java (34)
- Test (3)
- Linux/Unix (32)
- Windows (8)
- Oracle (78)
- Oracle Backup & Recovery (3)
- SqlServer (1)
- Database (3)
- Open Source (2)
- Server Management (1)
- Apache ActiveMQ (1)
- IBM WebSphere MQ (7)
- IBM WAS (15)
- 其它 (11)
- UML (1)
- Tools (1)
- Reference (0)
- Spring (11)
- Hibernate (5)
- VBScript (3)
- Network (1)
- Securities (2)
- Maven (6)
- logging (2)
- Web (1)
- AWS (3)
最新评论
Oracle10g中引用的mutexes机制一定程度的替代了library cache pin,其结构更简单,get&set的原子操作更快捷。
它相当于,每个child cursor下面都有一个mutexes这样的简单内存结构,当有session要执行该SQL而需要pin cursor操作的时候,session只需要以shared模式set这个内存位+1,表示session获得该mutex的shared mode lock.可以有很多session同时具有这个mutex的shared mode lock;但在同一时间,只能有一个session在操作这个mutext +1或者-1。+1 -1的操作是排它性的原子操作。如果因为session并行太多,而导致某个session在等待其他session的mutext +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=?
这样就有了N个SQL Cursor,N个Mutex内存结构,就将争用分散开来,类似partition的作用了。
实际测试效果很明显,当仅一个SQL Cursor的时候,并行执行等待cursor: pin S较高。
发表评论
-
DBCP连接池介绍
2018-09-12 13:17 464目前 DBCP 有两个版本分别是 1.3 和 1.4。 D ... -
Update两表(多表)关联update -- 被修改值由另一个表运算而来
2016-10-22 00:50 996UPDATE trd_sess A SET A.r ... -
GV$LOCKED_OBJECT
2016-09-27 01:21 1140SELECT OBJECT_NAME, MACHINE, ... -
v$sql v$sqlarea v$sqltext v$sql_plan
2015-08-13 16:55 814v$sqltext存储的是完整的SQL,SQL被分割 SQ ... -
Oracle performance tuning
2015-08-10 17:47 608db block get+consistent gets ... -
JDBC driver 的类型 Type 1 Type2 Type3 Type4
2014-06-12 16:01 862在网上下载jdbc驱动程序,常看见type4字样,开始以为是 ... -
undo segment behavior
2014-04-04 19:04 785FAQ – Automatic Undo Managemen ... -
Connect to Oracle DB - Java
2014-04-04 15:14 723import java.sql.*; public ... -
Dataguard网络优化调整
2014-03-31 16:02 964Dataguard网络优化调整 Datagu ... -
Production error ORA-01001, ORA-03120, ORA-01460
2014-03-19 20:38 995ORA-01001: invalid cursor OR ... -
Oracle 常见的33个等待事件
2014-03-12 15:42 4080一. 等待事件的相关知识: 1.1 等待事件主要可以 ... -
WBFC on Exadata
2014-02-27 14:57 8701. "Should we turn on Sto ... -
Oracle dump files
2014-02-27 12:58 674audit_file_dest = C:\ ... -
Adaptive Log File Sync
2014-02-26 19:52 1070Adaptive Log File sync was int ... -
ORA-39046: Metadata remap REMAP_TABLESPACE has already been specified.
2014-01-22 16:01 6729Import: Release 10.2.0.4.0 - 6 ... -
EXPDP – ORA-39142: incompatible version number 3.1
2014-01-22 12:25 1674Using EXPDP export a schema in ... -
Oracle 11g Real Time SQL Monitoring
2014-01-20 17:01 792http://kerryosborne.oracle-guy ... -
java.sql.SQLException: ORA-01001: invalid cursor
2013-12-20 13:59 3796There are three parameters tha ... -
ORA-01013 user requested cancel of current operation
2013-12-20 13:34 2442今天我碰到的case就是timeout引起的。 T ... -
Cannot run sqlplus on Linux with EOF
2013-12-20 11:02 855今天碰到个小问题,记下来,在linux上,不可以run fi ...
相关推荐
在本案例中,"cursor: pin S wait on X"事件的频繁发生导致了sysaux表空间的膨胀,这通常与数据库的游标管理有关。wrh$_active_session_history表存储了这些事件的详细信息,它是由AWR创建并维护的。 1. **AWR的...
3. cursor: pin X, cursor: pin S - 这些等待涉及到游标的固定操作,X代表排他,S代表共享,固定操作通常是保持游标在内存中,防止被早期释放。 4. cursor: pin S wait on X - 当一个线程持有了共享锁并等待排他锁时...
首先,SQL审核服务的目标在于早期发现并解决潜在的性能问题,如在Oracle数据库中,当等待事件"cursor: pin S wait on X"频繁出现时,这通常意味着硬解析(Hard Parse)过于频繁,导致大量的SQL语句版本增加,占用...
19. **Cursor: Pin S**: 共享游标缓存中的游标锁定。优化SQL语句和游标管理可以减少等待。 20. **Library Cache Load**: 库缓存加载等待,通常涉及PL/SQL或SQL的解析。优化SQL代码和预热库缓存可以改善。 剩余的10...
“cursor: pin S wait on X”事件应急处理** - **原因分析**:表明存在会话间共享游标的竞争。 - **应急处置**: - 使用`V$SQL_SHARED_CURSOR`监控共享游标状态。 - 考虑使用绑定变量或SQL提示来减少共享游标...
- **订货代码(Order Code)**:涉及到不同长度范围的传感器,如LZW4-pin connector和5-pin connector以及MB100系列。 ### 物理特性 - **外壳材料**:阳极化铝合金,耐磨抗腐蚀。 - **杆材材料**:不锈钢AISI 431。...
(3)停止->stopped,s,S,2; s Subclass ->指定设备的子类名称,subclass包括什么类型可用参数P显示; t Type ->指定设备类型名称; 查看系统中所有的外置物理磁盘 lsdev -Cc pdisk -s ssar -H name status location ...
11. **在共享池中固定(pin)对象**:介绍了如何将PL/SQL对象固定在共享池中,避免不必要的重新加载。 12. **标识需要被固定的PL/SQL对象**:教授了如何识别哪些PL/SQL对象应该被固定。 13. **使用PL/SQL在共享池中...
加接退耦电容 0.1uF 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用 12MHz),还有辅助电容 30pF 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理 接配置:EA(PIN31)。说明...
- 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 + ...
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 :=...