| Foreword |
|
xvii | |
| Acknowledgments |
|
xxi | |
| Introduction |
|
xxv | |
|
Introduction to Oracle Wait Interface |
|
|
1 | (14) |
|
The Old Fashion of Oracle Performance Optimization |
|
|
3 | (1) |
|
Why Are Cache-Hit Ratios Grossly Inefficient? |
|
|
3 | (2) |
|
The New Fashion of Oracle Performance Optimization |
|
|
5 | (1) |
|
|
|
6 | (2) |
|
Database Response Time Tuning Model |
|
|
8 | (3) |
|
|
|
11 | (2) |
|
|
|
13 | (2) |
|
Oracle Wait Interface Components |
|
|
15 | (34) |
|
|
|
16 | (1) |
|
|
|
17 | (19) |
|
|
|
18 | (2) |
|
|
|
20 | (4) |
|
|
|
24 | (3) |
|
|
|
27 | (3) |
|
Trace Event 10046---The Extended SQL Trace |
|
|
30 | (6) |
|
New OWI Views in Oracle Database 10g Release 1 |
|
|
36 | (9) |
|
V$Session_Wait_History View |
|
|
37 | (1) |
|
|
|
38 | (1) |
|
V$Session_Wait_Class View |
|
|
39 | (1) |
|
|
|
40 | (2) |
|
|
|
42 | (3) |
|
|
|
45 | (3) |
|
|
|
45 | (1) |
|
|
|
45 | (1) |
|
|
|
46 | (1) |
|
|
|
46 | (2) |
|
|
|
48 | (1) |
|
|
|
49 | (28) |
|
Introduction to Common Wait Events |
|
|
50 | (16) |
|
|
|
50 | (1) |
|
control file parallel write |
|
|
51 | (2) |
|
|
|
53 | (1) |
|
|
|
53 | (1) |
|
|
|
54 | (1) |
|
|
|
55 | (1) |
|
|
|
55 | (1) |
|
|
|
56 | (1) |
|
|
|
57 | (1) |
|
|
|
57 | (2) |
|
|
|
59 | (1) |
|
|
|
59 | (1) |
|
|
|
60 | (1) |
|
|
|
61 | (1) |
|
|
|
62 | (1) |
|
|
|
62 | (1) |
|
|
|
63 | (1) |
|
log file switch (archiving needed) |
|
|
63 | (1) |
|
log file switch (checkpoint incomplete) |
|
|
63 | (1) |
|
log file switch completion |
|
|
64 | (1) |
|
|
|
64 | (1) |
|
SQL*Net message from client |
|
|
65 | (1) |
|
SQL*Net message to client |
|
|
65 | (1) |
|
Common Wait Events in Oracle Real Application Clusters Environment |
|
|
66 | (6) |
|
|
|
66 | (2) |
|
|
|
68 | (1) |
|
|
|
68 | (1) |
|
|
|
69 | (1) |
|
|
|
69 | (1) |
|
|
|
70 | (1) |
|
|
|
70 | (1) |
|
|
|
71 | (1) |
|
|
|
71 | (1) |
|
|
|
71 | (1) |
|
Tracking CPU and Other Statistics |
|
|
72 | (2) |
|
|
|
74 | (3) |
|
OWI Monitoring and Collection Methods |
|
|
77 | (26) |
|
Why Is Historical Performance Data Important? |
|
|
78 | (1) |
|
Fast and Accurate Root Cause Analysis |
|
|
79 | (1) |
|
Why Trace Event 10046 Is Not a Suitable Data Collector |
|
|
80 | (1) |
|
Why Statspack Is Not a Suitable Data Collector |
|
|
81 | (1) |
|
Database Logoff Trigger as a Data Collector |
|
|
82 | (4) |
|
Sampling for Performance Data Using PL/SQL Procedure |
|
|
86 | (15) |
|
|
|
87 | (1) |
|
|
|
88 | (2) |
|
|
|
90 | (2) |
|
|
|
92 | (8) |
|
|
|
100 | (1) |
|
Sampling for Performance Data with SQL-less SGA Access |
|
|
101 | (1) |
|
|
|
101 | (2) |
|
Interpreting Common I/O Related Wait Events |
|
|
103 | (38) |
|
|
|
104 | (8) |
|
Common Causes, Diagnosis, and Actions |
|
|
105 | (7) |
|
|
|
112 | (8) |
|
Common Causes, Diagnosis, and Actions |
|
|
113 | (3) |
|
Why Does db file sequential read event Show Up in a Full Table Scan Operation |
|
|
116 | (2) |
|
Why Does a Full Scan Operation Request Fewer Blocks than the MBRC |
|
|
118 | (1) |
|
Setting the DB_File_Multiblock_Read_Count (MBRC) |
|
|
118 | (2) |
|
Why Physical I/Os Are Expensive |
|
|
120 | (1) |
|
|
|
120 | (8) |
|
Common Causes, Diagnosis, and Actions |
|
|
121 | (5) |
|
Initialization Parameters of Interest |
|
|
126 | (2) |
|
|
|
128 | (2) |
|
Common Causes, Diagnosis, and Actions |
|
|
128 | (2) |
|
|
|
130 | (5) |
|
Common Causes, Diagnosis, and Actions |
|
|
130 | (5) |
|
|
|
135 | (3) |
|
Common Causes, Diagnosis, and Actions |
|
|
135 | (3) |
|
control file parallel write |
|
|
138 | (2) |
|
Common Causes, Diagnosis, and Actions |
|
|
138 | (2) |
|
|
|
140 | (1) |
|
Interpreting Locks-Related Wait Events |
|
|
141 | (56) |
|
|
|
142 | (28) |
|
|
|
142 | (1) |
|
Differences between a Latch and a Lock |
|
|
143 | (1) |
|
|
|
144 | (1) |
|
|
|
145 | (1) |
|
|
|
146 | (2) |
|
What Does the Latch Free Wait Event Tell You? |
|
|
148 | (1) |
|
|
|
149 | (1) |
|
Latches in Oracle Database 10g Release 1 |
|
|
149 | (1) |
|
Common Causes, Diagnosis, and Actions |
|
|
150 | (1) |
|
Shared Pool and Library Cache Latches |
|
|
151 | (8) |
|
Cache Buffers Chains Latches |
|
|
159 | (8) |
|
Cache Buffers Lru Chain Latches |
|
|
167 | (2) |
|
Row Cache Objects Latches |
|
|
169 | (1) |
|
|
|
170 | (14) |
|
|
|
170 | (1) |
|
What Is an Enqueue Resource? |
|
|
170 | (2) |
|
|
|
172 | (2) |
|
|
|
174 | (1) |
|
Decoding Enqueue Type and Mode |
|
|
174 | (3) |
|
Common Causes, Diagnosis, and Actions |
|
|
177 | (7) |
|
|
|
184 | (11) |
|
Common Causes, Diagnosis, and Actions |
|
|
185 | (10) |
|
|
|
195 | (2) |
|
Interpreting Common Latency-Related Wait Events |
|
|
197 | (18) |
|
|
|
198 | (6) |
|
Common Causes, Diagnosis, and Actions |
|
|
198 | (6) |
|
|
|
204 | (2) |
|
Common Causes, Diagnosis, and Actions |
|
|
205 | (1) |
|
|
|
206 | (4) |
|
Common Causes, Diagnosis, and Actions |
|
|
206 | (4) |
|
|
|
210 | (1) |
|
Common Causes, Diagnosis, and Actions |
|
|
210 | (1) |
|
log file switch completion |
|
|
211 | (1) |
|
Common Causes, Diagnosis, and Actions |
|
|
211 | (1) |
|
log file switch (checkpoint incomplete) |
|
|
212 | (1) |
|
Common Causes, Diagnosis, and Actions |
|
|
212 | (1) |
|
|
|
213 | (2) |
|
Wait Events in a Real Application Clusters Environment |
|
|
215 | (22) |
|
What's So Special About Waits in Real Application Clusters (RAC)? |
|
|
216 | (7) |
|
Global Buffer Cache in Real Application Clusters |
|
|
217 | (6) |
|
|
|
223 | (7) |
|
|
|
223 | (5) |
|
|
|
228 | (2) |
|
RAC Wait Event Enhancements in Oracle Database 10g |
|
|
230 | (1) |
|
|
|
231 | (5) |
|
|
|
232 | (4) |
|
|
|
236 | (1) |
|
Performance Management in Oracle Database 10g |
|
|
237 | (38) |
|
|
|
238 | (3) |
|
|
|
238 | (2) |
|
|
|
240 | (1) |
|
Operating System Statistics |
|
|
240 | (1) |
|
Additional SQL Statistics |
|
|
241 | (1) |
|
|
|
241 | (1) |
|
|
|
241 | (1) |
|
Automatic Workload Repository |
|
|
242 | (10) |
|
|
|
243 | (1) |
|
|
|
244 | (1) |
|
|
|
244 | (3) |
|
|
|
247 | (5) |
|
|
|
252 | (7) |
|
What Is an Active Session? |
|
|
253 | (1) |
|
|
|
253 | (6) |
|
Automatic Database Diagnostic Monitor (ADDM) |
|
|
259 | (14) |
|
|
|
260 | (1) |
|
|
|
261 | (9) |
|
Manually Running ADDM Report |
|
|
270 | (3) |
|
|
|
273 | (1) |
|
|
|
273 | (2) |
|
A Oracle Database 10g Diagnostic Events |
|
|
275 | (14) |
|
|
|
276 | (13) |
|
Types of Diagnostic Events |
|
|
276 | (3) |
|
Setting Diagnostic Events |
|
|
279 | (6) |
|
Internal Workings of the Events |
|
|
285 | (4) |
|
B Enqueue Waits in Oracle Database 10g |
|
|
289 | (12) |
|
C Oracle Dumps and Traces |
|
|
301 | (16) |
|
Oradebug: The Ultimate Utility for Traces and Dumps |
|
|
302 | (2) |
|
|
|
304 | (1) |
|
|
|
304 | (1) |
|
|
|
305 | (2) |
|
|
|
306 | (1) |
|
Controlling the Dump Information |
|
|
306 | (1) |
|
|
|
307 | (1) |
|
|
|
307 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
308 | (1) |
|
|
|
308 | (1) |
|
|
|
308 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
308 | (1) |
|
|
|
309 | (1) |
|
|
|
310 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
310 | (1) |
|
|
|
310 | (2) |
|
|
|
311 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
311 | (1) |
|
|
|
312 | (1) |
|
|
|
312 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
312 | (1) |
|
|
|
313 | (1) |
|
|
|
313 | (1) |
|
|
|
314 | (1) |
|
|
|
314 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
314 | (1) |
|
|
|
315 | (1) |
|
|
|
315 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
315 | (1) |
|
|
|
315 | (2) |
|
|
|
316 | (1) |
|
Controlling the Dump Information Using Levels |
|
|
316 | (1) |
|
|
|
317 | (16) |
|
|
|
318 | (1) |
|
|
|
318 | (1) |
|
|
|
318 | (1) |
|
|
|
319 | (1) |
|
|
|
319 | (1) |
|
|
|
319 | (3) |
|
The Necessary Ingredients |
|
|
322 | (5) |
|
|
|
322 | (1) |
|
|
|
323 | (1) |
|
Find the Starting Address of X$KSUSECST |
|
|
324 | (1) |
|
Find the Record Size of the X$KSUSECST Structure |
|
|
324 | (1) |
|
Find Number of Records in the X$KSUSECST Structure |
|
|
325 | (1) |
|
Find the X$KSUSECST View Columns Offsets |
|
|
325 | (2) |
|
Attaching the SGA to a C Program |
|
|
327 | (6) |
|
|
|
333 | (6) |
|
|
|
334 | (1) |
|
|
|
334 | (1) |
|
|
|
334 | (1) |
|
|
|
335 | (1) |
|
|
|
335 | (1) |
|
|
|
335 | (1) |
|
|
|
336 | (1) |
|
|
|
336 | (1) |
|
|
|
336 | (1) |
|
|
|
337 | (1) |
|
|
|
337 | (1) |
|
|
|
337 | (1) |
|
|
|
337 | (2) |
| Index |
|
339 | |