Discussion:
cursor: mutex S + library cache lock + library cache: mutex X = disaster
nico torres
2014-11-03 17:58:29 UTC
Permalink
Hi, list.
I've had this situation last saturday. I got a call, telling me that no
application could get into the database; checked alert log, ORA-00018:
maximum number of sessions exceeded everywhere.
Db host felt kind of clunky and slow, so I checked htop, 100% utilization
on all CPU's, around *462 load*, wow.
Tried to log / as sysdba, naturally couldn't, tried with -prelim flag,
neither.
I finally could get into the database, and immediately run snapper, and
what I saw was all sessions waiting for "*cursor: mutex S*", with no
running queries, no sql_id available. So I came into the conclussion that
all sesions hung with the same wait, and in the same time, applications
logged in more and more sessions, so it reached max sessions and nobody
else could login.
All of those sessions had different blockers, blocking each other, and
different object#, so I coulnd't find a main culprit either.
Tried killing those sessions, couldn't; Tried closing the instance with a
shutdown immediate and it got hung, so I ended up issuing a shutdown abort.
Instance closed, and started up pretty fast and things got back to normal.
Looking at AWR snaps from that timestamp, I got:


Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avg

wait % DB
Event Waits Time(s) (ms)
time
------------------------------ ------------ ----------- ------ ------
cursor: mutex S 20,166,853 1,057,135 52 86.5
library cache lock 90,243 91,516 1014 7.5
DB CPU 43,678
3.6
library cache: mutex X 74,002 10,816 146 .9
db file sequential read 276,847 1,417 5 .1

As expected, lots of "cursor: mutex S", but also Library cache lock and
library cache:mutex X.

Load Profile Per Second Per Transaction
~~~~~~~~~~~~ --------------- ---------------
DB Time(s): 249.6 1.4
DB CPU(s): 8.9 0.1
Redo size: 77,451.6 438.3
Logical reads: 29,037.2 164.3
Block changes: 320.9 1.8
Physical reads: 70.3 0.4
Physical writes: 23.5 0.1
User calls: 755.3 4.3
Parses: 197.7 1.1
Hard parses: 0.2 0.0
W/A MB processed: 0.1 0.0
Logons: 1.9 0.0
Executes: 203.8 1.2
Rollbacks: 173.7 1.0
Transactions: 176.7

Hard parses not a concern here.

Statistic Name Time (s)
% of DB Time
------------------------------------------ ------------------ ------------
parse time elapsed 1,217,693.8
99.6
connection management call elapsed time 868,991.0 71.1
DB CPU
43,677.7 3.6

All sessions clearly hung at parse time.

Foreground Wait Events
cursor: mutex S 20,166,853 100 1,057,135 52 23.3
86.5
library cache lock 90,243 0 91,516 1014
0.1 7.5
library cache: mutex X 74,002 0 10,816 146 0.1
.9
db file sequential read 276,847 0 1,417 5 0.3
.1
cursor: pin S wait on X 94 0 164 1749
0.0 .0

I searched around MOS and some bugs appeared, but couldn't find one that
matches entirely.

Some information about the database:
-------------------------

Oracle *11.2.0.1**, *it needs some patching urgently and a bug is my main
suspect.

It uses ASSM
begin end
SGA use (MB): 6,656.0 6,656.0
PGA use (MB): 561.1 1,213.3

Cache sizes between the snaps:
Buffer Cache: 3,840M
Shared Pool Size: 2,496M


Parameters:

memory_target: 13421772800
open_cursors 300
processes 600
sessions 928
session_cached_cursors 50

Could anyone please give me some advice on how to further investigate this
issue? Any other information needed?

Thanks
nico torres
2014-11-03 19:24:31 UTC
Permalink
John:

The machine has 16 cores, 2 sockets, it's a virtual machine on a server
cluster, what should I look into?

Thanks!

Nico
Nico,
Sounds like it could be CPU oversubscription - while there are bugs
related to cursor%mutex% waits, I would this first.
How many CPU cores are there on your machine?
Post by nico torres
Hi, list.
I've had this situation last saturday. I got a call, telling me that no
maximum number of sessions exceeded everywhere.
Db host felt kind of clunky and slow, so I checked htop, 100% utilization
on all CPU's, around *462 load*, wow.
Tried to log / as sysdba, naturally couldn't, tried with -prelim flag,
neither.
I finally could get into the database, and immediately run snapper, and
what I saw was all sessions waiting for "*cursor: mutex S*", with no
running queries, no sql_id available. So I came into the conclussion that
all sesions hung with the same wait, and in the same time, applications
logged in more and more sessions, so it reached max sessions and nobody
else could login.
All of those sessions had different blockers, blocking each other, and
different object#, so I coulnd't find a main culprit either.
Tried killing those sessions, couldn't; Tried closing the instance with
a shutdown immediate and it got hung, so I ended up issuing a shutdown
abort. Instance closed, and started up pretty fast and things got back to
normal.
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms)
time
------------------------------ ------------ ----------- ------ ------
cursor: mutex S 20,166,853 1,057,135 52 86.5
library cache lock 90,243 91,516 1014 7.5
DB CPU 43,678
3.6
library cache: mutex X 74,002 10,816 146 .9
db file sequential read 276,847 1,417 5
.1
As expected, lots of "cursor: mutex S", but also Library cache lock and
library cache:mutex X.
Load Profile Per Second Per Transaction
~~~~~~~~~~~~ --------------- ---------------
DB Time(s): 249.6 1.4
DB CPU(s): 8.9 0.1
Redo size: 77,451.6 438.3
Logical reads: 29,037.2 164.3
Block changes: 320.9 1.8
Physical reads: 70.3 0.4
Physical writes: 23.5 0.1
User calls: 755.3 4.3
Parses: 197.7 1.1
Hard parses: 0.2 0.0
W/A MB processed: 0.1 0.0
Logons: 1.9 0.0
Executes: 203.8 1.2
Rollbacks: 173.7 1.0
Transactions: 176.7
Hard parses not a concern here.
Statistic Name Time
(s) % of DB Time
------------------------------------------ ------------------ ------------
parse time elapsed
1,217,693.8 99.6
connection management call elapsed time 868,991.0
71.1
DB CPU
43,677.7 3.6
All sessions clearly hung at parse time.
Foreground Wait Events
cursor: mutex S 20,166,853 100 1,057,135 52 23.3
86.5
library cache lock 90,243 0 91,516 1014
0.1 7.5
library cache: mutex X 74,002 0 10,816 146
0.1 .9
db file sequential read 276,847 0 1,417 5
0.3 .1
cursor: pin S wait on X 94 0 164 1749
0.0 .0
I searched around MOS and some bugs appeared, but couldn't find one that
matches entirely.
-------------------------
Oracle *11.2.0.1**, *it needs some patching urgently and a bug is my
main suspect.
It uses ASSM
begin end
SGA use (MB): 6,656.0 6,656.0
PGA use (MB): 561.1 1,213.3
Buffer Cache: 3,840M
Shared Pool Size: 2,496M
memory_target: 13421772800
open_cursors 300
processes 600
sessions 928
session_cached_cursors 50
Could anyone please give me some advice on how to further investigate
this issue? Any other information needed?
Thanks
natalka roshak
2014-11-03 21:30:24 UTC
Permalink
Hi Nico, did you take a hanganalyze dump? "oradebug hanganalyze 3"

The hanganalyze dump shows wait chains from the hang analysis cache,
also accessible via v$wait_chain. I haven't used snapper, but I googled
it & it doesn't seem to query v$wait_chains.

If you didn't happen to take a hanganalyze dump: I haven't tried this AT
ALL, but I just ran across another script by snapper's author Tanel
Poder, which seems to pull wait chains from the active session history:
http://blog.tanelpoder.com/files/scripts/ash/ash_wait_chains.sql or
http://blog.tanelpoder.com/files/scripts/ash/dash_wait_chains.sql

-Natalka
--
Natalka Roshak | RAC/Storage BDE
Oracle <http://www.oracle.com/index.html>Global Product Support
45 O'Connor St, Suite 400 | Ottawa, Canada
Post by nico torres
The machine has 16 cores, 2 sockets, it's a virtual machine on a
server cluster, what should I look into?
Thanks!
Nico
Nico,
Sounds like it could be CPU oversubscription - while there are
bugs related to cursor%mutex% waits, I would this first.
How many CPU cores are there on your machine?
Hi, list.
I've had this situation last saturday. I got a call, telling
me that no application could get into the database; checked
alert log, ORA-00018: maximum number of sessions exceeded
everywhere.
Db host felt kind of clunky and slow, so I checked htop, 100%
utilization on all CPU's, around *462 load*, wow.
Tried to log / as sysdba, naturally couldn't, tried
with -prelim flag, neither.
I finally could get into the database, and immediately run
mutex S*", with no running queries, no sql_id available. So I
came into the conclussion that all sesions hung with the same
wait, and in the same time, applications logged in more and
more sessions, so it reached max sessions and nobody else
could login.
All of those sessions had different blockers, blocking each
other, and different object#, so I coulnd't find a main
culprit either.
Tried killing those sessions, couldn't; Tried closing the
instance with a shutdown immediate and it got hung, so I ended
up issuing a shutdown abort. Instance closed, and started up
pretty fast and things got back to normal.
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time
------------------------------ ------------ ----------- ------ ------
cursor: mutex S 20,166,853 1,057,135 52 86.5
library cache lock 90,243 91,516 1014 7.5
DB CPU 43,678 3.6
library cache: mutex X 74,002 10,816 146 .9
db file sequential read 276,847 1,417 5 .1
As expected, lots of "cursor: mutex S", but also Library cache
lock and library cache:mutex X.
Load Profile Per Second Per Transaction
~~~~~~~~~~~~ --------------- ---------------
DB Time(s): 249.6 1.4
DB CPU(s): 8.9 0.1
Redo size: 77,451.6 438.3
Logical reads: 29,037.2 164.3
Block changes: 320.9 1.8
Physical reads: 70.3 0.4
Physical writes: 23.5 0.1
User calls: 755.3 4.3
Parses: 197.7 1.1
Hard parses: 0.2 0.0
W/A MB processed: 0.1 0.0
Logons: 1.9 0.0
Executes: 203.8 1.2
Rollbacks: 173.7 1.0
Transactions: 176.7
Hard parses not a concern here.
Statistic Name Time (s) % of
DB Time
------------------------------------------ ------------------ ------------
parse time elapsed 1,217,693.8 99.6
connection management call elapsed time
868,991.0 71.1
DB CPU 43,677.7 3.6
All sessions clearly hung at parse time.
Foreground Wait Events
cursor: mutex S 20,166,853 100 1,057,135
52 23.3 86.5
library cache lock 90,243 0 91,516 1014 0.1
7.5
library cache: mutex X 74,002 0 10,816
146 0.1 .9
db file sequential read 276,847 0 1,417 5
0.3 .1
cursor: pin S wait on X 94 0 164 1749 0.0 .0
I searched around MOS and some bugs appeared, but couldn't
find one that matches entirely.
-------------------------
Oracle *11.2.0.1*/, /it needs some patching urgently and a bug
is my main suspect.
It uses ASSM
begin end
SGA use (MB): 6,656.0 6,656.0
PGA use (MB): 561.1 1,213.3
Buffer Cache: 3,840M
Shared Pool Size: 2,496M
memory_target: 13421772800
open_cursors 300
processes 600
sessions 928
session_cached_cursors 50
Could anyone please give me some advice on how to further
investigate this issue? Any other information needed?
Thanks
Tanel Poder
2014-11-04 04:01:00 UTC
Permalink
You can look into ASH data from around your problem time - the P1 parameter
for cursor/mutex waits shows the library cache object hash value (or likely
the libcache hash bucket if it's less than 131072).
SQL> *@ash/dashtop* event,top_level_call_name,sql_opname,p1text,p1 "event
like 'cursor%'" "TIMESTAMP'2014-11-03 00:40:05'" "TIMESTAMP'2014-11-03
21:41:05'"

%This EVENT TOP_LEVEL_CALL_NAME SQL_OPNAME
P1TEXT *P1* TotalSeconds FIRST_SEEN
LAST_SEEN
------ ------------------------------ -------------------------
--------------- -------------------- ---------- ------------
------------------- -------------------
33% cursor: pin S wait on X LOB/FILE operations SELECT
*idn* *3309402135* 10 2014-10-27 12:35:19
2014-10-27 12:35:19
33% cursor: pin S wait on X VERSION2 SELECT
idn 3309402135 10 2014-10-27 12:35:19
2014-10-27 12:35:19
33% cursor: pin S wait on X VERSION2 SELECT
idn 3363682207 10 2014-10-13 04:15:32
2014-10-13 04:15:32

In addition to the P1 you can also use the *top_level_call_name* field in
ASH to see what kind of DB calls your sessions were trying to execute
during the problem (like LOGON / OAUTH).

Now query v$db_object_cache by the hash value (or x$kglob.kglnahsv if DB
ver is older than 11.2):

SQL> SELECT * FROM *v$db_object_cache* WHERE hash_value = *3309402135*
2 @pr
Pivoting output using Tom Kyte's printtab....
==============================
OWNER :
NAME : select
pos#,intcol#,col#,spare1,bo#,spare2,spare3 from icol$ where obj#=:1
DB_LINK :
NAMESPACE : SQL AREA
TYPE : CURSOR
SHARABLE_MEM : 20232
LOADS : 2
EXECUTIONS : 14031
LOCKS : 1
PINS : 0
KEPT : NO
CHILD_LATCH : 0
INVALIDATIONS : 1
HASH_VALUE : 3309402135
LOCK_MODE : NULL
PIN_MODE : NONE
STATUS : VALID
TIMESTAMP : 2014-10-30/15:08:02
PREVIOUS_TIMESTAMP :
LOCKED_TOTAL : 779
PINNED_TOTAL : 14832
PROPERTY :
FULL_HASH_VALUE : 346f70cda3227d855a05d824c5417817
CON_ID : 0
CON_NAME :
ADDR : 00000000C56F0548


But as you saw all kinds of different blockers contributing to the issue,
then especially if you do see lots of different P1 values for your waits,
it looks like that you had some systemic problem that caused processes to
hold their mutexes for very long time (CPU overload / scheduling
unfairness, memory shortage/paging, VM resource scheduling issues). The
fact that you ran out of sessions indicates that you have a connection pool
configured that started up many new connections, greatly amplifying this
performance problem.

Tanel
Post by nico torres
Hi, list.
I've had this situation last saturday. I got a call, telling me that no
maximum number of sessions exceeded everywhere.
Db host felt kind of clunky and slow, so I checked htop, 100% utilization
on all CPU's, around *462 load*, wow.
Tried to log / as sysdba, naturally couldn't, tried with -prelim flag,
neither.
I finally could get into the database, and immediately run snapper, and
what I saw was all sessions waiting for "*cursor: mutex S*", with no
running queries, no sql_id available. So I came into the conclussion that
all sesions hung with the same wait, and in the same time, applications
logged in more and more sessions, so it reached max sessions and nobody
else could login.
All of those sessions had different blockers, blocking each other, and
different object#, so I coulnd't find a main culprit either.
Tried killing those sessions, couldn't; Tried closing the instance with a
shutdown immediate and it got hung, so I ended up issuing a shutdown abort.
Instance closed, and started up pretty fast and things got back to normal.
Tanel Poder
2014-11-04 04:03:05 UTC
Permalink
Note that I had a bug in the dashtop.sql that I just fixed and I've
reuploaded the script here:

http://blog.tanelpoder.com/files/scripts/ash/dashtop.sql
--
*Tanel Poder*
Enkitec (The Exadata Experts)
Services <http://enkitec.com> | Training
<http://blog.tanelpoder.com/seminar/> | Troubleshooting
<http://blog.tanelpoder.com/> | Exadata Book
<http://www.amazon.com/Expert-Oracle-Exadata-Apress/dp/1430233923>
Post by Tanel Poder
You can look into ASH data from around your problem time - the P1
parameter for cursor/mutex waits shows the library cache object hash value
(or likely the libcache hash bucket if it's less than 131072).
like 'cursor%'" "TIMESTAMP'2014-11-03 00:40:05'" "TIMESTAMP'2014-11-03
21:41:05'"
nico torres
2014-11-04 21:08:57 UTC
Permalink
First of all, thank you all for the invaluable help, i wouldn't have hit
the spot without it.

Well, I think i've stumbled upon this:

Database Hangs With Excessive Cursor Mutex S Waits Due to Sys.Aud$ Cursors
(Doc ID 1423386.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?id=1423386.1&_adf.ctrl-state=g572lalmx_67&_afrLoop=317155210393324

As Mr. poder adviced, I run:

***@xxxxxx@db01>@ash/dashtop event,top_level_call_name,sql_opname,p1text,p1
"(event like '%mutex%' or event like '%library%')" "TIMESTAMP'2014-11-01
15:30:00'" "TIMESTAMP'2014-11-01 16:30:00'"

%This EVENT TOP_LEVEL_CALL_NAME SQL_OPNAME
P1TEXT P1 TotalSeconds FIRST_SEEN LAST_SEEN
------
-----------------------------------------------------------------------------------------------------------------------------------------------------
88% cursor: mutex S LOGOFF
idn 1097020010 135070 2014-11-01 15:36:31 2014-11-01
16:21:39
12% library cache lock LOGOFF
handle address 14818538720 17790 2014-11-01 15:36:41 2014-11-01
16:21:39
0% library cache: mutex X LOGOFF
idn 98868131 160 2014-11-01 16:20:59 2014-11-01
16:21:39


***@xxxxxx@db01>SELECT * FROM v$db_object_cache WHERE hash_value =
1097020010;

==============================
OWNER :
NAME : insert into sys.aud$(
sessionid,entryid,statement,ntimestamp#,
userid,userhost,terminal,action#,returncode, logoff$lread,logoff$pread,
logoff$lwrite,logoff$dead,
logoff$time,comment$text,spare1,clientid,sessioncpu,proxy$sid,user$guid,
instance#,process#,auditid,dbid)
values(:1,:2,:3,SYS_EXTRACT_UTC(SYSTIMESTAMP),
:4,:5,:6,:7,:8, :9,:10,:11,:12, cast(SYS_EXTRACT_UTC(systimestamp)
as date),
:13,:14,:15,:16,:17,:18, :19,:20,:21,:22)
DB_LINK :
NAMESPACE : SQL AREA
TYPE : CURSOR
SHARABLE_MEM : 40952
LOADS : 1
EXECUTIONS : 315
LOCKS : 0
PINS : 0
KEPT : NO
CHILD_LATCH : 0
INVALIDATIONS : 0
HASH_VALUE : 1097020010
LOCK_MODE : NONE
PIN_MODE : NONE
STATUS : VALID
TIMESTAMP : 2014-11-01/16:35:59
PREVIOUS_TIMESTAMP :
LOCKED_TOTAL : 318
PINNED_TOTAL : 637
==============================


So it appears i have some patching to do.


I'd like to clarify, When I saw all kind of blockers and objects,I referred
to this information:

select sample_time,session_id,event,p1,blocking_session,current_obj#
from dba_hist_active_sess_history s
where sample_time between to_date('20141101 15:30:00','yyyymmdd
hh24:mi:ss') and to_date('20141101 16:30:00','yyyymmdd hh24:mi:ss')
and event = 'cursor: mutex S'
and session_type='FOREGROUND'
order by 1;

SAMPLE_TIME SESSION_ID EVENT P1 BLOCKING_SESSION CURRENT_OBJ#
---------------------------------------------------------------------------
---------- ----------------------------------------------------------------
---------- ---------------- ------------
11/1/2014 3:36:31.946 PM 776 cursor: mutex S 1097020010 71 62571
11/1/2014 3:36:51.986 PM 840 cursor: mutex S 1097020010 71 56765
11/1/2014 3:36:51.986 PM 815 cursor: mutex S 1097020010 71 -1
11/1/2014 3:36:51.986 PM 719 cursor: mutex S 1097020010 479 -1
11/1/2014 3:36:51.986 PM 83 cursor: mutex S 1097020010 195 -1
11/1/2014 3:36:51.986 PM 584 cursor: mutex S 1097020010 535 -1
11/1/2014 3:36:51.986 PM 552 cursor: mutex S 1097020010 4 18262
11/1/2014 3:36:51.986 PM 531 cursor: mutex S 1097020010 72 -1
11/1/2014 3:36:51.986 PM 526 cursor: mutex S 1097020010 362 -1
11/1/2014 3:36:51.986 PM 245 cursor: mutex S 1097020010 872 -1
11/1/2014 3:36:51.986 PM 880 cursor: mutex S 1097020010 362 -1
11/1/2014 3:36:51.986 PM 649 cursor: mutex S 1097020010 535 -1
11/1/2014 3:37:02.006 PM 700 cursor: mutex S 1097020010 840 -1
11/1/2014 3:37:02.006 PM 710 cursor: mutex S 1097020010 142 -1
11/1/2014 3:37:02.006 PM 649 cursor: mutex S 1097020010 142 -1
(...)

But I think I was looking into the wrong information, And missing the
important one (p1)


If nobody has nothing else to say about this matter, I then thank you
kindly.


Nico
Post by Tanel Poder
Note that I had a bug in the dashtop.sql that I just fixed and I've
http://blog.tanelpoder.com/files/scripts/ash/dashtop.sql
--
*Tanel Poder*
Enkitec (The Exadata Experts)
Services <http://enkitec.com> | Training
<http://blog.tanelpoder.com/seminar/> | Troubleshooting
<http://blog.tanelpoder.com/> | Exadata Book
<http://www.amazon.com/Expert-Oracle-Exadata-Apress/dp/1430233923>
Post by Tanel Poder
You can look into ASH data from around your problem time - the P1
parameter for cursor/mutex waits shows the library cache object hash value
(or likely the libcache hash bucket if it's less than 131072).
"event like 'cursor%'" "TIMESTAMP'2014-11-03 00:40:05'"
"TIMESTAMP'2014-11-03 21:41:05'"
Iggy Fernandez
2014-11-05 03:17:41 UTC
Permalink
Looks like you solved the mystery.
Your solution ties in nicely to one of the clues in the AWR report. "Connection management call elapsed time" was 71.1% of DB time. That's the "Amount of elapsed time spent performing session connect and disconnect calls" (http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_3015.htm#REFRN30340)
Statistic Name Time (s) % of DB Time------------------------------------------ ------------------ ------------parse time elapsed 1,217,693.8 99.6connection management call elapsed time 868,991.0 71.1DB CPU 43,677.7 3.6
Date: Tue, 4 Nov 2014 18:08:57 -0300
Subject: Re: cursor: mutex S + library cache lock + library cache: mutex X = disaster
From: ***@gmail.com
To: oracle-***@freelists.org

First of all, thank you all for the invaluable help, i wouldn't have hit the spot without it.
Well, I think i've stumbled upon this:
Database Hangs With Excessive Cursor Mutex S Waits Due to Sys.Aud$ Cursors (Doc ID 1423386.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?id=1423386.1&_adf.ctrl-state=g572lalmx_67&_afrLoop=317155210393324

As Mr. poder adviced, I run:
***@xxxxxx@db01>@ash/dashtop event,top_level_call_name,sql_opname,p1text,p1 "(event like '%mutex%' or event like '%library%')" "TIMESTAMP'2014-11-01 15:30:00'" "TIMESTAMP'2014-11-01 16:30:00'"

%This EVENT TOP_LEVEL_CALL_NAME SQL_OPNAME P1TEXT P1 TotalSeconds FIRST_SEEN LAST_SEEN------ -----------------------------------------------------------------------------------------------------------------------------------------------------88% cursor: mutex S LOGOFF idn 1097020010 135070 2014-11-01 15:36:31 2014-11-01 16:21:3912% library cache lock LOGOFF handle address 14818538720 17790 2014-11-01 15:36:41 2014-11-01 16:21:39 0% library cache: mutex X LOGOFF idn 98868131 160 2014-11-01 16:20:59 2014-11-01 16:21:39

***@xxxxxx@db01>SELECT * FROM v$db_object_cache WHERE hash_value = 1097020010;
==============================OWNER :NAME : insert into sys.aud$( sessionid,entryid,statement,ntimestamp#, userid,userhost,terminal,action#,returncode, logoff$lread,logoff$pread, logoff$lwrite,logoff$dead, logoff$time,comment$text,spare1,clientid,sessioncpu,proxy$sid,user$guid, instance#,process#,auditid,dbid) values(:1,:2,:3,SYS_EXTRACT_UTC(SYSTIMESTAMP), :4,:5,:6,:7,:8, :9,:10,:11,:12, cast(SYS_EXTRACT_UTC(systimestamp) as date), :13,:14,:15,:16,:17,:18, :19,:20,:21,:22)DB_LINK :NAMESPACE : SQL AREATYPE : CURSORSHARABLE_MEM : 40952LOADS : 1EXECUTIONS : 315LOCKS : 0PINS : 0KEPT : NOCHILD_LATCH : 0INVALIDATIONS : 0HASH_VALUE : 1097020010LOCK_MODE : NONEPIN_MODE : NONESTATUS : VALIDTIMESTAMP : 2014-11-01/16:35:59PREVIOUS_TIMESTAMP :LOCKED_TOTAL : 318PINNED_TOTAL : 637==============================

So it appears i have some patching to do.

I'd like to clarify, When I saw all kind of blockers and objects,I referred to this information:
select sample_time,session_id,event,p1,blocking_session,current_obj#from dba_hist_active_sess_history swhere sample_time between to_date('20141101 15:30:00','yyyymmdd hh24:mi:ss') and to_date('20141101 16:30:00','yyyymmdd hh24:mi:ss')and event = 'cursor: mutex S'and session_type='FOREGROUND'order by 1;
SAMPLE_TIME SESSION_ID EVENT P1 BLOCKING_SESSION CURRENT_OBJ#--------------------------------------------------------------------------- ---------- ---------------------------------------------------------------- ---------- ---------------- ------------11/1/2014 3:36:31.946 PM 776 cursor: mutex S 1097020010 71 6257111/1/2014 3:36:51.986 PM 840 cursor: mutex S 1097020010 71 5676511/1/2014 3:36:51.986 PM 815 cursor: mutex S 1097020010 71 -111/1/2014 3:36:51.986 PM 719 cursor: mutex S 1097020010 479 -111/1/2014 3:36:51.986 PM 83 cursor: mutex S 1097020010 195 -111/1/2014 3:36:51.986 PM 584 cursor: mutex S 1097020010 535 -111/1/2014 3:36:51.986 PM 552 cursor: mutex S 1097020010 4 1826211/1/2014 3:36:51.986 PM 531 cursor: mutex S 1097020010 72 -111/1/2014 3:36:51.986 PM 526 cursor: mutex S 1097020010 362 -111/1/2014 3:36:51.986 PM 245 cursor: mutex S 1097020010 872 -111/1/2014 3:36:51.986 PM 880 cursor: mutex S 1097020010 362 -111/1/2014 3:36:51.986 PM 649 cursor: mutex S 1097020010 535 -111/1/2014 3:37:02.006 PM 700 cursor: mutex S 1097020010 840 -111/1/2014 3:37:02.006 PM 710 cursor: mutex S 1097020010 142 -111/1/2014 3:37:02.006 PM 649 cursor: mutex S 1097020010 142 -1(...)
But I think I was looking into the wrong information, And missing the important one (p1)

If nobody has nothing else to say about this matter, I then thank you kindly.

Nico

2014-11-04 1:03 GMT-03:00 Tanel Poder <***@tanelpoder.com>:
Note that I had a bug in the dashtop.sql that I just fixed and I've reuploaded the script here:
http://blog.tanelpoder.com/files/scripts/ash/dashtop.sql

-- Tanel PoderEnkitec (The Exadata Experts)Services | Training | Troubleshooting | Exadata Book



On Mon, Nov 3, 2014 at 10:01 PM, Tanel Poder <***@tanelpoder.com> wrote:
You can look into ASH data from around your problem time - the P1 parameter for cursor/mutex waits shows the library cache object hash value (or likely the libcache hash bucket if it's less than 131072).
SQL> @ash/dashtop event,top_level_call_name,sql_opname,p1text,p1 "event like 'cursor%'" "TIMESTAMP'2014-11-03 00:40:05'" "TIMESTAMP'2014-11-03 21:41:05'"
Loading...