摘要:
A method and system for reducing overhead associated with recovering after a failure. According to the method, a checkpoint value is maintained that indicates which records of a plurality of records have to be processed after the failure. The plurality of records contain change information that corresponds to a plurality of data blocks. A target checkpoint value is determined based on a desired number of data block reads that will be required during a redo phase of recovery. Changes contained in volatile memory are then written to nonvolatile memory to advance the checkpoint value to at least the target checkpoint value.
摘要:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
摘要:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
摘要:
A method and system for reducing overhead associated with recovering after a failure. According to the method, a checkpoint value is maintained that indicates which records of a plurality of records have to be processed after the failure. The plurality of records contain change information that corresponds to a plurality of data blocks. A target checkpoint value is determined based on a desired number of data block reads that will be required during a redo phase of recovery. Changes contained in volatile memory are then written to nonvolatile memory to advance the checkpoint value to at least the target checkpoint value.
摘要:
Described herein are approaches for partitioning a buffer cache for dynamically selecting buffers in the buffer cache to store data items, such as data blocks in a DBMS. The selection is based on data access and/or usage patterns. A buffer cache includes multiple buffer pools. A buffer pool is selected from among the multiple buffer pools to store a data item. The selection of a buffer pool is based on various factors, including the likelihood that storing the data item will produce future cache hits, and properties of buffer pools that vary between the buffer pools. Properties of a buffer pool include not only how the buffer pools are organized, both logically and physically, but also how the buffer pool is managed. Examples of a buffer pool property include buffer pool size, size of a buffer in the buffer pool, and the replacement strategy used for a buffer pool (e.g. LRU).
摘要:
The present invention provides a method and apparatus for partitioning a buffer cache for dynamically mapping data blocks with a particular replacement strategy based on the associated table's access and/or usage patterns. According to the method, a buffer cache in a computer system is managed by dividing the buffer cache into multiple buffer pools. In managing the buffer cache, when a data item is requested, it is first determined whether the requested data item is stored in a buffer within the buffer cache. If the requested data item is not stored in a buffer in the buffer cache, then a particular buffer pool in the buffer cache is dynamically selected for storing the requested data item. Once the particular buffer pool is selected, the requested data item is stored into a buffer in the particular buffer pool.
摘要:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for transferring data items and locks associated with the data items from one node to another.
摘要:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
摘要:
A pluggable tablespace is enabled by logically partitioning a database into a set of tablespaces and storing all of the tablespaces disk pointers in tablespace-relative format. A pluggable set of tablespaces is unplugged by generating the associated metadata, and making a binary copy of the tablespaces. The pluggable set of tablespaces is plugged into a target database by making the pluggable set accessible to the target database and incorporating the associated metadata, without patching any of the disk pointers.
摘要:
A method and system for reducing overhead associated with recovering after a failure. According to the method, a checkpoint value is maintained that indicates which records of a plurality of records have to be processed after the failure. The plurality of records contain change information that corresponds to a plurality of data blocks. A target checkpoint value is determined based on a desired number of data block reads that will be required during a redo phase of recovery. Changes contained in volatile memory are then written to nonvolatile memory to advance the checkpoint value to at least the target checkpoint value. According to another aspect of the invention, the target checkpoint value is determined using a circular queue of offset buckets. The offset buckets are used to store index values that are associated with buffers in the ordered list. The target checkpoint value is periodically set equal to an index value that is contained in an offset bucket. According to another aspect of the invention, the target checkpoint value is determined by calculating a maximum number of records that should be processed after the failure. The maximum number of records is based on the desired number of data block reads that will be required during the redo phase of the recovery. The target checkpoint value is updated based on the maximum number of records.