Oracle logging 和nologging 的區別

tolywang發表於2008-07-03

.

[@more@]

redo log 記錄發生在oracle資料庫中的一舉一動,當你往表裡插入資料時候,如果表上存在索引,oracle會自動幫你維護這些索引。但是這個看似簡單的維護索引的工作背後有許多動作要做的,redo 就會生成這些全過程。

對於 nologging 引數:也只是在特定的條件下才會大大減少redo 生成的數量.
例如:


以下摘自


index creations and ALTERs (rebuilds).

Bulk INSERTs using a 'direct path insert' via the /*+ APPEND */ hint.

LOB operations (updates to large objects do not have to be logged).

Table creations via the CREATE TABLE AS SELECT.

Various ALTER TABLE operations such as MOVE and SPLIT.

---------------------------------------------------------------------------------------------------

恢復的時候是 直接針對 檔案的操作,不會象資料庫正在執行時候的 解析、產生redo、undo …… 沒有這些過程

日誌檔案中記錄了 對檔案變化的操作! 而索引的建立包含了一系列對檔案的修改。
nologging 只針對 create table ... as 和 direct insert 生效

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

相關文章