1 / 24

Oracle Cache Fusion

Oracle Cache Fusion. Cache Fusion Concepts, Data Block Shipping, and Recovery with Cache Fusion. Objectives. At the end of this module the student will understand the following tasks and concepts. Cache fusion concepts Block transfers using cache fusion Cache Fusion and Recovery. Overview.

linus-ware
Télécharger la présentation

Oracle Cache Fusion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle Cache Fusion Cache Fusion Concepts, Data Block Shipping, and Recovery with Cache Fusion

  2. Objectives At the end of this module the student will understand the following tasks and concepts. • Cache fusion concepts • Block transfers using cache fusion • Cache Fusion and Recovery

  3. Overview • Synchronization • Past Images • Cache Fusion Scenarios • Recovery Methodology and steps • Recovery Process Scenarios

  4. Synchronization of Concurrent Tasks • RAC synchronization through Cache Fusion: • Maintains cluster-wide concurrency of resources • Ensures integrity of shared data • Data blocks and enqueues are synchronized when nodes within a cluster: • Acquire block or enqueue ownership • Release block or enqueue ownership

  5. Minimize Synchronization • Key is to optimally divide tasks among nodes, so that very little synchronization is necessary • Minimize inter-node communication, because block access in local cache is cheapest: • Block access in local cache ~ 0.01 msec • Block access in remote cache ~ 2.5 msec • Block access on disk ~ 14 msec+

  6. Past Images • Past Images introduced in Oracle 9i RAC to maintain data integrity • Dirty data block not written to disk immediately • Another instance may request the same block for read or write • Image of the block is created at owning instance, and is shipped to requesting block • Backup image kept at owning block is a Past Image, and is kept in memory for local consistency

  7. “Juggling” Data with Multiple Past Images • Multiple Past Image versions of a data block may be kept by different instances • Upon a checkpoint, only the current image is written to disk; Past Images are discarded • In the event of a failure, current version of block can be reconstructed from PIs • Since PIs are kept in memory, they aid in avoiding frequent disk writes • This avoids “disk pinging” experienced with 8i OPS due to frequent writes to disk • Data is “juggled” in memory, without touching down on the disk

  8. Cache Fusion Scenario 1: Read/Read Cache Fusion – GCS Processing Global Cache Service (GCS) (1) Request (2) Forward (4) Inform GCS 1: (Shared, Local) 2: (Shared, Local) Locks: (None)  (Shared, Local) Locks: (Shared, Local) SGA Buffer Cache SGA Buffer Cache Block Block (3) Ship Instance 1 Instance 2 Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  9. Cache Fusion Scenario 2: Write/Write Cache Fusion – GCS Processing Global Cache Service (GCS) (1) Request (2) Forward (4) Inform GCS 1: (Exclusive, Global) 2: (Null, Global, Past Image) Locks: (None)  (Exclusive, Global) Locks: (Exclusive, Local)  (Null, Global, Past Image) SGA Buffer Cache SGA Buffer Cache Block Block (3) Ship Instance 1 Instance 2 Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  10. Cache Fusion Scenario 3: Write Blocks to Disk – GCS Processing (1) Write Request Global Cache Service (GCS) (2) Forward (5) Flush PI (4) Notify GCS of write and inform GCS 1: (Exclusive Local) 2: (None) Locks: (Exclusive, Global)  (Exclusive, Local) Locks: (Null, Global, Past Image)  (None) SGA Buffer Cache SGA Buffer Cache Block Block Instance 1 Instance 2 (3) Write Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  11. Online Instance Recovery Steps • Instance Failure detected by Cluster Manager and GCS • Reconfiguration of GES resources (enqueues); global resource directory is frozen • Reconfiguration of GCS resources; involves redistribution among surviving instances • One of the surviving instances becomes the “recovering instance”

  12. Online Instance Recovery Steps (cont.) • SMON process of recovering instance starts first pass of redo log read of the failed instance’s redo log thread • SMON finds BWR (block written records) in the redo and removes them as their PI is already written to disk • SMON prepares recovery set of the blocks modified by the failed instance but not written to disk • Entries in the recovery list are sorted by first dirty SCN • SMON informs each block’s master node to take ownership of the block for recovery

  13. Online Instance Recovery Steps (cont.) • Second pass of log read begins. • Redo is applied to the data files. • Global Resource Directory is unfrozen

  14. RAC Recovery – Solving the Mystery • Recovering from a failed RAC instance is like solving a Detective mystery • Part of the evidence is missing – by definition, the failed instance is inaccessible at recovery time • There are clues – in this case the lock state and mode of the blocks on the surviving nodes. • Tip 1: Whichever node has an exclusive lock on a given block has the most recent version of that block • Tip 2: If the mode of surviving blocks is local, any change made was on one node ony. If the mode of surviving blocks is global, changes have been made on multiple nodes. • Tip 4: If the block mode is global and a node has a past image, there is a newer version of the block on another node.

  15. Lock Remastering – (Scenario-1) Recovering Instance A Open Instance B Failed Instance C Exclusive, Local None Lock Held X Current copy of buffer Exclusive, Local None Lock Aquired Remove from recovery list Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  16. Lock Remastering – (Scenario-2) Recovering Instance A Open Instance B Failed Instance C Exclusive, Global Null, Global, Past Image Lock Held X Exclusive, Global Null, Global, Past Image Lock Acquired Remove from recovery list Write to disk Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  17. Lock Remastering – (Scenario-3) Recovering Instance A Open Instance B Failed Instance C None Exclusive, Local Lock Held X None Exclusive, Local Lock Acquired Remove from recovery list No need to write to disk Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  18. Lock Remastering – (Scenario-4) Recovering Instance A Open Instance B Failed Instance C Null, Global, Past Image Exclusive, Global Lock Held X Null, Global, Past Image Exclusive, Global Lock Acquired Remove from recovery list Write to disk Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  19. Lock Remastering – (Scenario-5) Recovering Instance A Open Instance B Failed Instance C None Exclusive, Global Lock Held X Null, Global, Past Image None Lock Acquired Remove from recovery list write to disk Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  20. Lock Remastering – (Scenario-6) Recovering Instance A Open Instance B Failed Instance C None None (Exclusive, Local Implied) Lock Held X Exclusive, Local None Lock Acquired Keep in recovery list Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  21. Lock Remastering – (Scenario-7) Recovering Instance A Open Instance B Failed Instance C None (Exclusive, Global Implied) Null, Global, Past Image Lock Held X Exclusive, Global Null, Global, Past Image Lock Aquired Keep in recovery list Send Cr block to A Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  22. Lock Remastering – (Scenario-8) Recovering Instance A Open Instance B Failed Instance C Null, Global, Past Image Null, Global (Exclusive, Global Implied) Lock Held X Exclusive, Global, Past Image Null, Global Lock Aquired Keep in recovery list Send Cr block to A Based on “ Oracle 9i RAC Oracle Real Application Clusters Configuration and Interals” Mike Ault, Madhu Tumma

  23. Review • Name two times that data blocks and enqueues are synchronized. • True or false: since communication across the private interconect is fast, you want to maximize the amount of inter-node communication. • True or false: multiple instances may hold Past Images of the same block at the same time. • All cache fusion requests must pass through the ___. • True or false: an instance with an exclusive lock with a global resource role contains the most current version of a block.

  24. Summary • Cache Fusion synchronizes resources cluster-wide such as: • Data blocks • Enqueues • Past Images are used to maintain data block integrity • No immediate disk write required • Avoids “disk pinging” • The GCS plays a key role in performing the necessary block transfers • Including lock mode conversions • Upon recovery, GCS remasters cache resources of a failed node or nodes on one or more recovery nodes

More Related