spfile被覆盖导致ORA-600[kmgs_parameter_update_timeout_1]

联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

标题:spfile被覆盖导致ORA-600[kmgs_parameter_update_timeout_1]

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

数据库出现如下错误ORA-00600[kmgs_parameter_update_timeout_1]

Thu Jun 21 17:42:45 BEIST 2012
alter tablespace TS_TAB_WG_SYSMGR_01 add datafile '/dev/rvgoradata3_1_01'
Thu Jun 21 17:42:58 BEIST 2012
Completed: alter tablespace TS_TAB_WG_SYSMGR_01 add datafile '/dev/rvgoradata3_1_01'
Thu Jun 21 17:45:31 BEIST 2012
System State dumped to trace file /oracle/app/oracle/admin/bomc3/bdump/bomc3_mmon_19530138.trc
Thu Jun 21 17:45:42 BEIST 2012
Errors in file /oracle/app/oracle/admin/bomc3/bdump/bomc3_mmon_19530138.trc:
ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [1565], [], [], [], [], [], []
ORA-01565: error in identifying file '/dev/rvgoradata3_1_01'
ORA-27086: unable to lock file - already in use
IBM AIX RISC System/6000 Error: 13: Permission denied
Additional information: 8
Additional information: 18874484
Thu Jun 21 17:45:49 BEIST 2012
Errors in file /oracle/app/oracle/admin/bomc3/bdump/bomc3_dbw0_18874484.trc:
ORA-00600: internal error code, arguments: [ksprcvsp1], [0], [0], [], [], [], [], []
Thu Jun 21 17:45:52 BEIST 2012
Errors in file /oracle/app/oracle/admin/bomc3/bdump/bomc3_dbw0_18874484.trc:
ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [600], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [ksprcvsp1], [0], [0], [], [], [], [], []
Thu Jun 21 17:45:53 BEIST 2012
Errors in file /oracle/app/oracle/admin/bomc3/bdump/bomc3_dbw0_18874484.trc:
ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [600], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [ksprcvsp1], [0], [0], [], [], [], [], []
Thu Jun 21 17:45:53 BEIST 2012
DBW0: terminating instance due to error 471
Instance terminated by DBW0, pid = 18874484

通过这个错误可以看出大概:TS_TAB_WG_SYSMGR_01增加数据文件/dev/rvgoradata3_1_01成功后,然后mmon启动收集统计信息,读取spfile文件信息出错.最后dbw进程读取spfile文件出错,使得dbwn进程终止,从而数据库abort掉.通过这些信息,初步怀疑是增加数据文件的时候,错误的把spfile文件的裸设备作为一个新数据文件增加到数据库中,导致spfile被覆盖,从而出现mmon和dbwn访问spfile出错.

找出证据
如果spfile使用裸设备而且文件名是dev/rvgoradata3_1_01,那很可能是通过init_SID.ora中的spfile项实现,查找该文件内容果然发现

[zwq_acc1:/home/xifenfei]cat initbomc3.ora
spfile='/dev/rvgoradata3_1_01'

通过这些可以确定是用户增加数据文件时,错误的把spfile文件当中新的控制问及爱你增加到相关表空间中导致该问题.

解决办法
1.如果有备份spfile文件,使用备份spfile文件
2.如果有pfile文件,使用pfile创建spfile
3.如果上面两个都没有,那么使用alert中相关信息创建pfile文件然后创建spfile

此条目发表在 ORA-xxxxx 分类目录,贴了 , 标签。将固定链接加入收藏夹。

spfile被覆盖导致ORA-600[kmgs_parameter_update_timeout_1]》有 2 条评论

  1. 惜分飞 说:

    在mos中发现一个类此错误,开始分析问题时候以为是给错误
    ORA-600 [kmgs_parameter_update_timeout_1] [1565] Causing Instance To Crash

    Applies to:
    Oracle Server - Enterprise Edition - Version: 10.2.0.1 and later   [Release: 10.2 and later ]
    Information in this document applies to any platform.
    
    
    Symptoms
    The following errors are seen in the ALERT:
    ORA-600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [1565], [], [], [], [], [], []
    ORA-01565: error in identifying file '/oradata/ZPVP/dbs/spfileZPVP.ora'
    ORA-27041: unable to open file
    IBM AIX RISC System/6000 Error: 22: Invalid argument
    Additional information: 2
    
    followed by an instance crash.
    
    
    Cause
    If the SPFILE is read by some other OS commands/programs that are putting a shared lock on it, 
    while MMON tries to write dynamically modified parameters, the instance might crash with above above errors.
    
    This happens because MMON needs to put an exclusive lock on the spfile in order to write it and cannot do this. 
    If the update cannot be performed several error conditions are checked to see if that could be the cause.  
    If we can't match the current condition to the list of known exceptions we raise the assert 
    kmgs_parameter_update_timeout_1.  This causes MMON to crash, and if MMON is not alive DBW0 
    also runs these actions and its failure leads to the instance crash.
    
    Solution
    This is fixed via unpublished bug:9715539 fixed in 11.2.0.2, which removes the assertion of the 
    ORA-600 [kmgs_parameter_update_timeout_1] error in the case of an external error occurring, 
    and so MMON just raises the external error.  For availability of one-off patches see Patch:9715539.
    Alternatively you can workaround the problem by ensuring that no application/OS commands put shared 
    locks on the SPFILE (more, touch etc):
    1.	Check the operating system for any application/program accessing the SPFILE 
            while MMON/DBWR attempt to update the parameter file.
    2.	If you see the same errors in ALERT, check from OS level what processes are holding/accessing SPFILE.
    3.	Check file protections of SPFILE which might prevent MMON/DBWR from updating the SPFILE.
    
    The SPFILE is a binary file and should not normally require to be read or touched.  
    If access to that information is required, then you should create a parameter file (PFILE) to 
    be able access the information rather than use the SPFILE.  That can be done using the command:
    CONNECT / AS SYSDBA
    CREATE PFILE='/<path>/<SID>_init.ora' FROM SPFILE='/<path>/spfile<SID>.ora';
    
    References
    NOTE:9715539.8 - Bug 9715539 - ORA-600 [kmgs_parameter_update_timeout_1] from MMON if some other error occurs
    
  2. 惜分飞 说:

    对ORA-00600[kmgs_parameter_update_timeout_1]一个猜测,该错误的后面一个错误代码表示下一个错误代码如:

    ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [1565], [], [], [], [], [], []
    ORA-01565: error in identifying file '/dev/rvgoradata3_1_01'
    ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [600], [], [], [], [], [], []
    ORA-00600: internal error code, arguments: [ksprcvsp1], [0], [0], [], [], [], [], []