• 博客访问: 1129866
  • 博文数量: 43
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-28 20:44
个人简介

暂无介绍

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(43)

文章存档

2007年(4)

2006年(3)

2005年(16)

2004年(20)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
ORA-00600错误分析 2004-12-07 12:44:37

分类: Oracle

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
数据库装载完毕。
数据库已经打开。

阅读(1268808) | 评论(0) | 转发(6) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册