Database Reference
In-Depth Information
where a.le_kjbl = b.kjbllockp
and a.le_addr =c.le_addr
and dbablk=&&block and obj=&&obj
;
KJBLNAME KJBLNAME2 KJBLGRANT KJBLROLE KJBLREQUES KJBLMASTER
-------------------------- -------------------- ---------- -------- ---------- ----------
[0xb4][0x4],[BL][ext 0x0,0 180,4,BL KJUSEREX 0 KJUSERNL 0
In summary, a BL resource protects a block, the action of reading a block into buffer cache creates a resource in
the resource master instance, and a lock is added to that resource in a specific mode. In this example, the block is read
with no intent to change and hence KJUSERPR locking mode (PR) is sufficient. We will see that locking mode will be
different depending upon whether the block is altered or not. Locking modes are also discussed in Chapter 11.
Performance Analysis
Typically, performance tuning an application in a RAC database is geared towards identifying the layer and the instance
causing slowdown. You should ask the following questions to understand the problem further. While few questions
would generally apply to single-instance performance, these questions are specifically written for a RAC database.
1.
What are the wait events the application is suffering from? Analysis of the waits suffered by
the FG processes typically focus on the receiving side of global cache performance.
a.
Are there numerous occurrences of wait events?
b.
Is the average wait time for an event huge?
2.
Is the sending side of global cache performing efficiently? Is there a delay in global cache
processing?
3.
Is the network latency causing performance issues? Network will be discussed in Chapter 9.
4.
Can the performance problem isolated to an instance? Is that instance suffering delays in
the receiving side or the sending side?
Each of these questions can be answered by reviewing wait events or statistics. You can isolate the problem to a
specific instance, component, or object using the methods discussed in this section.
Analysis of the Receiving Side
This section focuses on the receiving side of global cache performance metrics. RAC introduces a few wait events for
time model instrumentation. You would use AWR or another time-based model to understand the wait events causing
performance issues. Then, tune the top event consuming time.
Generally, wait events can be grouped into the following categories:
1.
Current mode wait events: This wait event is incurred if the version of transferred or
requested block is the latest. Current mode wait events can be encountered for both read
and write requests. You should note that the block version of the disk could be the latest
version, and hence the sheer action of reading a block from the disk can acquire locks in
the current mode.
2.
CR mode wait events: If the current version of the block is ahead of Query environment
System Change Number (SCN), then the LMS process must reconstruct a block version for
read-only purposes and then send the block to the FG process. This type of block transfer
is known as CR mode transfer.
 
Search WWH ::




Custom Search