070202-Commit Transactions
Before a transaction that modifies data is committed, the following has occurred:
_ Oracle has generated rollback segment records in buffers in the SGA that store
rollback segment data. The rollback information contains the old data values
changed by the SQL statements of the transaction.
_ Oracle has generated redo log entries in the redo log buffer of the SGA. The
redo log record contains the change to the data block and the change to the
rollback block. These changes may go to disk before a transaction is committed.
_ The changes have been made to the database buffers of the SGA. These changes
may go to disk before a transaction is committed.
(在一个事务提交之前,oracle内部执行的操作:
1. Oracle会生成一个回滚段在SGA的缓冲区内存储回滚段的数据,包括老数据
2. Oracle会在SGA的重做日志缓冲区内生成重做日志信息。这些信息包括数据块的变化和回滚块的变化。这些变化可能会在事务提交之前写入磁盘。
3. 产生的变化会写入SGA的库缓存,可能会在事务提交之前写入磁盘)
When a transaction is committed, the following occurs:
1. The internal transaction table for the associated rollback segment records that
the transaction has committed, and the corresponding unique system change
number (SCN) of the transaction is assigned and recorded in the table.
2. The log writer process (LGWR) writes redo log entries in the SGA’s redo log
buffers to the online redo log file. It also writes the transaction’s SCN to the
online redo log file. This atomic event constitutes the commit of the transaction.
3. Oracle releases locks held on rows and tables.
4. Oracle marks the transaction complete.
(食物提交后所做的操作:
1. 记录事务的提交,生成新的SCN号
2. 在线联机日志文件写相应的重做日志和SCN。
3. 释放相应的锁(行级锁和表级锁)。
4. 标记整个完整的事务。)
下步要好好的接触下linux了~