如何診斷cursor pin s wait on x 系列二,cursorpin

來源:互聯網
上載者:User

如何診斷cursor pin s wait on x 系列二,cursorpin

如何分析診斷收集資訊

1.       查看AWR 報告中high paring 和high version部分內容

 

具體查看這幾個部分的內容:'SQLordered by Parse Calls' or 'SQL ordered by Version Count'

 

 

SQL ordered by Parse Calls關於這部分中的sql 解析執行是否過高,或者能否減小來。

SQL ordered by Version Count關於這部分中的high version sql ,需要找出為啥他們不能共用,可以通過 v$sql_shared_cursor  視圖尋找原因

 

2.    systemstats 和errorstack 的關注點

對於systemstats 和errorstack 時效性非常重要。需要在問題發生時刻進行dump ,否則過時採集的資訊是無效的。在一個高速啟動並執行系統中,那些holders and waiter 進程轉瞬即逝。

 

 

根據AWR 的 load profile 部分內容可以初步判斷出 系統 sql 解析情況:

如果看到hard parses 很多,表明系統可能沒有使用綁定變數,或者有新的sql 上線。

 

對於high version counts  也會導致 cursor:ping S wait on X

使用V$SQL_SHARED_CURSOR可以尋找出 sql 不能共用的原因

有些bug可能會導致 high version counts:

Document 1057392.8 Bug 10157392 - High version counts forSQL with binds (BIND_MISMATCH)
Document 9689310.8 Bug 9689310 - Excessive child cursors /high VERSION_COUNT / OERI:17059 due to bind mismatch

 

 

Bug 可能會導致 cursor pin s wait on x :

NB

Bug

Fixed

Description

5650841

Hang / deadlock from ANALYZE of cluster index

16191248

12.1.0.1.1, 12.1.0.2, 12.2.0.0

Hang from concurrent drop of on-commit materialized views or using DBMS_REDEFINITION

14295250

11.2.0.4, 12.1.0.1

Long parse time for large query with many nested views due to much time in epxression analysis code

14191508

11.2.0.3.8, 11.2.0.3.BP16, 11.2.0.4, 12.1.0.1

Slow row cache load due to SEG$ and INDSUBPART$ queries

14176247

11.2.0.4, 12.1.0.1

Many child cursors using Adaptive Cursor Sharing with binds (due to BIND_EQUIV_FAILURE)

18292893

12.1.0.2, 12.2.0.0

Jobs don't execute per schedule with a large number of PDBs

18018515

12.2.0.0

High CPU in qctHasFakeBind (can cause 'cursor: pin S wait on X' waits)

16448569

11.2.0.4, 12.1.0.2, 12.2.0.0

PQ hang/deadlock possible - "cursor: pin S wait on X" waits

16400122

12.2.0.0

Spikes in library cache mutex contention for SQL using SQL Plan Baseline

15850031

11.2.0.4, 12.2.0.0

Rare instance hang: deadlock between 'row cache lock' and 'cursor: pin S wait for X'

14469756

12.2.0.0

Partition pruning causes delay in TBL$OR$IDX$PART$NUM

14302813

11.2.0.4, 12.2.0.0

QC blocked / parse hang for parallel DML executed from remote stored procedure

14029891

11.2.0.4, 12.1.0.1

mutex deadlock having SQL baselines on recursive dictionary cursor

11927619

11.2.0.1.BP11, 11.2.0.2.BP07, 11.2.0.3, 12.1.0.1

DBMS_STATS slow on interval composite partitions

11855965

11.2.0.3, 12.1.0.1

Truncate partition takes long time doing recursive delete on MLOG$

10213073

11.2.0.2.8, 11.2.0.2.BP18, 11.2.0.3, 12.1.0.1

CREATE SYNONYM and CREATE PACKAGE may incorrectly invalidate objects

10171273

11.2.0.2.8, 11.2.0.2.BP08, 11.2.0.3, 12.1.0.1

Long parse time with non-equi subpartitioning under interval partitioning

9944129

11.2.0.1.BP12, 11.2.0.2, 12.1.0.1

SQL not shared due to INST_DRTLD_MISMATCH with global transaction

9935787

11.2.0.3, 12.1.0.1

Long parse time for large inlists - can cause 'cursor: pin S wait on X' waits

9694101

10.2.0.5.7, 11.2.0.2, 12.1.0.1

Hang / deadlock between "cursor: pin S wait on X" and "library cache lock" involving dictionary objects

9499302

10.2.0.5.5, 11.1.0.7.7, 11.2.0.1.BP08, 11.2.0.2, 12.1.0.1

Improve concurrent mutex request handling

9472669

11.2.0.1.BP12, 11.2.0.2, 12.1.0.1

'cursor: pin S wait on X' waits for invalid SQL over DB link

8508078

11.2.0.2, 12.1.0.1

Contention from many concurrent bad SQLs - superseded

12432089

11.2.0.3

library cache lock/cursor: pin S wait on X with parallel partition stats gathering

8441239

11.2.0.1

Library cache lock waits if long running TRUNCATE in progress

8348464

11.1.0.7.2, 11.2.0.1

CREATE SYNONYM and CREATE PACKAGE may incorrectly invalidate objects

7234778

11.2.0.1

Unnecessary "cursor: pin S wait on X" waits

5485914

10.2.0.4

Mutex self deadlock on explain / trace of remote mapped SQL

6143420

10.2.0.5, 11.1.0.6

Deadlock involving "ROW CACHE LOCK" on dc_users AND "CURSOR: PIN S WAIT ON X"

6011045

10.2.0.5.5

DBMS_STATS causes deadlock between 'cursor: pin S wait on X' and 'library cache lock'

7462072

10.2.0.4.3, 10.2.0.5

Unnecessary "cursor: pin S wait on X" waits

5983020

10.2.0.4

MMON deadlock with user session executing ALTER USER

7226463

10.2.0.5

EXECUTE IMMEDIATE no releasing mutex or library cache pin

+

5907779

10.2.0.4

Self deadlock hang on "cursor: pin S wait on X" (typically from DBMS_STATS)

 

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.