记一次 oracle 数据库在宕机后的恢复

系统: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

  

posted @   liyanguu  阅读(326)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示