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

Oracle 數據庫啟動原理:三階段流程與自動啟動機制

     編輯:Oracle 資料庫基礎

啟動三階段

  1. 啟動實例:分配 SGA、啟動後台進程。實例 = 內存 + 進程。
  2. 裝載數據庫:讀取控制文件,獲取數據文件/日志文件路徑,關聯實例與數據庫。
  3. 打開數據庫:打開數據文件與重做日志,允許普通用戶訪問。

命令驗證

-- 僅啟動實例
STARTUP NOMOUNT;

-- 啟動到裝載狀態
STARTUP MOUNT;
-- 或從 NOMOUNT 切換
ALTER DATABASE MOUNT;

-- 完整啟動
STARTUP;
-- 或從 MOUNT 切換
ALTER DATABASE OPEN;

各階段 DBA 可做的事

  • NOMOUNT:重建控制文件、修改字符集等結構性操作。
  • MOUNT:執行恢復、啟用歸檔模式、離線備份。
  • OPEN:正常業務訪問。

Windows 自動啟動/關閉機制

服務名:OracleService。註冊表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 下:

  • ORA__AUTOSTART = TRUE → 開機自動啟動實例。
  • ORA__SHUTDOWN = TRUE → 關機自動關閉實例。

改為 FALSE 可禁用自動啟動/關閉。

常見錯誤

ORA-01081: cannot start already-running ORACLE
-- 原因:實例已自動啟動,不可重複 STARTUP。

為何設計三階段?

為 DBA 提供維護窗口:不同階段可執行不同級別的維護操作,體現「關注點分離」設計哲學。

常用命令速查表

命令含義
CONNECT sys AS SYSDBA以 SYSDBA 登入
STARTUP NOMOUNT啟動實例
STARTUP MOUNT裝載數據庫
ALTER DATABASE MOUNT從 NOMOUNT 轉 MOUNT
STARTUP完整啟動
ALTER DATABASE OPEN從 MOUNT 轉 OPEN
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved