Parallel transaction recovery
    1.
    发明授权
    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
    2.
    发明授权
    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.

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

    Performing 2-phase commit with presumed prepare
    3.
    发明授权
    Performing 2-phase commit with presumed prepare 有权
    执行两阶段提交,假定准备

    公开(公告)号:US06684223B1

    公开(公告)日:2004-01-27

    申请号:US10125911

    申请日:2002-04-18

    IPC分类号: G06F1700

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

    摘要翻译: 提供了一种用于执行两阶段提交的机制。 这些机制以减少协调数据库系统和参与数据库系统之间传输的消息数量以及完成两阶段提交执行的日志刷新次数的方式执行两阶段提交。 为了确定特定参与数据库系统是否准备提交,协调数据库系统首先检查位于协调数据库系统上的外部日志跟踪数据。 用于指示其他数据库系统上日志的各种状态的外部日志跟踪数据用于确定特定参与数据库系统是否准备提交。

    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.

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

    Performing 2-phase commit with presumed prepare
    5.
    发明授权
    Performing 2-phase commit with presumed prepare 有权
    执行两阶段提交,假定准备

    公开(公告)号:US06510421B1

    公开(公告)日:2003-01-21

    申请号:US09222407

    申请日:1998-12-29

    IPC分类号: G06F1700

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

    摘要翻译: 提供了一种用于执行两阶段提交的机制。 这些机制以减少协调数据库系统和参与数据库系统之间传输的消息数量以及完成两阶段提交执行的日志刷新次数的方式执行两阶段提交。 为了确定特定参与数据库系统是否准备提交,协调数据库系统首先检查位于协调数据库系统上的外部日志跟踪数据。 用于指示其他数据库系统上日志的各种状态的外部日志跟踪数据用于确定特定参与数据库系统是否准备提交。

    Performing 2-phase commit with delayed forget
    6.
    发明授权
    Performing 2-phase commit with delayed forget 有权
    执行延迟忘记的两阶段提交

    公开(公告)号:US06493726B1

    公开(公告)日:2002-12-10

    申请号:US09222553

    申请日:1998-12-29

    IPC分类号: G06F1700

    摘要: A method and apparatus for performing a two-phase commit of a transaction is provided. The mechanisms described herein 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. Once the coordinating database system determines that all participating database systems participating in a database transaction are prepared to commit, the coordinating database system commits the transaction on the coordinating database system. Forget requests are then transmitted to each of the participating database systems. Rather than waiting to receive a forget acknowledgment and performing other forget processing operations, the coordinating database system delegates this work to a forget collector. A commit acknowledgement may be sent to a user by the coordinating database system prior to receiving the forgot acknowledgements, and the user may proceed as if the whole transaction is committed on all database systems. When a participating database system receives a forget request for a transaction, the participating database system commits the transaction by generating a commit record in its log. Rather than flushing the log to make the commit persistent, and performing other forget processing operations, the participating database system hands off this work to a forget collector.

    摘要翻译: 提供了一种用于执行交易的两阶段提交的方法和装置。 这里描述的机制以减少在协调数据库系统和参与数据库系统之间传输的消息的数量以及完成两阶段提交执行的日志刷新的次数的方式执行两阶段提交。 一旦协调数据库系统确定参与数据库事务的所有参与数据库系统准备提交,协调数据库系统就在协调数据库系统上提交事务。 然后将请求发送到每个参与数据库系统。 协调数据库系统不是等待收到忘记确认和执行其他忘记处理操作,而是将此工作委托给忘记的收集器。 在接收到忘记确认之前,可以由协调数据库系统向用户发送提交确认,并且用户可以像在所有数据库系统上提交整个事务那样继续进行。 当参与数据库系统收到事务的忘记请求时,参与数据库系统通过在其日志中生成提交记录来提交事务。 而不是刷新日志以使提交持久,并执行其他忘记处理操作,参与的数据库系统将此工作交给一个忘记的收集器。

    Method and apparatus for determing whether a transaction can use a version of a data item
    7.
    发明授权
    Method and apparatus for determing whether a transaction can use a version of a data item 失效
    用于确定事务是否可以使用数据项的版本的方法和装置

    公开(公告)号:US06192377B1

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

    申请号:US09078358

    申请日:1998-05-13

    IPC分类号: G06F1730

    摘要: A method and an apparatus for determining whether a transaction can use a version of a data item is provided. Transaction summary data is generated that is associated with one or more transactions that have updated a version of the data item. The transaction summary data specifies both a data buffer refresh time and a data buffer commit time. The data buffer refresh time is indicative of the latest time at which the version of data is guaranteed to be current. The data buffer commit time is indicative of the commit time of a most recently committed transaction from the one or more transactions that committed after updating the version of the data item. A determination is made, based upon the transaction summary data and a snapshot time used by the first transaction, whether the version of the data item is to be provided to the first transaction. The data buffer commit time is updated to reflect the commit time of other transactions that commit after updating the version of the data item.

    摘要翻译: 提供了一种用于确定事务是否可以使用数据项的版本的方法和装置。 生成与更新数据项的版本的一个或多个事务相关联的事务摘要数据。 事务摘要数据指定数据缓冲区刷新时间和数据缓冲区提交时间。 数据缓冲区刷新时间表示数据版本被保证为当前的最新时间。 数据缓冲区提交时间指示在更新数据项的版本之后提交的一个或多个事务中最近提交的事务的提交时间。 基于事务摘要数据和由第一事务使用的快照时间,确定是否将数据项的版本提供给第一事务。 更新数据缓冲区提交时间以反映在更新数据项的版本后提交的其他事务的提交时间。

    Recovering resources in parallel
    8.
    发明授权
    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.

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

    Processing in parallel units of work that perform DML operations on the same spanning rows
    9.
    发明授权
    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.

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

    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 有权
    用于在回滚整个死锁事务之前使可用数据被死锁交易锁定的方法和装置

    公开(公告)号: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.

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