再次理解:關閉資料庫的幾個模式

wmsok發表於2013-07-20

原文來自:http://www.linuxidc.com/Linux/2011-11/46919.htm

關閉資料庫過程

1.1 關閉資料庫

1. 把高速緩衝區和重做日誌緩衝區中的內容分別寫入資料檔案和聯機日誌檔案,

2. 關閉所有聯機資料檔案日誌檔案

此時控制檔案仍處於開啟狀態.

1.2 解除安裝資料庫

1. 從一個例項卸裝資料庫

2. 關閉控制檔案

此時例項依然存在。

1.3 關閉例項

1. 關閉alert檔案和跟蹤檔案

2. 釋放SGA

3. 終止後臺程式

資料庫關閉模式

指令

操作過程說明

注意事項

 

shutdown normal

 阻止任何使用者建立新的連線

 等待當前所有正在連線的使用者主動斷開連線正在連線的使用者能夠繼續他們當前的工作甚至能夠提交新的事務.

 直到所有的使用者都斷開連線(自己斷開)才進行關閉、制裁資料庫並終止例程.

重點在等待會話結束,然後關閉資料庫

 

 

shutdown transactional

transactional選項比normal選項稍微主動些它能在儘可能短的時間內關閉資料庫.

 阻止任何使用者建立新的連線同時阻止當前連線的使用者開始任何新的事務

 等待所有當前未提交的活動事務提交完後然後立即斷開使用者的連線

 斷開連線立即進行關閉、制裁資料庫並終止例程

重點在等待事物結束,然後幹掉會話,關閉資料庫

 

shutdown immediate

immediate選項關閉資料庫就能夠在儘可能短的時間內關閉資料庫.

 阻止任何使用者建立新的連線同時阻止當前連線的使用者開始任何新的事務

 立即結束當前正在執行的sql語句

 任何當前未提交的事務均被回退

 斷開連線關閉、解除安裝資料庫並終止例程

重點在不管事物完成和會話結束了,直接把未提交的事物被回退,如果事物較多,關閉的時間就比較長了。

話說回來,回退事物還是在九屆於事物

 

shutdown abort

如果上述三種選項都無法成功關閉資料庫就說明資料庫存在嚴重錯誤這時只能使用abort選項來關閉資料庫.

 阻止任何使用者建立新的連線,同時阻止當前連線的使用者開始任何新的事務。

 立即終止當前正在執行的SQL語句。

 任何未提交的事務均不被退名。

 直接終止例項。

不再糾結於事物,沒有完全檢查點,直接終止例項,下一次啟動時需要進行例項恢復

關閉模式與過程關係

關閉模式

Abort

Immediate

Transactional

Normal

 

允許新連線

X

X

X

X

 

 

等到當前會話結束

X

X

X

 

等到當前事務結束

X

X

 

執行檢查點並關閉檔案

X

 

 

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

相關文章