記一次 oracle 資料庫在當機後的恢復

liyanguu發表於2020-12-19

系統:redhat 6.6

oracle版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

 

問題描述:當機後,使用 sqlplus   登陸發現:

Oracle ORA-01033: ORACLE initialization or shutdown in progress

即,資料庫未正常開啟。

 

問題排查:

由於非正常關機,資料庫需要恢復。遂Bd一下:https://www.cnblogs.com/wangsaiming/p/3688141.html,

根據文章,執行:

sqlplus \nolog        #不指定登陸使用者
SQL> conn / as sysdba  #指定以sysdba 登陸

報錯:

ORA-01031: insufficient privileges

繼續Bd:https://blog.csdn.net/dsc1245/article/details/69524584,根據文章說明,sysdba登陸需要滿足:

  • 當前 linux 使用者為 oracle, 在 oinstall, dba 組中。
  • 當前 linux 使用者的環境變數中有 ORACLE_HOME 與 ORACLE_SID
  • 在 ORACLE_HOME/network/admin/sqlnet.ora中,不能有 :
    •   
      sqlnet.authentication_services=(nts) #window下使用, linux 下不指定或為 ALL

在滿足以上條件後,可順利登陸。

根據文章 :http://blog.itpub.net/28602568/viewspace-762369/ 中的步驟,執行:

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED          # 說明 oracle 卡在 mount 階段

然後,手動重啟報錯:

SQL> shutdown
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  941600768 bytes
Fixed Size            1340440 bytes
Variable Size          708840424 bytes
Database Buffers      226492416 bytes
Redo Buffers            4927488 bytes
Database mounted.
ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [],
[], [], [], [], [], [], [], []

Bd 此錯誤:ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr ,按文章 https://blog.csdn.net/muzi1314_/article/details/54587970

指引可完成恢復。

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE               #出現此輸出說明可使用 sqlplus 正常登陸

 

問題解決,完畢。

 

其它文章:

Linux下啟動/關閉Oracle

  

相關文章