1. 程式人生 > >oracle shutdown immediate 一直沒反應解決方案

oracle shutdown immediate 一直沒反應解決方案

連接數據庫 oracle 解決方案 資料 normal

oracle shutdown immediate 一直沒反應解決方案

數據庫監聽突然出現了問題,重新配置之後,重啟數據庫。發現不管是用shutdown 還是跟上參數 immediate都是同樣效果,等了10多分鐘一點反應都沒有。

查了查資料,看了下每個參數的用法,發現可能是連接請求還在連接數據庫,沒有關閉所以只能等著。一狠心強行關掉了SSH,結果杯具了。

啟動的時候就說:

詳細的shutdown和startup參數解釋如下:

shutdown有四個參數:normal、transactional、immediate、abort。缺省不帶任何參數時表示是normal。
shutdown normal:不允許新的連接、等待會話結束、等待事務結束、做一個檢查點並關閉數據文件。啟動時不需要實例恢復。

shutdown transactional:不允許新的連接、不等待會話結束、等待事務結束、做一個檢查點並關閉數據文件。啟動時不需要實例恢復。
shutdown immediate:不允許新的連接、不等待會話結束、不等待事務結束、做一個檢查點並關閉數據文件。沒有結束的事務是自動ROLLBACK的。啟動時不需要實例恢復。
shutdown abort:不允許新的連接、不等待會話結束、不等待事務結束、不做檢查點且沒有關閉數據文件。啟動時自動進行實例恢復。
另外,對於normal、transactional、immediate,db bUFFER cACHE的內容寫入了數據文件,沒有提交的事務被回滾,所有的資源被釋放,數據庫被“幹凈”的關閉。
對於abort,db bUFFER cACHE的內容沒有寫入數據文件,沒有提交的事務也沒有回滾。數據庫沒有DISMOUNT和關閉,數據文件也沒有關閉。當數據庫啟動時,需要通過REDO LOG恢復數據,通過回滾段對事務回滾,對資源進行釋放。

startup [force] [restrict] [pfile= FILENAME] [open [recover][ DATABASE] | mount | nomount]
startup open:startup缺省的參數就是open,打開數據庫,允許數據庫的訪問。當前實例的控制文件中所描述的所有文件都已經打開。
startup mount:mount數據庫,僅僅給dba進行管理操作,不允許數據庫的用戶訪問。僅僅只是當前實例的控制文件被打開,數據文件未打開。

startup nomount:僅僅通過初始化文件,分配出sga區,啟動數據庫後臺進程,沒有打開控制文件和數據文件。不能任何訪問數據庫。
startup pfile= FILENAME:以FILENAME為初始化文件啟動數據庫,不是采用缺省初始化文件。
startup force:中止當前數據庫的運行,並開始重新正常的啟動數據庫。
startup restrict:只允許具有restricted session權限的用戶訪問數據庫。
startup recover:數據庫啟動,並開始介質恢復。

使用shutdown的時候 normal和immediate可能都因為連接沒有釋放而造成數據庫無法重啟的現象。

可以采用以下兩個方案:

技術分享

技術分享

SQL>shutdown abort; --這個方法是不等待會話結束就直接關閉掉數據庫,一般情況下事不推薦使用的。實在關不掉的話,一般也沒有什麽問題。跟直接KILL進程差不多。

SQL
>startup --shutdown abort以後在啟動數據庫。





SQL
>startup force; --這個方法是直接關閉掉數據庫然後再重啟數據庫,這個方式也可以達到關閉的目的,我個人使用的時候兩個方法都行。


oracle shutdown immediate 一直沒反應解決方案