user commit (118)

tsinglee發表於2007-10-31

When a user commits a transaction, the transaction is assigned a system change
number (SCN), which Oracle records along with the transaction’s redo entries in the
redo log. SCNs are recorded in the redo log so that recovery operations can be
synchronized in Real Application Clusters and distributed databases.
In times of high activity, LGWR can write to the redo log file using group commits. For
example, assume that a user commits a transaction. LGWR must write the
transaction’s redo entries to disk, and as this happens, other users issue COMMIT
statements. However, LGWR cannot write to the redo log file to commit these
transactions until it has completed its previous write operation. After the first
transaction’s entries are written to the redo log file, the entire list of redo entries of
waiting transactions (not yet committed) can be written to disk in one operation,
requiring less I/O than do transaction entries handled individually. Therefore, Oracle
minimizes disk I/O and maximizes performance of LGWR. If requests to commit
continue at a high rate, then every write (by LGWR) from the redo log buffer can
contain multiple commit records.

當使用者提交一個事務時 , 將被記錄一個SCN , 同樣也記錄在重做日誌檔案中 .
當系統處於高數位活動量時 , LGWR可以使用名為組提交的機制來減少磁碟I/O .

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10599713/viewspace-979921/,如需轉載,請註明出處,否則將追究法律責任。

相關文章