Events Wait - Latch Free
Hello all,
Please help me to detect this problem. It's happening in my production db.
Everyday in specific hours, users often call me report that core application performance slow.
Then I query "SELECT * FROM V$SESSION_WAIT" to check wait event.
I can see that so many latch free events (library cache). It's always return the same/almost same results everytime I run this query.
I want to know who's holding the latch, so I do this:
"SELECT l.sid, s.sql_hash_value, s.sql_address, s.osuser, s.username, s.machine, s.program, l.name
FROM V$SESSION s, V$LATCHHOLDER l
WHERE s.sid = l.sid;"
Unfortunately, there's no useful information, sometimes it returns zero result, sometimes just few records. And I can't get who's exactly holding the latch whereas the 'victim' sessions still waiting for the latch free event.
How to get SID who's holding the latch that caused session from V$SESSION_WAIT waiting ?
Once I get the SID of holder, I can check what query caused performance slow from v$sqlarea.
Please advice,
This is my system information.
OS : AIX 5.2
Oracle : Oracle 9.2.0.8
Thank you,
BSS.
Hello, Thanks for replying
Because it contains high wait events and I think it's one of causal factor of degradation performance.
When the application was smooth, I noticed that this view contains few wait event records.
For additional information, I've also checked these things:
IO server : there's no significant disk busy on the server
redo generation : it takes about 10 minutes to generate redo (I think it's normal)
Or if you have any idea how to identify problem when application run slowly in specific hours, please welcome to mention it here...I'm very glad if you do :)
Thanks,
BSS
Similar Messages
-
How to tune latch free wait event
Hi Experts ,
We are getting the following in trace file..what is the meaning for that.
Please help me.
Received ORADEBUG command 'event 10046 trace name context forever,level 12' from process Unix process pid: 17366, image:
WAIT #6: nam='db file sequential read' ela= 99 file#=18 block#=218889 blocks=1 obj#=54957 tim=4224896007054
WAIT #6: nam='db file sequential read' ela= 34 file#=18 block#=218889 blocks=1 obj#=54957 tim=4224896007967
WAIT #6: nam='db file sequential read' ela= 25 file#=18 block#=218889 blocks=1 obj#=54957 tim=4224896008120
WAIT #6: nam='db file sequential read' ela= 87 file#=18 block#=218889 blocks=1 obj#=54957 tim=4224900705281
WAIT #6: nam='db file sequential read' ela= 29 file#=18 block#=218889 blocks=1 obj#=54957 tim=4224900705559
WAIT #6: nam='db file sequential read' ela= 24 file#=18 block#=218889 blocks=1 obj#=54957 tim=4224900705704
Regards,
Kamlesh -
my database suddently very slow in a few seconds.After a while, all become normal.
In awr report,I find no special sql.
I paste two trouble time awr report here.
If you have any more information for troubleshooting ,I will paste if you require.
Thanks.
AWR report1:
WORKLOAD REPOSITORY report for
DB Name DB Id Instance Inst Num Release RAC Host
DB 3594421410 db2 2 10.2.0.4.0 YES db2
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 2342 17-Mar-09 21:30:23 521 1.1
End Snap: 2344 17-Mar-09 22:30:25 498 1.0
Elapsed: 60.03 (mins)
DB Time: 750.95 (mins)
Cache Sizes
~~~~~~~~~~~ Begin End
Buffer Cache: 3,504M 3,504M Std Block Size: 8K
Shared Pool Size: 1,200M 1,200M Log Buffer: 14,340K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 18,182.64 2,754.51
Logical reads: 326.19 49.41
Block changes: 123.54 18.72
Physical reads: 21.33 3.23
Physical writes: 7.29 1.10
User calls: 178.46 27.03
Parses: 62.04 9.40
Hard parses: 0.09 0.01
Sorts: 2.00 0.30
Logons: 0.20 0.03
Executes: 63.12 9.56
Transactions: 6.60
% Blocks changed per Read: 37.87 Recursive Call %: 17.93
Rollback per transaction %: 14.26 Rows per Sort: 44.63
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.99 Redo NoWait %: 99.95
Buffer Hit %: 93.46 In-memory Sort %: 100.00
Library Hit %: 99.52 Soft Parse %: 99.86
Execute to Parse %: 1.70 Latch Hit %: 99.97
Parse CPU to Parse Elapsd %: 0.82 % Non-Parse CPU: 98.60
Shared Pool Statistics Begin End
Memory Usage %: 78.60 78.77
% SQL with executions>1: 99.38 99.27
% Memory for SQL w/exec>1: 99.00 98.78
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
latch: library cache 736 47,078 63965 104.5 Concurrenc
CPU time 236 0.5
rdbms ipc reply 360 219 608 0.5 Other
log file sync 20,469 137 7 0.3 Commit
gc cr block 2-way 35,641 102 3 0.2 Cluster
AWR report 2:
DB Name DB Id Instance Inst Num Release RAC Host
db 3594421410 db2 2 10.2.0.4.0 YES yt-db2
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 2364 18-Mar-09 08:30:29 497 1.1
End Snap: 2365 18-Mar-09 08:42:28 511 1.0
Elapsed: 11.99 (mins)
DB Time: 277.14 (mins)
Cache Sizes
~~~~~~~~~~~ Begin End
Buffer Cache: 3,504M 3,504M Std Block Size: 8K
Shared Pool Size: 1,200M 1,200M Log Buffer: 14,340K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 23,306.73 2,556.74
Logical reads: 337.31 37.00
Block changes: 159.74 17.52
Physical reads: 0.72 0.08
Physical writes: 9.74 1.07
User calls: 274.07 30.06
Parses: 95.29 10.45
Hard parses: 0.04 0.00
Sorts: 2.52 0.28
Logons: 0.19 0.02
Executes: 95.71 10.50
Transactions: 9.12
% Blocks changed per Read: 47.36 Recursive Call %: 9.14
Rollback per transaction %: 11.13 Rows per Sort: 32.48
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 98.81 Redo NoWait %: 100.00
Buffer Hit %: 99.79 In-memory Sort %: 100.00
Library Hit %: 99.86 Soft Parse %: 99.95
Execute to Parse %: 0.44 Latch Hit %: 99.94
Parse CPU to Parse Elapsd %: 40.91 % Non-Parse CPU: 81.90
Shared Pool Statistics Begin End
Memory Usage %: 79.91 80.01
% SQL with executions>1: 99.52 99.52
% Memory for SQL w/exec>1: 98.83 98.77
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
latch free 176 4,391 24950 26.4 Other
gc buffer busy 3,726 3,335 895 20.1 Cluster
gc cr multi block request 4,165 2,204 529 13.3 Cluster
gc current grant busy 3,938 1,798 457 10.8 Cluster
latch: cache buffers chains 124 1,548 12487 9.3 Concurrenc
^LRAC Statistics DB/Inst: db/db2 Snaps: 2364-2365
Begin End
Number of Instances: 2 2
Global Cache Load Profile
~~~~~~~~~~~~~~~~~~~~~~~~~ Per Second Per Transaction
Global Cache blocks received: 19.36 2.12
Global Cache blocks served: 19.39 2.13
GCS/GES messages received: 63.76 6.99
GCS/GES messages sent: 63.64 6.98
DBWR Fusion writes: 2.58 0.28
Estd Interconnect traffic (KB) 334.84
Edited by: gaoyafang on 2009-3-18 上午12:46my database suddently very slow in a few seconds.After a while, all become normal.
In awr report,I find no special sql.
I paste two trouble time awr report here.
If you have any more information for troubleshooting ,I will paste if you require.
Thanks.
AWR report1:
WORKLOAD REPOSITORY report for
DB Name DB Id Instance Inst Num Release RAC Host
DB 3594421410 db2 2 10.2.0.4.0 YES db2
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 2342 17-Mar-09 21:30:23 521 1.1
End Snap: 2344 17-Mar-09 22:30:25 498 1.0
Elapsed: 60.03 (mins)
DB Time: 750.95 (mins)
Cache Sizes
~~~~~~~~~~~ Begin End
Buffer Cache: 3,504M 3,504M Std Block Size: 8K
Shared Pool Size: 1,200M 1,200M Log Buffer: 14,340K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 18,182.64 2,754.51
Logical reads: 326.19 49.41
Block changes: 123.54 18.72
Physical reads: 21.33 3.23
Physical writes: 7.29 1.10
User calls: 178.46 27.03
Parses: 62.04 9.40
Hard parses: 0.09 0.01
Sorts: 2.00 0.30
Logons: 0.20 0.03
Executes: 63.12 9.56
Transactions: 6.60
% Blocks changed per Read: 37.87 Recursive Call %: 17.93
Rollback per transaction %: 14.26 Rows per Sort: 44.63
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.99 Redo NoWait %: 99.95
Buffer Hit %: 93.46 In-memory Sort %: 100.00
Library Hit %: 99.52 Soft Parse %: 99.86
Execute to Parse %: 1.70 Latch Hit %: 99.97
Parse CPU to Parse Elapsd %: 0.82 % Non-Parse CPU: 98.60
Shared Pool Statistics Begin End
Memory Usage %: 78.60 78.77
% SQL with executions>1: 99.38 99.27
% Memory for SQL w/exec>1: 99.00 98.78
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
latch: library cache 736 47,078 63965 104.5 Concurrenc
CPU time 236 0.5
rdbms ipc reply 360 219 608 0.5 Other
log file sync 20,469 137 7 0.3 Commit
gc cr block 2-way 35,641 102 3 0.2 Cluster
AWR report 2:
DB Name DB Id Instance Inst Num Release RAC Host
db 3594421410 db2 2 10.2.0.4.0 YES yt-db2
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 2364 18-Mar-09 08:30:29 497 1.1
End Snap: 2365 18-Mar-09 08:42:28 511 1.0
Elapsed: 11.99 (mins)
DB Time: 277.14 (mins)
Cache Sizes
~~~~~~~~~~~ Begin End
Buffer Cache: 3,504M 3,504M Std Block Size: 8K
Shared Pool Size: 1,200M 1,200M Log Buffer: 14,340K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: 23,306.73 2,556.74
Logical reads: 337.31 37.00
Block changes: 159.74 17.52
Physical reads: 0.72 0.08
Physical writes: 9.74 1.07
User calls: 274.07 30.06
Parses: 95.29 10.45
Hard parses: 0.04 0.00
Sorts: 2.52 0.28
Logons: 0.19 0.02
Executes: 95.71 10.50
Transactions: 9.12
% Blocks changed per Read: 47.36 Recursive Call %: 9.14
Rollback per transaction %: 11.13 Rows per Sort: 32.48
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 98.81 Redo NoWait %: 100.00
Buffer Hit %: 99.79 In-memory Sort %: 100.00
Library Hit %: 99.86 Soft Parse %: 99.95
Execute to Parse %: 0.44 Latch Hit %: 99.94
Parse CPU to Parse Elapsd %: 40.91 % Non-Parse CPU: 81.90
Shared Pool Statistics Begin End
Memory Usage %: 79.91 80.01
% SQL with executions>1: 99.52 99.52
% Memory for SQL w/exec>1: 98.83 98.77
Top 5 Timed Events Avg %Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
latch free 176 4,391 24950 26.4 Other
gc buffer busy 3,726 3,335 895 20.1 Cluster
gc cr multi block request 4,165 2,204 529 13.3 Cluster
gc current grant busy 3,938 1,798 457 10.8 Cluster
latch: cache buffers chains 124 1,548 12487 9.3 Concurrenc
^LRAC Statistics DB/Inst: db/db2 Snaps: 2364-2365
Begin End
Number of Instances: 2 2
Global Cache Load Profile
~~~~~~~~~~~~~~~~~~~~~~~~~ Per Second Per Transaction
Global Cache blocks received: 19.36 2.12
Global Cache blocks served: 19.39 2.13
GCS/GES messages received: 63.76 6.99
GCS/GES messages sent: 63.64 6.98
DBWR Fusion writes: 2.58 0.28
Estd Interconnect traffic (KB) 334.84
Edited by: gaoyafang on 2009-3-18 上午12:46 -
Oracle 9i latch free.短暂性hang
os: hpux 11.31 oracle:9208
上传statspack信息。
Enter value for report_name:
Using the report name sp_1777_1778
STATSPACK report for
DB Name DB Id Instance Inst Num Release Cluster Host
WSCDB 1940024694 WSCDB 1 9.2.0.8.0 NO SC3GUP01
Snap Id Snap Time Sessions Curs/Sess Comment
Begin Snap: 1777 06-11月-12 10:00:00 217 .9
End Snap: 1778 06-11月-12 11:00:01 288 .8
Elapsed: 60.02 (mins)
Cache Sizes (end)
~~~~~~~~~~~~~~~~~
Buffer Cache: 6,000M Std Block Size: 16K
Shared Pool Size: 2,000M Log Buffer: 2,930K
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
Redo size: -416,814.48 -2,138.95
Logical reads: 12,188.91 62.55
Block changes: 2,745.05 14.09
Physical reads: 77.66 0.40
Physical writes: 40.61 0.21
User calls: 4,732.04 24.28
Parses: 1,600.33 8.21
Hard parses: 255.91 1.31
Sorts: 261.44 1.34
Logons: 0.32 0.00
Executes: 1,601.28 8.22
Transactions: 194.87
% Blocks changed per Read: 22.52 Recursive Call %: 6.80
Rollback per transaction %: 1.25 Rows per Sort: 14.70
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.99 Redo NoWait %: 100.00
Buffer Hit %: 99.37 In-memory Sort %: 100.00
Library Hit %: 91.76 Soft Parse %: 84.01
Execute to Parse %: 0.06 Latch Hit %: 100.12
Parse CPU to Parse Elapsd %: 21.72 % Non-Parse CPU: 61.75
Shared Pool Statistics Begin End
Memory Usage %: 91.91 92.08
% SQL with executions>1: 1.50 1.66
% Memory for SQL w/exec>1: 4.73 4.85
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
latch free 263,448 6,609 61.98
CPU time 2,804 26.30
log file sync 694,930 610 5.72
log file parallel write 1,347,686 276 2.59
db file scattered read 25,263 109 1.03
Wait Events for DB: WSCDB Instance: WSCDB Snaps: 1777 -1778
-> s - second
-> cs - centisecond - 100th of a second
-> ms - millisecond - 1000th of a second
-> us - microsecond - 1000000th of a second
-> ordered by wait time desc, waits desc (idle events last)
Avg
Total Wait wait Waits
Event Waits Timeouts Time (s) (ms) /txn
latch free 263,448 0 6,609 25 0.4
log file sync 694,930 0 610 1 1.0
log file parallel write 1,347,686 0 276 0 1.9
db file scattered read 25,263 0 109 4 0.0
db file sequential read 23,510 0 107 5 0.0
db file parallel write 71,624 0 57 1 0.1
enqueue 2,215 0 34 15 0.0
log file sequential read 2,060 0 18 9 0.0
direct path write (lob) 27,258 0 14 0 0.0
direct path read (lob) 777 0 7 9 0.0
buffer busy waits 5,745 0 4 1 0.0
LGWR wait for redo copy 1,886 0 3 2 0.0
direct path write 308 0 3 10 0.0
control file sequential read 1,836 0 3 2 0.0
log file switch completion 28 0 2 78 0.0
control file parallel write 1,255 0 2 2 0.0
wait list latch free 8 0 0 23 0.0
SQL*Net more data to client 7,201 0 0 0 0.0
process startup 3 0 0 37 0.0
local write wait 4 0 0 25 0.0
SQL*Net break/reset to clien 396 0 0 0 0.0
direct path read 312 0 0 0 0.0
log file single write 8 0 0 2 0.0
library cache pin 1 0 0 1 0.0
async disk IO 512 0 0 0 0.0
buffer deadlock 48 48 0 0 0.0
SQL*Net message from client 11,558,618 0 567,046 49 16.5
virtual circuit status 120 120 3,505 29211 0.0
jobq slave wait 66 63 191 2897 0.0
SQL*Net message to client 11,558,692 0 7 0 16.5
SQL*Net more data from clien 266,289 0 4 0 0.4
Background Wait Events for DB: WSCDB Instance: WSCDB Snaps: 1777 -1778
-> ordered by wait time desc, waits desc (idle events last)
Avg
Total Wait wait Waits
Event Waits Timeouts Time (s) (ms) /txn
log file parallel write 1,347,698 0 276 0 1.9
db file parallel write 71,625 0 57 1 0.1
log file sequential read 2,060 0 18 9 0.0
latch free 189 0 9 49 0.0
LGWR wait for redo copy 1,886 0 3 2 0.0
direct path write 216 0 3 13 0.0
control file parallel write 1,255 0 2 2 0.0
control file sequential read 1,462 0 1 1 0.0
db file scattered read 24 0 0 5 0.0
direct path read 312 0 0 0 0.0
db file sequential read 23 0 0 2 0.0
log file single write 8 0 0 2 0.0
rdbms ipc reply 16 0 0 1 0.0
buffer busy waits 4 0 0 0 0.0
async disk IO 512 0 0 0 0.0
rdbms ipc message 3,933,397 2,323 33,117 8 5.6
pmon timer 1,201 1,201 3,516 2928 0.0
smon timer 22 6 3,464 ###### 0.0
-------------------------------------------------------------请把问题时段的statspack 报告发给我
有问题请去OTN中文论坛开个帖子 我会回复 地址:http://www.otncn.org
如果需要发送附件,可以直接发邮件到 [email protected] -
Please help : how to solve large Latch Free wait on : channel operations parent latch .
From AWR Report :
Latch Sleep Breakdown
ordered by misses desc
Latch Name
Get Requests
Misses
Sleeps
Spin Gets
Sleep1
Sleep2
Sleep3
channel operations parent latch
94,686,848
76,112,489
7,260,219
71,049,400
0
0
0
library cache
365,476,343
11,747,162
140,997
11,622,072
0
0
0
How to find what the coause of this wait is ?
Thank's .I have total : 48 CPUs : 4x12 Cores .
Operating System Statistics
Statistic
Total
AVG_BUSY_TIME
115,960
AVG_IDLE_TIME
275,739
AVG_SYS_TIME
2.3E+18
AVG_USER_TIME
107,040
BUSY_TIME
5,581,101
IDLE_TIME
13,250,065
SYS_TIME
428,160
USER_TIME
5,152,941
RSRC_MGR_CPU_WAIT_TIME
0
VM_IN_BYTES
-9.5E+18
VM_OUT_BYTES
-4.5E+16
PHYSICAL_MEMORY_BYTES
4.1E+11
NUM_CPUS
48
NUM_CPU_CORES
48
This is a standart one hour awr report :
Snap Id
Snap Time
Sessions
Cursors/Session
Begin Snap:
59886
10-Jul-13 09:00:48
789
36.9
End Snap:
59887
10-Jul-13 10:06:17
933
36.5
Elapsed:
65.48 (mins)
DB Time:
9,645.25 (mins) -
Latch free(SQL memory manager latch)
Hi All,
Can somene help me in finding anything about "latch free(SQL memory manager latch)". This latch is causing sqls to perform badly. Will be thankful if someone provide the resolution plan for this latch.
Thanks in advance.Hi,
Thanks for your reply but here in this case I know this is "SQL memory manager latch". All I wanted to know about this latch and resolution. -
Insert statement Going to Latch free
We are having issues where creation of Project neve completes from Form and HTML page.
On taking tkprofile we found that there is a Insert Into PJI_XBS_DENORM table which is going to Latch free.
Starngely this is working on all other instances except production.
Let me know if anyone has faced this issue.
Thanks,On taking tkprofile we found that there is a Insert Into PJI_XBS_DENORM table which is going to Latch free.What does this mean?
"Insert Into PJI_XBS_DENORM table which is going to Latch free" -
Can a "no wait" latch type gets converts to "willing to wait" latch type?
We have no wait latches like redo copy latch . If it not acquires a latch in its first call, it will make a new request to acquire the latch again.
Is there any limit for making in these number of new requests
or
will it keep on making the new request, till it acquire the latch
or
after so many request, if it does not acquire , this latch will get converted to willing to wait latch type?
Thanks
Naveen.ALTER SYSTEM SET spin_count = <integer>;But before you touch that keyboard ... read this:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/technique.htm#i11221 ... item #4 specifically -
Hi all
Can You help me to find where is problem, I generate strigs for each row in table , but it takes long time (for 430000 rows 11hours) , end when I monitor this process I have most time latch free. Can you help me to rewrite , or show me wher is problem in my PL/sql?
create or replace procedure SPZ
is
n number:=0;
koneec EXCEPTION;
p1 number;
p2 number;
c1 number;
c2 number;
c3 number;
vysledok varchar2(5);
pocet number;
begin
select count(*) INTO pocet from inc_t_vozidlo$;
dbms_output.put_line(pocet);
for i1 in 1 .. 26 loop
for i2 in 1 .. 26 loop
for i3 in 1 .. 10 loop
for i4 in 1 .. 10 loop
for i5 in 1 .. 10 loop
n:=n+1;
p2 :=64+i2;
p1 :=64+i1;
c1 :=47+i3;
c2 :=47+i4;
c3 :=47+i5;
vysledok:=chr(p1)||''||chr(p2)||''||chr(c1)||''||chr(c2)||''||chr(c3);
-- dbms_output.put_line(n||'. '||vysledok);
update inc_t_vozidlo$ set evid_cislo= vysledok where vozidlo_id=1000000000000000+n;
if n=pocet then
RAISE koneec;
end if;
end loop;
end loop;
end loop;
end loop;
end loop;
commit;
EXCEPTION
when koneec then
commit;
dbms_output.put_line('KONEC:'||pocet);
end;
Thank You B.Hi,
Your problem isn't so much in your PL/SQL as that it is (your) PL/SQL.
Try doing the update in a single SQL statement and you will notice that it goes much much faster.
Finally, why are you doing this in a update? Can't you insert the correct data to start with? A single insert is much faster than an insert + update.
Cheers,
Colin -
Difference between wait events 'buffer busy waits' & 'latch: CBC'
Hi ,
Can some one explain me the Difference Between 'Buffer Busy Waits' and 'Latch: Cache Buffers Chains"? What was explained in metalink note Doc ID: 833303.1
, is incomprehensible to me.
Looking for easy and better explanation.
Thanks
NaveenNaveen Sangam wrote:
Can some one explain me the Difference Between 'Buffer Busy Waits' and 'Latch: Cache Buffers Chains"? What was explained in metalink note Doc ID: 833303.1
, is incomprehensible to me.
That note is awful and should be witdrawn - amongst other things it makes it sound as if there is only one reason for buffer busy waits. There is an option to comment on such notes - I suggest you use it.
Going back a little further from Aman's description - and ignoring some of the internal details:
The buffer cache is split into a large number of small groups of buffered blocks; these groups are usually called "hash buckets" or "hash chains". If you need to find a block and it is buffered, Oracle can do some hashing arithmetic to work out which chain the block will be in.
The chains are protected by latches (typically a single latch protects 64 - 128 chains). You cannot examine a chain unless you are able to get the latch that protects it. So the commonest action you go through to view or modify a buffered block is:
<ul>
work out which chain
get the latch for the chain xxx
search along the chain to see if the block is in memory
attach a "pin" to the buffered block block if you find it (to make sure it can't be kicked out of memory)
release the latch
do what you want to do with the buffered block ***
get the latch for the chain xxx
remove the pin from the buffered block
release the latch
</ul>
The two points marked xxx are where you might end up sleeping in a wait for the "cache buffers chains latch". If too many people try to get the latch at the same time some of them will eventually fail and go to sleep for a short period.
The point marked *** is where you get the buffer busy wait. When you attach the pin to the buffered block it's possible that what you want to do to the bllock is incompatible with what other people are already doing - so you have to attach your pin to the "waiters" list (the people currently using the block will have their pins attached to the "users" list". Eventually your wait will time out, or the users will get out of the way and you can move your pin to the users list and do whatever it was you wanted to do.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
"Science is more than a body of knowledge; it is a way of thinking"
Carl Sagan -
What is the difference between buffer busy waits and free buffer waits
what is the difference between buffer busy waits events and free buffer waits in Oracle database?
select *
from
v$system_event
where
event like ‘%wait%’;
EVENT TOTAL_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT
buffer busy waits 636528 1557 549700 .863591232
write complete waits 1193 0 14799 12.4048617
free buffer waits 1601 0 622 .388507183jetq wrote:
Buffer busy waits occur when an Oracle session needs to access a block in the buffer cache, but cannot because the buffer copy of the data block is locked. This buffer busy wait condition can happen for either of the following reasons:
* The block is being read into the buffer by another session, so the waiting session must wait for the block read to complete. If the OP is running 10g, that would be recorded as "read by other session" not "buffer busy waits" - and unfortunately he didn't tell us the version.
* Another session has the buffer block locked in a mode that is incompatible with the waiting session's request.
The Free Buffer Waits Oracle metric wait event indicates that a server process was unable to find a free buffer and has posted the database writer to make free buffers by writing out dirty buffers.
There is another possibility - if the OP is using a keep and recycle pool: see http://jonathanlewis.wordpress.com/2006/11/21/free-buffer-waits/
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
"For every expert there is an equal and opposite expert"
Arthur C. Clarke -
Event Handling for free programmed search help bond dynamically in SO
Dear Expert,
I met a problem of how to handle an event raised by a free programmed search help - (F4), and this F4 is invoked
by a field defined in a Selection Option component (WDR_SELECT_OPTIONS) - SO.
The scenario is that I would like to update the SO after the user multiple select some entries in the F4. I could tranfer
back all the value chosen in the F4 to the consumer SO, but I can not update the icon in the SO(e.g in SO, multiple values will be
displayed with a green arrow icon), because I could not define a handler in SAP standard component SO, and it looks like there is no chance to catch the event triggered at the end of selection in F4. (this event belonged to this F4)
Welcome any suggestions or ideas, Thanks very very much.
In Addition, I use this way to enable the F4 for SO
lo_so_component->create_cmp_usage_group(
name = 'F4_TRANSPORT'
used_component = 'ZTRANSPORT').thanks all
-
All day event marked as FREE NOT busy in Outlook 2010
I would like to have all day events default to BUSY not FREE in everyones Outllok Calender.
Hi, maybe this will help
http://office.microsoft.com/en-us/outlook-help/create-an-all-day-event-HP001230353.aspx
Don
This answer applies to Outlook 2007 specifically. Is it the same for 2010?
Thanks. -
Dear Sir,
we have oracle database 10.2.0.5 with operation system linux OEL5,
we are not using Advanced Queuing,
so why we have the following wait ?!!
SELECT event, state, COUNT(*) AS cnt, sum(seconds_in_wait) AS wait_in_seconds
FROM v$session_wait
WHERE event LIKE 'Streams AQ%'
GROUP BY event, state;
EVENT STATE CNT WAIT_IN_SECONDS
1 Streams AQ: qmn slave idle wait WAITING 1 2190844
2 Streams AQ: waiting for time management or cleanup tasks WAITING 1 2242447
3 Streams AQ: qmn coordinator idle wait WAITING 1 857137
P.S. aq_tm_processes = 0
Regards,Read MOS :
Streams Idle Wait Events in 10g [ID 461279.1]
It should not affect performance as it is an idle wait event. -
I tried to update my trial Illustrator CC to an official one. While I were entering the billing address, country is shown differently from my current location. Is there any way I can do by myself to change the country from the account? I called the toll-free number given from the website 800-585-0774, just cannot wait for that long. Thank for the assistance!
Change/Verify Account https://forums.adobe.com/thread/1465499 may help
-Credit card https://helpx.adobe.com/x-productkb/policy-pricing/membership-subscription-troubleshooting -creative-cloud.html
-or by telephone http://helpx.adobe.com/x-productkb/global/phone-support-orders.html
-email address https://forums.adobe.com/thread/1446019
-http://helpx.adobe.com/x-productkb/policy-pricing/change-country-associated-with-adobe-id. html
Maybe you are looking for
-
How to use a existing Business Service in IDoc-File Scenario
Hi Experts, I am new to XI. I am working on a IDoc to File scenario where in i am importing the CREMAS.CREMAS03 IDoc from the R/3 System. When i try to create a Business Service in Configuration Scenario Object in Integartion Directory, i get a messa
-
Do I need to set AI colour profiles for use in ID?
My previous set up: Mac CS2 (Illustrator, Photoshop, Bridge) Quark XPress 7 My new set up: PC (Win 7) CS5 (Illustrator, Photoshop, Bridge, InDesign) My problem: I work for a company that prints newspapers, but my dept also does work for glossy sheetf
-
New AEBS installed, Vonage initially worked fine, but now is not.
I recently upgraded my home network, ditching the Linksys WRT54G router I had in favor of a new Airport Extreme Base Station. everything has been working fine, but all of a sudden I noticed that my Vonage adapter wasn't connected and was spitting out
-
What's the purpose for the resistor in the jack of Pismo's power supply?
Recently the power supply of my Pismo started failing and I decided to troubleshoot it. Turned out the cable next to the jack was broken. I went on with the repairs and inside the jack I found a resistor connecting the negative terminal with the shie
-
DVD player region permanently set
I recently bought a used MacBook. The optical drive handles music CDs, CD-ROMs and DVD-ROMs fine, but it won't play movie DVDs. Apparently the previous owner(s) changed the DVD region setting five times, so it is now permanently set to something ot