再次理解:關閉資料庫的幾個模式
原文來自:http://www.linuxidc.com/Linux/2011-11/46919.htm
1 關閉資料庫過程
1.1 關閉資料庫
1. 把高速緩衝區和重做日誌緩衝區中的內容分別寫入資料檔案和聯機日誌檔案,
2. 關閉所有聯機資料檔案和日誌檔案
此時控制檔案仍處於開啟狀態.
1.2 解除安裝資料庫
1. 從一個例項卸裝資料庫
2. 關閉控制檔案
此時例項依然存在。
1.3 關閉例項
1. 關閉alert檔案和跟蹤檔案
2. 釋放SGA
3. 終止後臺程式
2 資料庫關閉模式
指令 |
操作過程說明 |
注意事項 |
|
|||
shutdown normal |
◆ 阻止任何使用者建立新的連線 ◆ 等待當前所有正在連線的使用者主動斷開連線. 正在連線的使用者能夠繼續他們當前的工作, 甚至能夠提交新的事務. ◆ 直到所有的使用者都斷開連線(自己斷開), 才進行關閉、制裁資料庫, 並終止例程. |
重點在等待會話結束,然後關閉資料庫 |
|
|||
|
shutdown transactional |
transactional選項比normal選項稍微主動些. 它能在儘可能短的時間內關閉資料庫. ◆ 阻止任何使用者建立新的連線, 同時阻止當前連線的使用者開始任何新的事務 ◆ 等待所有當前未提交的活動事務提交完後, 然後立即斷開使用者的連線 ◆ 斷開連線, 立即進行關閉、制裁資料庫, 並終止例程 |
重點在等待事物結束,然後幹掉會話,關閉資料庫 |
|||
|
shutdown immediate |
immediate選項關閉資料庫, 就能夠在儘可能短的時間內關閉資料庫. ◆ 阻止任何使用者建立新的連線, 同時阻止當前連線的使用者開始任何新的事務 ◆ 立即結束當前正在執行的sql語句 ◆ 任何當前未提交的事務均被回退 ◆ 斷開連線, 關閉、解除安裝資料庫, 並終止例程 |
重點在不管事物完成和會話結束了,直接把未提交的事物被回退,如果事物較多,關閉的時間就比較長了。 話說回來,回退事物還是在九屆於事物 |
|||
|
shutdown abort |
如果上述三種選項都無法成功關閉資料庫, 就說明資料庫存在嚴重錯誤. 這時只能使用abort選項來關閉資料庫. ◆ 阻止任何使用者建立新的連線,同時阻止當前連線的使用者開始任何新的事務。 ◆ 立即終止當前正在執行的SQL語句。 ◆ 任何未提交的事務均不被退名。 ◆ 直接終止例項。 |
不再糾結於事物,沒有完全檢查點,直接終止例項,下一次啟動時需要進行例項恢復 |
|||
3 關閉模式與過程關係
關閉模式 |
Abort |
Immediate |
Transactional |
Normal |
|
|||||
允許新連線 |
X |
X |
X |
X |
|
|||||
|
等到當前會話結束 |
X |
X |
X |
○ |
|||||
|
等到當前事務結束 |
X |
X |
○ |
○ |
|||||
|
執行檢查點並關閉檔案 |
X |
○ |
○ |
○ |
|||||
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25960404/viewspace-766771/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 3.3.3 使用immiedit模式關閉資料庫模式資料庫
- Oracle資料庫歸檔模式的開啟和關閉Oracle資料庫模式
- 3.3.1 關於關閉資料庫資料庫
- mongodb關閉資料庫例項MongoDB資料庫
- PHP 簡單的幾個設計模式(個人理解)PHP設計模式
- db2資料庫的啟動和關閉DB2資料庫
- [20210722]資料庫異常關閉的處理.txt資料庫
- 單一資料庫拆分成幾十個資料庫的意義資料庫
- 國產資料庫:達夢資料庫的幾個版本介紹資料庫
- 關於Shell 的幾個冷門資料
- Oracle 12.2 Heavy swapping 資料庫自動關閉OracleAPP資料庫
- 華納雲:防止資料庫資料丟失的幾個方法資料庫
- 模式:每個服務一個資料庫模式資料庫
- 對國產資料庫廠商提幾個關於SQL引擎的小需求資料庫SQL
- oracle資料庫的啟動關閉與各種服務Oracle資料庫
- [20200309]資料庫異常關閉恢復的終點.txt資料庫
- 關於資料庫查詢業務的幾點思考資料庫
- 我設計資料庫常用的幾個原則資料庫
- 反DDD模式之關係型資料庫模式資料庫
- 計算機網路再次整理————tcp的關閉[七]計算機網路TCP
- 資料庫——對索引的理解資料庫索引
- oracle資料庫%notfound的理解Oracle資料庫
- 在資料庫繁忙時如何快速有效的關閉MySQL服務資料庫MySql
- javascript閉包的個人理解JavaScript
- LevelDB C++教程: 如何開啟和關閉資料庫C++資料庫
- openGauss 由於RemoveIPC未關閉導致資料庫crashREM資料庫
- openguass 3.1.0 資料庫啟動,關閉,狀態檢查資料庫
- 關於資料庫事務併發的理解和處理資料庫
- SAP CRM One Order header資料庫表幾個和時間戳相關的欄位Header資料庫時間戳
- 【YashanDB知識庫】yac修改引數後關閉資料庫hang住資料庫
- 關於 Gradle 依賴庫的幾個東西Gradle
- Centos系統關閉Mysql資料庫查詢操作日誌的方法CentOSMySql資料庫
- 對資料庫的大體理解資料庫
- Linux下常見的開源資料庫,你知道幾個?Linux資料庫
- 【資料庫】關係模式的正規化的簡明判斷資料庫模式
- ORACLE DSG資料同步軟體程式導致資料庫無法正常關閉Oracle資料庫
- shutdown immediate 持久無法關閉資料庫之解決方案資料庫
- GTID 可以理解成資料庫服務的UUID 加上一個資料庫UI
- SQLSERVER查詢某個資料庫有幾張表SQLServer資料庫