Oracle实例crash,报错信息ORA

【故障现象】
 2017年5月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

【问题分析】
2016年11月进行双机切换,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才允许。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bc08d511096f9a92114e84abc69b34fb.html