【SPFILE】邂逅ORA-00600[kspsetpao1]错误-又是单引号惹的祸

在使用准备好的pfile文件创建spfile文件时,邂逅可爱的“600”内部错误。记录在此。
此问题与《【CREATE DATABASE】因缺失单引号导致手工建库命令执行报错的故障排查》(http://space.itpub.net/519536/viewspace-695060)中提到的问题原因及排查方法是一样的,请交叉参考。

1.问题现象
1)准备好的pfile文件如下
secdb@secdb /u01/app/oracle/product/10.2.0/db_2/dbs$ cat initsecdb.ora
db_name=secdb
db_files = 80                     # SMALL
db_file_multiblock_read_count = 8 # SMALL
#db_block_buffers = 100           # SMALL
#shared_pool_size = 3500000       # SMALL
log_checkpoint_interval = 10000
processes =  300                  # SMALL
parallel_max_servers = 5          # SMALL
log_buffer = 32768                # SMALL
max_dump_file_size = 10240        # limit trace file size to 5 Meg each
global_names = TRUE
control_files = ('/u01/app/oracle/oradata/cfile/ora_control1.ctl','/u01/app/oracle/oradata/cfile/ora_control2.ctl',/u01/app/oracle/oradata/cfile/ora_control3.ctl')
sga_max_size=300M
sga_target=300M

2)使用该pfile创建spfile时抛出ORA-00600错误
secdb@secdb /u01/app/oracle/product/10.2.0/db_2/dbs$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 12 22:37:10 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

NotConnected@> create spfile from pfile;
create spfile from pfile
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kspsetpao1], [464], [444], [*], [sga_max_size], [4], [], []

注:此处的操作系统平台是32位Linux,在solaris操作系统上现象相同。

2.问题原因
这个600错误对应的参数是“kspsetpao1”,也算是一个比较典型的问题。是由于pfile中出现引号不匹配导致的。
使用“语法高亮显示”技巧对pfile文件进行查看,很容易发现其中控制文件对应的参数中的单引号没有匹配完整。

3.问题处理
1)调整pfile中引号不匹配内容
错误的内容:
control_files = ('/u01/app/oracle/oradata/cfile/ora_control1.ctl','/u01/app/oracle/oradata/cfile/ora_control2.ctl',/u01/app/oracle/oradata/cfile/ora_control3.ctl')

正确的内容应该是:
control_files = ('/u01/app/oracle/oradata/cfile/ora_control1.ctl','/u01/app/oracle/oradata/cfile/ora_control2.ctl','/u01/app/oracle/oradata/cfile/ora_control3.ctl')

2)重新生成spfile文件
secdb@secdb /oracle/ora10gR2/product/10.2.0/db_2/dbs$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 12 23:29:54 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

NotConnected@> create spfile from pfile;

File created.

问题处理完毕。

4.小结
事实证明,无论操作多么熟练,只要有可能出错的地方,就一定会出现错误。这便是大名鼎鼎的“墨菲定律”使然!

Good luck.

secooler
11.05.12

-- The End --

请使用浏览器的分享功能分享到微信等