摘要:
Processing a database statement received from a database client, which requests information about the timing of a last committed change to a row in a database table, comprises retrieving a logical time value that represents a commit time associated with the row and providing the value to the client. In one embodiment, providing the logical time value to the client is enabled by database infrastructure in which a virtual column is used to temporarily “store” the value so that the value can be manipulated as if the value resided in a column of the row. Performance of operations that involve the virtual column are processed similar to real columns, as if data was actually logically stored in the virtual column. For example, the virtual column can be used in condition clauses of database statements for concurrency control.
摘要:
One embodiment of the present invention provides a system for automatically classifying data in a database. During operation, the system receives and executes a database operation. Next, the system automatically determines if any data was modified as a result of executing the database operation. If so, for each data item that was modified, the system automatically determines if the data item is associated with a classification-rule. If so, the system automatically reclassifies the data item according to the classification-rule. If not, the system leaves a classification of the data item unchanged.
摘要:
One embodiment of the present invention provides a system for automatically classifying data in a database. During operation, the system receives and executes a database operation. Next, the system automatically determines if any data was modified as a result of executing the database operation. If so, for each data item that was modified, the system automatically determines if the data item is associated with a classification-rule. If so, the system automatically reclassifies the data item according to the classification-rule. If not, the system leaves a classification of the data item unchanged.
摘要:
A bulk delete operation with reduced latency allows for retrieval of deleted data. Each database object holds a Delete SCN indicating when a bulk delete operation was last performed. Each row in the database object holds a Row Modification SCN indicating when the row was last updated. A bulk delete is performed by writing the old value of the Delete SCN to the undo tablespace and updating the Delete SCN. No undo information is stored for the rows. A write is performed by finding a deleted row, storing undo information for the deleted row and writing over the deleted row. To read from the database object, a rollback operation is performed, if necessary. Those rows are then retrieved for which the Row Modification SCN is higher than the Delete SCN and is less than or equal to the timestamp for the requested data.
摘要:
A method and apparatus for database-driven distributed recovery is provided. According to one aspect, a transaction manager sends, to one or more resource managers, connection information that indicates how to connect to the transaction manager. A resource manager that receives the connection information establishes an association between the connection information and the distributed transaction for which the connection information was received. If the resource manager is ever in doubt concerning whether the distributed transaction should be committed, the resource manager uses the associated connection information to send, to the transaction manager, a request for status information. The transaction manager maintains status information that indicates whether the distributed transaction should be committed, and responds to the resource manager with the requested status information. The resource manager receives the status information and, based on the status information, either commits or rolls back its portion of the distributed transaction.
摘要:
A method and apparatus for performing file system operation locks at a database server is provided. A request to perform a file operation on a portion of a file managed by a database server is received at the database server. In response to receiving the request, the database server grants a lock that covers only a portion of the file that is involved in the file operation. For example, the database server may grant a lock that covers a range of bytes on the file, where the range of bytes is less than the entire file. Thereafter, the database server performs the file operation on the file. The file operation may be a NFS operation.
摘要:
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, system, and computer program product is disclosed for caching results in a client-side cache. Embodiments of a method, a system, and a computer program product are disclosed that associate a first snapshot of a database with a client that indicates a state of the database after a last database request by the client, and indicate any number of invalid cached results in the client cache for the client based upon the first snapshot. In some embodiments, the method further includes receiving a second snapshot that indicates a state of the database upon receipt of a database server request by the client, and updating the first snapshot with the second snapshot.