首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 數據庫關閉四大模式詳解:NORMAL、IMMEDIATE、TRANSACTIONAL、ABORT

     編輯:Oracle 資料庫基礎

關閉數據庫的三階段(與啟動對應)

  1. 關閉數據庫 —— 將 SGA 髒數據刷盤,關閉數據文件/日志文件,普通用戶無法訪問。
  2. 卸載數據庫 —— 解除實例與數據庫綁定,實例仍運行。
  3. 關閉實例 —— 終止所有後台進程,釋放 SGA 內存。

四種關閉模式對比

模式允許新連接等待現有會話未提交事務啟動時需實例恢復適用場景
NORMAL是是(無限等待)提交後再關否幾乎不用(可能永遠關不掉)
IMMEDIATE否否(強制斷開)回滾否生產最常用,安全快速
TRANSACTIONAL否是(等事務結束)提交後再關否業務極敏感、可接受等待
ABORT否否(立即終止)不回滾是極端故障、STARTUP FORCE 內部調用

命令示例

SHUTDOWN NORMAL;      -- 或直接 SHUTDOWN
SHUTDOWN IMMEDIATE;   -- 推薦
SHUTDOWN TRANSACTIONAL;
SHUTDOWN ABORT;       -- 慎用

超市打烊比喻

  • NORMAL:永不趕客,客不走不關門。
  • IMMEDIATE:停止進客,未結賬顧客退貨趕出,鎖門。
  • TRANSACTIONAL:停止進客,讓現客結賬完再走,再鎖門。
  • ABORT:直接斷電,顧客拋下購物車被趕出。

重啟相關

STARTUP FORCE;  -- 相當於 SHUTDOWN ABORT + STARTUP

最佳實踐

  • 計劃內維護:SHUTDOWN IMMEDIATE;
  • 極端情況(掛死、存儲故障):SHUTDOWN ABORT 後 STARTUP(會自動實例恢復);
  • 切勿常態化使用 ABORT,數據一致性風險極大。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved