淺析關閉數據庫實例的四種方法
通常來說,對於oracle數據庫實例的關閉,都經歷了三個環節,那就是:關閉數據庫、卸載數據庫以及關閉oracle實例。下面趙一八筆記分享下oracle數據庫實例的關閉方法,一般有四種方式。
那麼是哪四種方式呢?分別是normal、transactional、immediate以及abort,具體的語法格式爲:shutdown [norma | transactional | immediate | abort],四種關閉數據庫實例的方式也都有區別,下面我們具體講解。
1.normal方式
normal,表示以正常的方式關閉數據庫,也稱作正常關閉方式。一般來說,如果對關閉數據庫的時間沒有限制,那就可以採用這種方式。
這種方式,在oracle執行shutdown命令後,返回的響應信息就是關閉數據庫的過程,正常關閉數據庫時,oracle實際執行了以下的操作:
阻止任何用戶建立新的連接;
等待當前所有正在連接的用戶主動斷開連接;
當所有的用戶斷開連接後,將立即關閉數據庫。
所以這種方法非常的佔用時間,對於大型的數據庫來說,很難能夠在短時間內實現關閉數據庫的目的,採用這種方式,也許關閉一個數據庫需要幾天時間,也許更長,並不推薦。
2.transactional方式
transactional方式稱之爲事務關閉方式,它的主要作用就是能夠保證所有當前的活動事務都可以被提交,並保證在儘可能短的時間內關閉數據庫。
以事務關閉數據庫時,oracle一般執行以下操作:
阻止用戶新連接和開始新事務;
等待所有活動事務提交之後,再斷開用戶連接;
當所有的活動事務提交完畢、所有的用戶都斷開連接後,再關閉數據庫。
3.immediate方式
immediate方式,就是立即關閉數據庫的方式,這種方式能夠在儘可能短的時間內關閉數據庫。熱門活動:騰訊云云數據庫 MySQL 特惠專場 熱賣款型2.5折起,新用戶1元購買
使用immediate方式關閉數據庫,oracle數據庫不但會立即停止中斷當前用戶的連接,還會強行終止當前的活動事務,將未完成的事務回退,並立即關閉數據庫,oracle一般執行以下操作:
阻止用戶建立新連接和開始新事務;
將未提交的活動事務回退;
關閉數據庫。
4.abort方式
abort方式,稱之爲終止關閉方式,終止關閉方式具有一定的強制性和破壞性。使用該方式強行中斷任何數據庫操作,可能會丟失一部分數據信息,影響數據庫的完整性,我們應該儘可能的避免此方式。
以立即關閉方式關閉數據庫,oracle將執行以下的操作: