千家信息网

oracle实例crash,报错信息ORA-00600、ORA-27091、ORA-27072

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,【故障现象】2015年2月8日,oracle10.2.0.4单实例数据库,突然CRASH,但进过重启运行恢复。检查alert.log日志发现如下"ORA-00600、ORA-27091、ORA-270
千家信息网最后更新 2024年11月22日oracle实例crash,报错信息ORA-00600、ORA-27091、ORA-27072





【故障现象】

2015年2月8日,oracle10.2.0.4单实例数据库,突然CRASH,但进过重启运行恢复。检查alert.log日志发现如下"ORA-00600、ORA-27091、ORA-27072"报错信息。

Errors in file /home/db/oracle/admin/db1/bdump/db1_mmon_22544442.trc:

ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [27091], [], [], [], [], [], []

ORA-27091: unable to queue I/O

ORA-27072: File I/O error

IBM AIX RISC System/6000 Error: 9: Bad file number

Additional information: 7

Additional information: 4

Additional information: -1


【问题分析】

2014年10月进行双机切换,spfile为共享卷裸设备,切换前,备机上没有清理不应该存在的root权限的spfile文件,切换后,出现异常,oracle的数据裸设备文件的文件权限为301,且用户不为oracle。这些错误,使得数据库持续ORA-27072报错

【问题解决】


修改spfile为裸设备



# su - oracle

$ export ORACLE_SID=db1


-- Create a PFILE from your current SPFILE:

SQL> create pfile='/tmp/init.ora' from spfile;

SQL> ho more /tmp/init.ora

SQL> shutdown immediate


SQL> startup pfile='/tmp/init.ora';


SQL> ho ls -l /home/db/oracle/oradata/db1/rspfile_db1

lrwxrwxrwx 1 oracle dba 17 Jun 08 2013 /home/db/oracle/oradata/db1/rspfile_db1 -> /dev/recsv01l3110


SQL> create spfile='/home/db/oracle/oradata/db1/rspfile_db1' from pfile;


SQL> shutdown immediate


$ mv spfiledb1.ora spfiledb1.ora_OLD

$ vi initdb1.ora

增加spfile="/home/db/oracle/oradata/db1/rspfile_db1"


SQL> startup

SQL> show parameter spfile;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string /home/db/oracle/oradata/db1/rspfile_db1

【总结】

实施过程中,在用pfile启动实例后,尝试alter system set spfile 失败,报错信息"ORA-02095: specified initialization parameter cannot be modified".

问题关键是,用pfile启动后,没有spfile时,无需修改spfile参数,也无法修改。应删除spfile文件,将pfile内容写成spfile='xxxx'后,启动实例后,修改spfile才允许。


0