如何以最快方式乾淨的關閉資料庫?

huangxuemail發表於2017-01-09

在有限的停機時間視窗內如果遇到shutdown長時間無反應的情況,這是比較鬧心的。如何以最快的方式乾淨的關閉資料庫呢?

SHUTDOWN ABORT
 是關閉資料庫的最快方式。  但是,以這種形式關閉資料庫會使資料庫處於不一致的狀態(沒有回滾),在這種情況下的備份在下次啟動時需要恢復。

1) 透過下面的查詢判定乾淨的關閉資料庫需要多少回滾(以位元組計算)

select sum(used_ublk) * <undo / rollback segment 表空間的block size> from v$transaction;


2) SHUTDOWN ABORT

將不進行事務回滾,快速的中斷所有程式 (前後後臺)。 


A SHUTDOWN IMMEDIATE時SMON會嘗試中斷所有客戶端程式(SIGKILL),但是很多情況下SMON無法及時完成,這是使用SHUTDOWN ABORT的原因。

3) 從第一步的輸出以及您的經驗決定您是否能等待乾淨的關閉資料庫的時間(shutdown immediate)  如果您不能等待shutdown immediate完成,忽略餘下的步驟,在下次啟動時,SMON會回滾事務。

4) STARTUP RESTRICT

5) 透過下面的查詢檢視回滾(塊的個數)
 

select sum(distinct(ktuxesiz)) from x$ktuxe where ktuxecfl = 'DEAD';


6) 當回滾完成 (有可能啟動後立刻就完成了), 執行SHUTDOWN IMMEDIATE

7) 當完成此步驟後,資料庫將乾淨的關閉。


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

相關文章