摘要:
A method and apparatus for data recovery are disclosed. A plurality of queries executing in a database system are tracked. A query with a longest duration is selected and undo retention duration is calculated for supporting the longest query.
摘要:
A method and apparatus for updating databases are disclosed. In response to a flashback request, a database object is restored to a state as of a specified flashback time. The changes introduced into the database object are reversed in a sequence starting with a change introduced into the database object immediately before issuance of the flashback request and ending with a change introduced into the database object immediately after the specified flashback time.
摘要:
A method and mechanism of accessing segments in data storage systems is disclosed. In one embodiment, extents in a segment are coalesced into groups based on the data storage device each extent is stored on. Rather than submit an I/O operation for each extent, a single I/O operation is submitted for each group of extents.
摘要:
Disclosed is a mechanism, system, interface, and process to allow specification of a new table decoration clause to obtain one or more past version of one or more data items. The version query provides for a direct interface to get multiple versions of the row(s). In addition, information about the past versions can be retrieved and displayed along with the past versions. Also disclosed are algorithms, mechanisms, and processes that are employed to implement a query upon past versions. In one approach, the version query can be defined as either “rowid”-based access or non-rowid based access. With rowid based access, a given rowid is used to identify the data for which past versions are desired. Also disclosed is a process for determining one or more life intervals when given a key.
摘要:
A query result set is an example of a type of body of data whose content is defined by a query. Modifications to a database can change the result of a query and therefore what the content of such a body of data, such as a result set, should be. Active Queries is an approach that enables a database server to detect database changes that alter the result of a query registered for a client and to notify a client of those changes. The notifications may be sent to, for example, a cache manager responsible for maintaining coherency of a result set cache generated by the query. The notification notifies the cache manager of when and/or what changes are needed to maintain the coherency of the cache.
摘要:
Techniques are provided for guaranteed undo retention. The techniques include a database server attempting to store undo information in undo storage. In order to store the undo information, the database server may overwrite expired undo records; write to empty undo extents; allocate new undo extents and write to the newly-allocated extents; or overwrite unexpired undo records that do not have guaranteed undo retention. If an undo record does not have guaranteed undo retention, then the undo record may be overwritten before the expiration time has elapsed. If no undo extent is empty or unallocated, and if all of the undo records are unexpired and have guaranteed undo retention, then the database system has, at least temporarily, run out of usable and reusable space and an error may be reported to an appropriate party.
摘要:
A method and mechanism for tracking dependencies at low granularity levels in a database system is disclosed. An embodiment utilities commit time values at low granularity levels which are associated with structures in a database system. Those associated commit time values are used to compute dependency values.
摘要:
A mechanism for performing a two-phase commit is provided. The mechanisms perform a two-phase commit in a manner that reduces the number of messages transmitted between a coordinating database system and the participating database systems, and the number of log flushes performed to complete a two-phase commit. To determine whether a particular participating database system is prepared to commit, the coordinating database system first examines external log tracking data that resides on the coordinating database system. External log tracking data, which indicates various states of logs on other database systems, is used to determine whether or not a particular participating database system is prepared to commit.
摘要:
A system and method for selectively viewing temporal row data in a consistent read-implemented database are described. Committed transactions effecting row data changes to a database are tracked and a stored system change number is assigned upon each committed transaction. Rollback segments for uncommitted transactions are stored. Each rollback segment stores a transaction identifier and transaction table entries containing ordered row data values reflecting the database changes. The database is transitioned into successive consistent versions responsive to each committed transaction at a journaled commit time. The transaction table entries are maintained for a user-definable retention period following the commit time of each committed transaction. A queried selection of row data values from the database is performed as of a query time occurring prior to the commit time of at least one committed transaction. The ordered row data values contained in the rollback segments storing a transaction identifier for the at least one committed transaction are retrieved.
摘要:
A mechanism for performing a two-phase commit is provided. The mechanisms perform a two-phase commit in a manner that reduces the number of messages transmitted between a coordinating database system and the participating database systems, and the number of log flushes performed to complete a two-phase commit. To determine whether a particular participating database system is prepared to commit, the coordinating database system first examines external log tracking data that resides on the coordinating database system. External log tracking data, which indicates various states of logs on other database systems, is used to determine whether or not a particular participating database system is prepared to commit.