【賽迪網-IT技術報道】正常情況下,大家只要shutdown immediate就可以停下數據庫,但是對於生產系統,跑的數據量又比較大,redolog又有幾百兆,此時shutdown數據庫時一定要倍加小心。
下面,根據此種情況介紹一下解決方法:
1.停數據庫
1.1、停listener
1.1.1、lsnrctl stop LISTENER_NAME 停偵聽
1.1.2、lsnrctl status LISTENER_NAME 確認偵聽是否正常停止
1.1.3、約過半小時ps -ef |grep LOCAL=NO 檢查是否還有進程連在數據庫上沒有釋放。
如果沒有釋放,執行kill -9 `ps -ef|grep LOCAL=NO |awk ‘{print $2}’`
1.1.4、檢查數據庫上的session是否還有僵死進程。
1.2、停instance
1.2.1 停job和aq
alter system set job_queue_processes=0 scope=memory;
alter system set aq_tm_processes=0 scope=memory;
1.2.2、alter system switch logfile;執行三次。
1.2.3、alter system checkpoint;執行三次。
1.2.4、shutdown immediate;正常關閉數據庫。
(若數據庫在1小時內還無法正常關閉,執行shutdown abort;再startup;
startup後嘗試再次正常關閉數據庫shutdown immediate;
如在1小時內還是不能正常關閉,算本次重啟失敗,執行shutdown abort;再startup;將數據庫啟動,不再進行其他的操作,聯繫oracle)
1.1.5、檢查數據庫進程是否還存在ps -ef |grep -i ora
(責任編輯:盧兆林)