ORA-600案例一则

前几天遇到一个环境 11.2.0.1.0的GI/RAC版本,2 nodes RAC, 其中一个节点DB trace文件里面每隔一段时间就报ORA-00600,具体参数内容是:kmgs_parameter_update_timeout_1和17510,而且错误持续发生,但是上层应用并没中断。

紧跟着600的是ORA-17510的错误,内容很清楚 Attempt to do i/o beyond file size,经过查询错误代码发现这个问题是spfile的异常导致,可能的原因是spfile被损坏

1. 问题现象
[instance alert log]

Thu Sep 16 17:13:17 2010
Errors in file /u01/app/oracle/diag/rdbms/bdafisdrs/bdafisdc2/trace/bdafisdc2_mmon_12522.trc (incident=14620):
ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], [17510], [], [], [], [], [], [], [], [], [], []
ORA-17510: Attempt to do i/o beyond file size
Incident details in: /u01/app/oracle/diag/rdbms/bdafisdrs/bdafisdc2/incident/incdir_14620/bdafisdc2_mmon_12522_i14620.trc

2. 问题原因
Cause of the Problem
The error ORA-17510 and ORA-600 [kmgs_parameter_update_timeout_1] indicates a problem of extending the size of the spfile, or a possible corruption of the spfile. Oracle is not able to write entry in the spfile and hence error returned.

3. 解决方法,重建spfile

Solution of the Problem
In order to solve the problem you need to recreate the spfile.

1. First create a pfile from the spfile, e.g.:

SQL> connect / as sysdba
SQL> create pfile=’/tmp/pfile.ora’ from spfile;

2. Startup the instance using the pfile created, e.g.:

SQL> starup pfile=’/tmp/pfile.ora’;

3. Then recreate the spfile from the pfile, e.g.:

SQL> connect / as sysdba
SQL> create spfile from pfile=’/tmp/pfile.ora’;

4. Startup the instance with the spfile and modify the parameter.
SQL> startup

至此问题解决。

No Comments

(Required)
(Required, will not be published)