Method and apparatus for incremental undo
    1.
    发明授权
    Method and apparatus for incremental undo 失效
    增量撤销的方法和装置

    公开(公告)号:US06185577B2

    公开(公告)日:2001-02-06

    申请号:US09103515

    申请日:1998-06-23

    IPC分类号: G06F1200

    摘要: A method and apparatus for incremental undo is provided. A process, executing in a database system, establishes a rollback entry in an undo log file as a current rollback entry. The rollback entry, which was selected from a set of rollback entries contained in an undo record, contains data that indicates a change made by a transaction to a data block in the database system. The process first determines whether the rollback entry has been applied by testing a status flag. In one embodiment, the status flag is a bit in a bit vector in the undo block. If the rollback entry has been applied to the database, then the rollback entry is not re-applied; rather, a next rollback entry is established from the set of rollback entries and the process repeats. If the rollback entry has not been applied, then undo information from the rollback entry is retrieved from the undo block and change is generated. The status flag is set to indicate that the rollback entry has been applied and a next rollback entry corresponding to the data block is retrieved. The process repeats until there are no more rollback entries to be performed, then the multiple changes are applied to disk in a single atomic operation.

    摘要翻译: 提供了一种用于增量撤销的方法和装置。 在数据库系统中执行的进程在undo log文件中建立回滚条目作为当前回滚条目。 从包含在撤消记录中的一组回滚条目中选择的回滚条目包含指示事务对数据库系统中的数据块所做的更改的数据。 该过程首先通过测试状态标志确定是否应用了回滚条目。 在一个实施例中,状态标志是撤销块中位向量中的位。 如果回滚条目已应用于数据库,则不会重新应用回滚条目; 相反,从回滚条目集合和过程重复建立下一个回滚条目。 如果没有应用回滚条目,则从undo块中检索到回滚条目中的undo信息,并生成更改。 状态标志被设置为指示回滚条目已被应用,并且检索与数据块相对应的下一个回滚条目。 该过程重复,直到没有更多的回滚条目被执行,然后在单个原子操作中将多个更改应用于磁盘。

    Tracking dependencies between transactions in a database
    2.
    发明授权
    Tracking dependencies between transactions in a database 失效
    跟踪数据库中的事务之间的依赖关系

    公开(公告)号:US5806076A

    公开(公告)日:1998-09-08

    申请号:US740544

    申请日:1996-10-29

    IPC分类号: G06F9/46 G06F17/30

    摘要: A method and an apparatus for tracking of the dependencies between transactions is provided. Every time a data item is updated, a record is made of the transaction that updated the data item. Before another transaction locks a data item previously locked by the transaction, the entry is updated to indicate that the transaction committed and the commit time of the transaction. These entries are contained in a list head that is maintained on the same block as the data item, and a list tail that is stored separate from the data block that contains the data item. A depends-on time is maintained for each transaction. Whenever the transaction updates a data item, the depends-on time is set to the greater of the current depends-on time and the commit time of the most recently committed transaction that updated the version of the data item. Whether a transaction depends on a committed transaction is then determined based on a simple comparison between the depends-on time associated with the transaction and the commit time of the committed transaction.

    摘要翻译: 提供了用于跟踪事务之间的依赖关系的方法和装置。 每次更新数据项时,都会对更新数据项的事务进行记录。 在另一个事务锁定先前由事务锁定的数据项之前,将更新该条目以指示事务已提交和事务的提交时间。 这些条目包含在与数据项相同的块上维护的列表头中,以及与包含数据项的数据块分开存储的列表尾。 维护每个交易的依赖时间。 每当事务更新数据项时,依赖时间被设置为当前依赖时间的更大值以及更新数据项版本的最近提交的事务的提交时间。 然后,基于与事务相关联的依赖时间与承诺事务的提交时间之间的简单比较来确定事务是否依赖于提交的事务。

    Processing in parallel units of work that perform DML operations on the same spanning rows
    3.
    发明授权
    Processing in parallel units of work that perform DML operations on the same spanning rows 有权
    在并行的工作单元中处理在相同跨度行上执行DML操作

    公开(公告)号:US06961729B1

    公开(公告)日:2005-11-01

    申请号:US09771292

    申请日:2001-01-25

    IPC分类号: G06F17/30

    摘要: A mechanism is described for constructing work granules, where the work granules are constructed independently of whether two or more of the work granules are assigned to operate on a logical storage unit that contains a portion of the same row. A database system maintains transaction control data for data blocks in a manner that avoids self-deadlocks for slaves that follow a row collision protocol. A row collision protocol is a set of rules or steps that slaves follow to ensure that only one subtransaction in a distributed transaction updates a spanning row. Thus, for a particular spanning row, a single subtransaction modifies all the row pieces of the spanning row in any data block containing any row pieces of the spanning row. Consequently, a given data block may be affected by multiple subtransactions in a distributed transaction, one subtransaction affecting a row piece in the data block, another subtransaction affecting other rows in the data block.

    摘要翻译: 描述了用于构造工作颗粒的机构,其中工作颗粒被构造为独立于是否分配两个或更多个工作颗粒以在包含相同行的一部分的逻辑存储单元上操作。 数据库系统以避免针对跟随行冲突协议的从站的自死锁的方式维护数据块的事务控制数据。 行冲突协议是一组随后遵循的规则或步骤,以确保分布式事务中只有一个子事务更新跨越行。 因此,对于特定的跨越行,单个子迁移修改包含跨越行的任何行的任何数据块中的跨越行的所有行。 因此,给定的数据块可能受到分布式事务中的多个子事务的影响,影响数据块中的行块的一个子事务处理,影响数据块中的其他行的另一个子事务处理。

    System and method for providing fine-grained temporal database access
    4.
    发明授权
    System and method for providing fine-grained temporal database access 有权
    提供细粒度时间数据库访问的系统和方法

    公开(公告)号:US06631374B1

    公开(公告)日:2003-10-07

    申请号:US09676305

    申请日:2000-09-29

    IPC分类号: G06F1730

    摘要: 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.

    摘要翻译: 描述了用于在一致的读取实现的数据库中选择性地观看时间行数据的系统和方法。 跟踪对数据库执行行数据更改的提交事务,并在每个已提交事务上分配存储的系统更改号。 存储未提交事务的回滚段。 每个回滚段存储事务标识符和事务表条目,其中包含反映数据库更改的排序行数据值。 数据库在日志提交时间响应每个提交的事务转换为连续一致的版本。 在每个提交的事务的提交时间之后,将为用户定义的保留期维护事务表条目。 从至少一个提交事务的提交时间之前发生的查询时间执行来自数据库的查询选择行数据值。 检索包含在存储至少一个已提交事务的事务标识符的回滚段中的有序行数据值。

    Recovering resources in parallel
    5.
    发明授权
    Recovering resources in parallel 有权
    并行恢复资源

    公开(公告)号:US06295610B1

    公开(公告)日:2001-09-25

    申请号:US09156551

    申请日:1998-09-17

    IPC分类号: G06F1114

    摘要: A method and apparatus for removing changes made by a particular transaction is provided. According to one aspect, two or more sets of changes that were made by a particular transaction that can be removed in parallel are identified. A corresponding recovery process is assigned to each of the two or more sets of changes. Using the corresponding recovery process, the changes identified in each of the two or more sets of changes are undone in parallel.

    摘要翻译: 提供了一种用于去除由特定交易进行的改变的方法和装置。 根据一个方面,识别由可以并行移除的特定事务进行的两组或更多组更改。 相应的恢复过程被分配给两组或更多组更改中的每一个。 使用相应的恢复过程,在两组或更多组更改中识别的更改被并行撤销。

    Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction
    6.
    发明授权
    Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction 有权
    用于在回滚整个死锁事务之前使可用数据被死锁交易锁定的方法和装置

    公开(公告)号:US06647510B1

    公开(公告)日:2003-11-11

    申请号:US09748408

    申请日:2000-12-22

    IPC分类号: H02H305

    摘要: A method and apparatus for removing changes made by a dead transaction is provided. According to the method, a first change is performed by the dead transaction prior to a second change. The first change made by the dead transaction is then undone prior to undoing the second change made by the dead transaction. According to another aspect of the invention, a method and apparatus for applying changes in redo records to make a particular resource reflect changes made to the particular resource in volatile memory before a failure is provided. The method includes establishing links that link together a set of redo records that contain changes made to the particular resource. The links are then followed to apply the changes contained in the set of redo records to cause the particular resource to reflect the changes made to the particular resource in volatile memory before the failure. According to another aspect of the invention, a method and apparatus for applying changes in two or more redo records in parallel is provided. According to the method, a plurality of resources are locked by a dead transaction. A plurality of sets of redo records are established that do not contain any redo records that depend on any redo records in any other set of redo records. The plurality of sets of redo records are applied in parallel relative to one another.

    摘要翻译: 提供了一种用于去除由死交易引起的改变的方法和装置。 根据该方法,在第二次更改之前通过死交易执行第一改变。 死亡交易所做的第一个变更在撤销死亡交易所做的第二次变更之前被撤消。 根据本发明的另一方面,一种用于在重做记录中应用变化以使特定资源反映在提供故障之前对易失性存储器中的特定资源所做出的改变的方法和装置。 该方法包括建立将包含对特定资源所做的更改的一组重做记录链接在一起的链接。 然后将链接应用于重做记录集中所包含的更改,以使特定资源反映在故障之前对易失性存储器中特定资源所做的更改。 根据本发明的另一方面,提供了一种用于并行地应用两个或更多个重做记录中的改变的方法和装置。 根据该方法,多个资源被死交易锁定。 建立了多组重做记录,其中不包含依赖任何其他重做记录集中的任何重做记录的任何重做记录。 多个重做记录集相对于彼此平行地应用。

    Transitioning ownership of data items between ownership groups
    7.
    发明授权
    Transitioning ownership of data items between ownership groups 有权
    在所有权组之间转换数据项目的所有权

    公开(公告)号:US06341340B1

    公开(公告)日:2002-01-22

    申请号:US09222593

    申请日:1998-12-28

    IPC分类号: G06F1200

    CPC分类号: G06F17/30575

    摘要: A database or some portion thereof is partitioned into ownership groups. Each ownership group is assigned one or more database servers as owners of the ownership group. The database servers that are assigned as owners of an ownership group are treated as the owners of all data items that belong to the ownership group. That is, they are allowed to directly access the data items within the ownership group, while other database servers are not allowed to directly access those data items. A mechanism is provided for transitioning ownership of a data item. Ownership is transferred by disabling access to the data item, waiting for all transactions that have made changes to the data item to either commit or abort, changing data that indicates ownership of the data item from a first owner to a second owner, and enabling access to the data item.

    摘要翻译: 数据库或其一部分被划分为所有权组。 每个所有权组被分配一个或多个数据库服务器作为所有权组的所有者。 分配为所有者组的所有者的数据库服务器将被视为属于所有权组的所有数据项的所有者。 也就是说,它们被允许直接访问所有权组内的数据项,而其他数据库服务器不允许直接访问这些数据项。 提供了一种转换数据项所有权的机制。 通过禁用对数据项的访问,等待对数据项进行更改的所有事务进行提交或中止,将数据项的所有权从第一个所有者更改为第二个所有者,并启用访问权限 到数据项。

    Parallel transaction recovery
    9.
    发明授权
    Parallel transaction recovery 有权
    并行事务恢复

    公开(公告)号:US07415466B2

    公开(公告)日:2008-08-19

    申请号:US10804976

    申请日:2004-03-18

    IPC分类号: G06F17/30

    摘要: A method and system for recovering after a crash of an instance in a database is disclosed. According to the method, a plurality of dead transactions associated with the crashed instance are identified. Statistical data is compiled from the identified plurality of dead transactions. Based on the statistical data, it is determined that a particular number of recovery servers should be used to recover the plurality of dead transactions. The plurality of dead transactions are then recovered using the particular number of recovery servers. The particular number of recovery servers can execute in parallel to recover the plurality of dead transactions.

    摘要翻译: 公开了在数据库中的实例崩溃之后恢复的方法和系统。 根据该方法,识别与崩溃的实例相关联的多个死亡事务。 统计数据从所识别的多个死亡事务中编译。 基于统计数据,确定应使用特定数量的恢复服务器来恢复多个死亡事务。 然后使用特定数量的恢复服务器恢复多个死亡事务。 恢复服务器的特定数量可以并行执行以恢复多个死锁事务。

    Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction
    10.
    发明授权
    Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction 有权
    用于在回滚整个死锁事务之前使可用数据被死锁交易锁定的方法和装置

    公开(公告)号:US07237147B2

    公开(公告)日:2007-06-26

    申请号:US10650362

    申请日:2003-08-27

    IPC分类号: G06F11/00

    摘要: Described is an approach for recovering the failure of a transaction. According to the approach, a first change and a third change is made to a first resource and a second change is made to a second resource. The second change was made after the first but before the third. However, to recover the failure of the transaction, a recovery record for the third change is applied before the recovery record for the second change. Also described is an approach involving establishing links that link together a set of undo records that contain changes made to the particular resource. Also described is an approach for applying two or more undo records in parallel.

    摘要翻译: 描述了一种恢复交易失败的方法。 根据该方法,对第一资源进行第一改变和第三改变,并且对第二资源进行第二改变。 第二次改变是在第一次但是在第三次之前进行的。 但是,为了恢复事务的故障,在第二次更改的恢复记录之前应用第三次更改的恢复记录。 还描述了一种涉及建立将包含对特定资源所做的改变的一组撤销记录链接在一起的链接的方法。 还描述了并行应用两个或多个撤销记录的方法。