ORA-00600错误分析
[@more@]ORA-600大全http://dco-proxima.dco.pima.edu/oracle/bug/index/pr000512.htm
ORA-600错误1->解决思路
ORA-00600: internal error code, arguments: [ksmovrflow], [kkznxddl.begin], [], [], [], [], [], []
晚上测试实体化视图复制,测试环境中的master site是Oracle10g,MV site是Oracle9201,当在MV site上创建快速刷新的实体化视图时,报ORA-600错误。
SQL> CREATE MATERIALIZED VIEW KAMUS.ACCOUNT2004 REFRESH FAST WITH PRIMARY KEY AS SELECT * FROM KAMUS.ACCOUNT2004@orcl;
CREATE MATERIALIZED VIEW KAMUS.ACCOUNT2004 REFRESH FAST WITH PRIMARY KEY AS SELECT * FROM KAMUS.ACCOUNT2004@orcl
ORA-00600: internal error code, arguments: [ksmovrflow], [kkznxddl.begin], [], [], [], [], [], []
查metalink,发现又是一个bug,这个bug只有当在Oracle8或者9中创建基于Oracle10g的实体化视图时才会发生。
原因:
Oracle10g的master table中创建主键时候显式指定了主键的名称。如下
alter table table_name add constraint < constraint name> primary key (< col>);
解决方法:
删除这个主键,然后创建一个不指定名称的主键,由Oracle自动命名,如下
alter table ACCOUNT2004 add primary key(OCCURTIME, ACCTID, CURRENCYID);
这样产生的主键名称就变成SYS_CXXXX。
之后重新在MV site上创建实体化视图,成功。
作者Blog:http://blog.csdn.net/Kamus/
---------------------------------------------------------------------------------------------------
ORA-600错误2->解决思路
详细解决过程请查看 http://www.itpub.net/303349,1.html
提问者:rebecca_xt
查看trace和日志文件
LOG和TRACE 文件见
http://www.itpub.net/showthread.php?s=&threadid=304260
提问者:rebecca_xt
http://www.itpub.net/showthread.php...955#post2053955
这里我把错误更新了下。请看看。
其中里面有两张图,
第一张是系统刚起来时ORACLE的状态,
第二张是我点击了打开后出现的错误。
谢谢
----------------------------------------------------------------------------------------------------
回答者:logzgh
根据trace和日志文件看,应该是smon做回滚时出了问题。
建议在init.ora文件里面加上10046和10061,10513事件
event="10513 trace name context forever, level 2"
event="10061 trace name context forever, level 10"
event="10046 trace name context forever,level 4"
试试看,然后再将新产生的Trace文件上传。
------------------------------------------------------------------------
提问者:rebecca_xt
我在初始化参数中加入如下
event="10513 trace name context forever, level 2"
event="10061 trace name context forever, level 10"
event="10046 trace name context forever,level 4"
数据库就可以打开了.为什么呀??
谢谢
------------------------------------------------------------------------
回答者:logzgh
有没有试试我说的那三个事件。特别是10061事件
你这个很可能是在smon清理临时段时报错。
现在你将10046和10513事件拿掉。
只加10061事件看看。如果只加10061事件可以启动的话,
那么你启动数据库后
执行alter session set events='immediate trace name drop_segments level 14'。
如果依然报错的话,你再执行
Select owner,segment_name,tablespace_name from dba_segments where segment_type='TEMPORARY';
看看是否有临时段存在非temp表空间中。如果有的话,将那个表空间的数据exp出来,drop掉再重建表空间,然后将其中的数据imp回去。
如果是100513事件启作用的话,可以采用隐含参数
_offline_rollback_segmnets或_corrupted_rollback_segments来处理,具体你可以在itpub上搜索,有很多的相关的文章。
-------------------------------------------------------------------
提问者:rebecca_xt
你好:
的确是只加10061事件看看就可以启动数据库的。
alter session set events='immediate trace name drop_segments level 14'。
成功执行了。
这句的作用是什么呀?下一步还需要做什么
------------------------------------------------------------------------
回答者:logzgh
成功了的话,你把那些事件都拿掉,正常启动数据库试试看。
思路很简单,看trace文件和alert.log文件,发现是oracle开始是可以open的,但是open过后,smon进程遇错,oracle被终止。
开始我猜想有两种可能,一种是做回滚时出错,还有一种是smon清理临时段出错。
后来想想前滚都已经正常 完成了,那回滚时报600号错误的可能性较小,因此怀疑是清理临时段报错了。加上10061事件,禁止smon清理临时段。然后手工清理。
如果一切顺利的话,此时正常启动数据库应该可以了。
后来进展不顺利,提问者和回答者MSN去了,不过大概思路就是这样的了,剩下的自己多试验一下应该就没问题了!
ORA-600错误3
ORA-600错误3->解决思路
http://www.itpub.net/showthread.php?s=&threadid=205079
-------------------------------------------------------------------------------------------------------------------
ORA-600错误4
ORA-00600: internal error code, arguments: [2662], [0], [431267754], [0], [431272752], [0], [], []
ORA-600错误4->解决思路 http://www.itpub.net/293005.html
-----------------------------------------------------------------------------------------------------------------
ORA-600错误5
ORA-00600: internal error code, arguments: [3619], [13], [0]
ORA-600错误5->解决思路
这个错误解决的方法很简单,重建控制文件=OK。
ORA-600错误6
ORA-00600: internal error code, arguments: [ksmovrflow], [datablk : kspptsp], [], [], [], [], [], []
ORA-600错误6->解决思路
这个错误是spfile文件有损坏,您可以使用一个完好的pfile文件来启动数据库,然后create spfile from pfile='pfile的绝对路径';
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
--修改init.ora 然后用修改后的启动数据库
SQL> startup pfile='d:oracleadminorclpfileinit.ora'
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> create spfile from pfile='D:oracleadminorclpfileinit.ora';
文件已创建。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup --此时Oralce会自动的使用SPfile来启动数据库,所以直接startup就可以了
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/166555/viewspace-783548/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/166555/viewspace-783548/