首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 9i 異常關閉後的強制啟動修復指南

     編輯:Oracle 資料庫相關知識

問題現象

Oracle shutdown 過程中突然斷電,導致 sqlplus 啟動失敗,報錯:connection can not permitted, shut in progress.

錯誤嘗試

C:\> sqlplus /nolog
SQL> CONNECT / AS SYSDBA
-- 顯示「已連接至空閒例程」
SQL> STARTUP
-- 顯示「shutdown in progress.」

嘗試 CONNECT sys/manager@orcl92 雖連線成功,但 SELECT * FROM TAB 回傳 no rows selected,顯示資料庫實際未啟動。

正確解決方案

C:\> sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP FORCE

顯示「已啟動。資料庫已正常啟動。」

替代方案:Windows 服務重啟法

  1. 在 Windows Services 中停止 OracleHome92Service
  2. 啟動 Oracle Enterprise Manager Console
  3. 選擇獨立啟動 → 選擇資料庫 → 點擊全域資料庫名
  4. 輸入用戶名 system、密碼、連接身分 SYSDBA
  5. 選擇「例程」→「配置」→「一般資訊」標籤,將例程狀態先改為關閉,再改為開啟
  6. 若提示服務已停止,手動啟動該服務後再啟動資料庫

啟動模式補充說明

  • STARTUP FORCE:強制啟動未正常關閉或啟動失敗的資料庫,流程為先關閉實例再啟動。
  • STARTUP RESTRICT:限制模式啟動,僅具 RESTRICTED SESSION 權限的用戶可連線。
  • ALTER SYSTEM [ENABLE/DISABLE] RESTRICTED SESSION:資料庫開啟後動態切換存取限制,適合維護窗口或匯出一致性資料。

根因分析

異常關閉導致 shutdown 程序未正常退出,啟動時偵測到殘留的 shutdown 狀態而報錯。STARTUP FORCE 本質上就是先完成關閉動作,再正常啟動,解決狀態衝突。

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