首页 > Linux操作系统 > Linux操作系统 > Oracle词汇表(事务表(transaction table)”)

Oracle词汇表(事务表(transaction table)”)

原创 Linux操作系统 作者:wxdlut 时间:2012-03-14 21:28:49 0 删除 编辑

Transaction Table: Each undo segment header block (q.v.) has an area in it called the transaction table. When a transaction starts, it picks an undo segment to use then picks the oldest free entry (called a transaction table “slot”) from that segment header’s transaction table. This slot is the identifying marker for a transaction, and information about it is published in two ways – first as the transaction ID in v$transaction, and secondly in v$lock where a TX lock is reported in mode 6 (exclusive) by the session running the transaction. Both locations identify the transaction by the triple: (undo segment number, slot number, sequence number). (The number of slots in a transaction table is limited so each one has a sequence number stamped on it, and each time a slot is re-used the sequence number goes up by one). As a transaction starts, the “start SCN” is one of the items written to the transaction table slot; when the transaction commits this is changed to the “commit SCN“.

Transaction Table Slot: a single row in a Transaction Table (q.v.) representing a single transaction. Since there are only a limited number of rows (slots) in a transaction table, part of the row data includes a “usage counter”, known as the “sequence”. A transaction id is then the combination of the undo segment number that the transaction table is in, the row (slot) number in the transaction table, and the sequence number of the row (slot). The parts of the transaction id can be seen in the view v$transaction in the columns: xidusn, xidslot, xidsqn. In the latest versions of Oracle, the entire transaction id is also reported as a raw(8) column called xid.

Undo: (formerly known as rollback): information describing how to reverse out changes made to data blocks (including index blocks, bitmap file header blocks etc). A single undo record is a description of how to reverse out a single “db block change”.  Undo is stored in undo segments, which are created in undo tablespaces, and each undo segment header holds a “catalogue” (called the transaction table) which shows where recent transactions wrote their first undo record.

来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录


  • 博文量
  • 访问量