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

Linux 環境 Oracle 資料庫啟動模式完整解析:NOMOUNT、MOUNT、OPEN、RESTRICT、FORCE

     編輯:Oracle 資料庫基礎

啟動語法

STARTUP [FORCE] [PFILE=filename] [EXCLUSIVE|SHARED] [MOUNT|NOMOUNT|OPEN [db_name]] [RESTRICT]

五大模式詳解

模式指令狀態適用場景
正常啟動STARTUPNOMOUNT → MOUNT → OPEN日常運維、應用上線
指定 DB 名STARTUP orcl同上多實例環境指定啟動
NOMOUNTSTARTUP NOMOUNT僅啟動 SGA/背景程序,未讀取控制檔建立資料庫、恢復控制檔、RMAN 還原控制檔
MOUNTSTARTUP MOUNT讀取控制檔,關聯資料檔/Redo,未開啟備份(冷備)、啟用歸檔、恢復資料檔、修改參數
RESTRICTSTARTUP RESTRICTMOUNT → OPEN,但僅允許 RESTRICTED SESSION 權限使用者連線維護窗口、資料遷移、Schema 變更、效能測試
FORCESTARTUP FORCESHUTDOWN ABORT → STARTUP上次異常關閉、鎖死無法正常關閉
PFILE 指定STARTUP PFILE=/path/init.ora依指定參數檔啟動參數調優測試、多環境部署

模式切換(已啟動實例)

-- MOUNT -> OPEN
ALTER DATABASE OPEN;

-- OPEN -> RESTRICTED
ALTER SYSTEM ENABLE RESTRICTED SESSION;

-- RESTRICTED -> 正常
ALTER SYSTEM DISABLE RESTRICTED SESSION;

實戰範例:建立新資料庫流程

-- 1. 準備 init.ora,設定 DB_NAME, CONTROL_FILES, MEMORY_TARGET 等
-- 2. 啟動 NOMOUNT
STARTUP NOMOUNT PFILE=/u01/app/oracle/admin/newdb/pfile/init.ora;

-- 3. 執行 CREATE DATABASE 腳本
@/u01/app/oracle/admin/newdb/scripts/create_db.sql

-- 4. 執行目錄腳本
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
...

-- 5. 開啟資料庫
ALTER DATABASE OPEN;

常見問題

  • ORA-01081:已啟動實例嘗試再次 STARTUP → 先 SHUTDOWN 或用 FORCE。
  • ORA-01102:多實例嘗試 MOUNT 同一資料庫 → 檢查 CLUSTER_DATABASE、DB_UNIQUE_NAME。
  • 參數檔找不到:確認 SPFILE 存在或指定 PFILE。

結語

精通五大啟動模式與切換指令,是 DBA 從容應對建庫、恢復、維護、故障搶修的基本功。建議將常用組合封裝為 Shell 函數,減少手誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved