Cache Coherency in Oracle Parallel Server.

Boris Klots: Cache Coherency in Oracle Parallel Server. VLDB 1996: 583
  author    = {Boris Klots},
  editor    = {T. M. Vijayaraman and
               Alejandro P. Buchmann and
               C. Mohan and
               Nandlal L. Sarda},
  title     = {Cache Coherency in Oracle Parallel Server},
  booktitle = {VLDB'96, Proceedings of 22th International Conference on Very
               Large Data Bases, September 3-6, 1996, Mumbai (Bombay), India},
  publisher = {Morgan Kaufmann},
  year      = {1996},
  isbn      = {1-55860-382-4},
  pages     = {583},
  ee        = {db/conf/vldb/Klots96.html},
  crossref  = {DBLP:conf/vldb/96},
  bibsource = {DBLP,}


Oracle Parallel Server (OPS) is a relational database system running on a shared disk cluster. OPS allows a concurrent direct access of multiple users from multiple instances to all the data in the database. Shared disk architecture employed by Oracle has a number of advantages:

These advantages do not come for free. The challenge of this architecture (as of any clustered or distributed architecture) is to provide data coherency for the independent users of the system. The way to do that is to use locking. Oracle uses multiple level locking: row locks on transaction levels, instance locks within instances, and global locks among the instances. The latter are specific to Oracle Parallel Server.

In a nutshell the cache coherency protocol for Oracle Parallel Server is as follows. If a unit of data is being used at an instance and these data are requested at another instance, a conflict may occur. Global locks are used to resolve these conflicts. Before accessing the data unit instance acquires a lock on it. Another instance which wants to access same data unit asks for another lock on the data. This request can be either compatible or incompatible with the lock held by the first instance. If it is compatible (e.g. both instances want to read current data) the lock is granted to the requester and it proceeds with the operation. If the request is incompatible (e.g. the first instance writes and another instance wants also to modify the data) then the requester blocks. First instance is signaled with a request/order to finish its processing and flush the data to the shared disk storage. When it does so, it also releases the lock. Now the requester can be granted the requested lock, it reads the current copy of the block from the disk and proceeds. The global lock operations and all the communication involved in that are performed by Distributed Lock Manager (DLM).

In the talk we analyze two basic problems associated with the architecture of a locking scheme:

Copyright © 1996 by the VLDB Endowment. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the VLDB copyright notice and the title of the publication and its date appear, and notice is given that copying is by the permission of the Very Large Data Base Endowment. To copy otherwise, or to republish, requires a fee and/or special permission from the Endowment.

Online Paper

ACM SIGMOD Anthology

CDROM Version: Load the CDROM "Volume 1 Issue 5, VLDB '89-'97" and ... DVD Version: Load ACM SIGMOD Anthology DVD 1" and ...

Printed Edition

T. M. Vijayaraman, Alejandro P. Buchmann, C. Mohan, Nandlal L. Sarda (Eds.): VLDB'96, Proceedings of 22th International Conference on Very Large Data Bases, September 3-6, 1996, Mumbai (Bombay), India. Morgan Kaufmann 1996, ISBN 1-55860-382-4
Contents CiteSeerX Google scholar BibTeX bibliographical record in XML

Other Formats

Copyright © Tue Mar 16 02:22:06 2010 by Michael Ley (