Database Reference
In-Depth Information
Block Transfer
When a block is not found in the local cache, the current location of the physical block is identified and transferred
from the current holder to the requestor (illustrated in Step 5 in Figure 14-1 ). As discussed in the previous chapter,
block transfer involves several steps, including finding the block, changing permissions of the block, flushing the
blocks to redo logs files (if the block was modified), pinning the block, and so forth.
aSYNChrONOUS SYSteM trap aND BLOCKING aSYNChrONOUS
SYSteM trap
When a block is requested and is available for transfer, the block is sent immediately. however, on the contrary,
if the block requested is held by the holding instance in an exclusive mode, the requestor remains in wait mode
(if the buffer is not pinned) until such time the data requested is released by the holder and is ready for transfer to
the requestor. oracle uses the concept of an asynchronous system Trap (asT) and Blocking asynchronous system
Trap (BasT) to notify processes of events concerning the state of a block.
asTs are interrupts that occur asynchronously (out of sequence) with respect to the process's execution. an asT
provides a transfer of control to a user-specified procedure that handles the event. For example, you can use asTs
to signal a program to execute a routine whenever a certain condition occurs. 1
in raC, the lock-related operations are handled by the ges. asTs are generic interrupt service routines. There are
two types of asTs in a raC implementation. one is called the acquisition asynchronous system Trap or aasT and
the other is called the Blocking asynchronous system Trap or BasT.
When a process wants to access a resource in a raC environment, it needs to acquire a lock and this will be
given by the ges. Before granting the lock to the process, the ges will send the global asT to the holder of that
resource, and the holder may grant access to the requesting process. once the required locks on that resource
are obtained, the ges will send another asT (aasT) to tell that you have acquired the lock.
When a process tries to acquire a block, and the holding instance has a lock on the block, this conflicts with
the request being made. if the lock on the block is in a conflicting mode, the holder will receive a BasT signal
to release the lock. once the release has been processed, the lock can be granted, and the event notifying the
requestor of the grant is the asT.
ges will have the queue of requests/converts and will be delivering asT when the requested grant has completed.
BasT is the special kind of interrupt or notifier that will be sent for a lock/buffer held/pinned in a different mode
by the process holding the resource to initiate the correct action to handle the request consistently. aasT and
BasT statistics can be viewed by querying the V$DLM_MISC view.
1 HP OpenVMS Programming Concepts Manual , June 2002. http://h71000.www7.hp.com/doc/731final/5841/5841pro.html .
 
Search WWH ::




Custom Search