ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle数据库管理 » 近期整理(三)--两个ora-00600:kghsstream_copyn,knluSetUnsupported 非bug

标题: [笔记] 近期整理(三)--两个ora-00600:kghsstream_copyn,knluSetUnsupported 非bug
在线/呼叫 wa0362
Say,Hallelujah!


精华贴数 1
个人空间 0
技术积分 2321 (678)
社区积分 105 (3353)
注册日期 2005-5-7
论坛徽章:10
授权会员2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:乒乓球2008北京奥运纪念徽章:沙滩排球2008北京奥运纪念徽章:马术
ITPUB新首页上线纪念徽章     

发表于 2008-6-30 11:52 
近期整理(三)--两个ora-00600:kghsstream_copyn,knluSetUnsupported 非bug

案例1:  ora-600 : kghsstream_copyn


UAT测试环境的库,AIX 5.3 Oracle 10.2.0.2
Alert日志中大量的
Fri May 23 16:53:31 2008
Errors in file /u01/app/oracle/product/10.2.0/admin/wind/bdump/wind_p005_827580.trc:
ORA-00600: internal error code, arguments: [kghsstream_copyn], [], [], [], [], [], [], []
Fri May 23 16:53:31 2008
Errors in file /u01/app/oracle/product/10.2.0/admin/wind/bdump/wind_p002_950276.trc:
ORA-00600: internal error code, arguments: [kghsstream_copyn], [], [], [], [], [], [], []

开始以为是BUG,结果metalink上没有找到多少有用的信息。
后来分析,并查看到trc文件的时候发现几点可疑:

1.wind_p002_950276.trc ,Pnnn很明显都是parallel 查询的进程出了问题。
2.这些trace file中对应的sql都相同。篇幅原因就不全贴出来了。

Dump file /u01/app/oracle/product/10.2.0/admin/wind/bdump/wind_p000_1007864.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/product/10.2.0
System name: AIX
Node name: PEKAX236
Release: 3
Version: 5
Machine: 0070DB3AD100
Instance name: wind
Redo thread mounted by this instance: 1
Oracle process number: 14
Unix process pid: 1007864, image: [email=oracle@PEKAX236]oracle@PEKAX236[/email] (P000)

*** SERVICE NAMESYS$USERS) 2008-05-09 14:41:01.088
*** SESSION ID548.30620) 2008-05-09 14:41:01.088
*** 2008-05-09 14:41:01.088
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kghsstream_copyn], [], [], [], [], [], [], []
Current SQL statement for this session:

...省略了一部分...

于是看了一下这个sql的执行计划:

------------------------------------------------------------------------------------
| Id | Operation                                           | Name                 |
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                                    |                      |
|   1 | PX COORDINATOR                                     |                      |
|   2 |   PX SEND QC (RANDOM)                               | :TQ10005             |
|   3 |    SORT UNIQUE                                      |                      |
|   4 |     PX RECEIVE                                      |                      |
|   5 |      PX SEND HASH                                   | :TQ10004             |
|   6 |       BUFFER SORT                                   |                      |
|   7 |        UNION-ALL                                    |                      |
|   8 |         MERGE JOIN                                  |                      |
|   9 |          SORT JOIN                                  |                      |
| 10 |           BUFFER SORT                               |                      |
| 11 |            PX RECEIVE                               |                      |
| 12 |             PX SEND HASH                            | :TQ10000             |
|* 13 |              HASH JOIN                              |                      |
|* 14 |               HASH JOIN                             |                      |
|* 15 |                HASH JOIN                            |                      |
| 16 |                 VIEW                                | VW_NSO_1             |
| 17 |                  COUNT                              |                      |
|* 18 |                   FILTER                            |                      |
|* 19 |                    COLLECTION ITERATOR PICKLER FETCH|                      |
| 20 |                 TABLE ACCESS FULL                   | AFFECTEDACTIVITYDATA |
|* 21 |                TABLE ACCESS FULL                    | WTCHANGEACTIVITY2    |
| 22 |               VIEW                                  | index$_join$_004     |
|* 23 |                HASH JOIN                            |                      |
| 24 |                 INDEX FAST FULL SCAN                | INCLUDEDIN2$COMP0    |
| 25 |                 INDEX FAST FULL SCAN                | INCLUDEDIN2$COMP1    |
|* 26 |          SORT JOIN                                  |                      |
| 27 |           PX RECEIVE                                |                      |
| 28 |            PX SEND HASH                             | :TQ10002             |
| 29 |             PX BLOCK ITERATOR                       |                      |
|* 30 |              INDEX FAST FULL SCAN                   | WTCHANGEORDER2$COMP0 |
| 31 |         MERGE JOIN                                  |                      |
| 32 |          SORT JOIN                                  |                      |
| 33 |           BUFFER SORT                               |                      |
| 34 |            PX RECEIVE                               |                      |
| 35 |             PX SEND HASH                            | :TQ10001             |
|* 36 |              HASH JOIN                              |                      |
|* 37 |               HASH JOIN                             |                      |
|* 38 |                HASH JOIN                            |                      |
| 39 |                 VIEW                                | VW_NSO_2             |
| 40 |                  COUNT                              |                      |
|* 41 |                   FILTER                            |                      |
|* 42 |                    COLLECTION ITERATOR PICKLER FETCH|                      |
| 43 |                 TABLE ACCESS FULL                   | CHANGERECORD2        |
|* 44 |                TABLE ACCESS FULL                    | WTCHANGEACTIVITY2    |
| 45 |               VIEW                                  | index$_join$_009     |
|* 46 |                HASH JOIN                            |                      |
| 47 |                 INDEX FAST FULL SCAN                | INCLUDEDIN2$COMP0    |
| 48 |                 INDEX FAST FULL SCAN                | INCLUDEDIN2$COMP1    |
|* 49 |          SORT JOIN                                  |                      |
| 50 |           PX RECEIVE                                |                      |
| 51 |            PX SEND HASH                             | :TQ10003             |
| 52 |             PX BLOCK ITERATOR                       |                      |
|* 53 |              INDEX FAST FULL SCAN                   | WTCHANGEORDER2$COMP0 |
------------------------------------------------------------------------------------

确实使用了并行查询,但是看sql里边并没有相应的parallel 选项。

查询了相关表和索引在dba_tables和dba_indexes中的degree 列:
结果发现:有一个索引的degree值居然是DEFAULT.

select index_name,degree,owner
from dba_indexes
where index_name in (
'WTCHANGEORDER2$COMP0',
'INCLUDEDIN2$COMP0',
'INCLUDEDIN2$COMP1',
'INCLUDEDIN2$COMP0',
'INCLUDEDIN2$COMP1',
'WTCHANGEORDER2$COMP0')


INDEX_NAME              DEGREE     OWNER
----------------------- ---------- -------
WTCHANGEORDER2$COMP0    DEFAULT    PLM80
结果有省略...

对比了一下在生产库的执行计划,在生产库上没有使用并行查询。
并且该索引的degree为1(默认本来就应该是1).

很诧异就用dbms_metadata查询了一下ddl:
SQL> set long 2000
SQL> SET PAGESIZE 9999
SQL> select dbms_metadata.get_ddl('INDEX','WTCHANGEORDER2$COMP0','PLM80') from dual;

DBMS_METADATA.GET_DDL('INDEX','WTCHANGEORDER2$COMP0','PLM80')
--------------------------------------------------------------------------------

CREATE INDEX "PLM80"."WTCHANGEORDER2$COMP0" ON "PLM80"."WTCHANGEORDER2" ("B
RANCHIDITERATIONINFO", "LATESTITERATIONINFO", "STATE
STATE"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 114688 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 21
47483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "INDX"
PARALLEL

注意最后一个parallel选项。

把parallel关掉:
SQL> alter index plm80.WTCHANGEORDER2$COMP0 NOPARALLEL;
Index altered.
SQL> select dbms_metadata.get_ddl('INDEX','WTCHANGEORDER2$COMP0','PLM80') from dual;
DBMS_METADATA.GET_DDL('INDEX','WTCHANGEORDER2$COMP0','PLM80')
--------------------------------------------------------------------------------

CREATE INDEX "PLM80"."WTCHANGEORDER2$COMP0" ON "PLM80"."WTCHANGEORDER2" ("B
RANCHIDITERATIONINFO", "LATESTITERATIONINFO", "STATE
STATE"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 114688 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 21
47483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "INDX"

几天过去了,ORA-00600: [kghsstream_copyn] 还没有再出现

还有遗留问题:2000多个索引有1000多个都是degree=DEFAULT 只不过没有引起ora-00600错误!
具体为什么引起ora-600,也没确定
到现在还不知道什么时间,什么人,为什么要改parallel,或者bug造成自己变得?
诡异




__________________
只看该作者    顶部
在线/呼叫 wa0362
Say,Hallelujah!


精华贴数 1
个人空间 0
技术积分 2321 (678)
社区积分 105 (3353)
注册日期 2005-5-7
论坛徽章:10
授权会员2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:乒乓球2008北京奥运纪念徽章:沙滩排球2008北京奥运纪念徽章:马术
ITPUB新首页上线纪念徽章     

发表于 2008-6-30 11:53 
案例2:创建mview for update没有select pk列引起ora-00600:knluSetUnsupported

要做一个mview的测试,结果还碰上个ora-00600
SQL> create materialized view TT_EMP_DEPT for update
2 as
3 select e.rowid "emp_rowid",e.ename
4 from emp e;
    from emp e
         *
ERROR at line 4:
ORA-00600: internal error code, arguments: [knluSetUnsupported], [0], [], [],
[], [], [], []

QMNC started with pid=16, OS id=4453
Mon Mar 31 16:59:20 2008
Completed: ALTER DATABASE OPEN
Mon Mar 31 17:41:57 2008
Errors in file /u01/app/oracle/oracle/product/10.2.0/db_1/admin/orcl01/udump/orcl01_ora_4514.trc:
ORA-00600: internal error code, arguments: [knluSetUnsupported], [0], [], [], [], [], [], []
[oracle@dg1 bdump]$ more /u01/app/oracle/oracle/product/10.2.0/db_1/admin/orcl01/udump/orcl01_ora_4514.trc
/u01/app/oracle/oracle/product/10.2.0/db_1/admin/orcl01/udump/orcl01_ora_4514.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1
System name:    Linux
Node name:      dg1
Release:        2.6.9-67.ELsmp
Version:        #1 SMP Fri Nov 16 12:48:03 EST 2007
Machine:        i686
Instance name: orcl01
Redo thread mounted by this instance: 1
Oracle process number: 15
Unix process pid: 4514, image: [email=oracle@dg1]oracle@dg1[/email] (TNS V1-V3)
*** ACTION NAME) 2008-03-31 17:41:57.518
*** MODULE NAMESQL*Plus) 2008-03-31 17:41:57.518
*** SERVICE NAMESYS$USERS) 2008-03-31 17:41:57.518
*** SESSION ID93.5) 2008-03-31 17:41:57.518
*** 2008-03-31 17:41:57.518
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [knluSetUnsupported], [0], [], [], [], [], [], []
Current SQL statement for this session:
create materialized view TT_EMP_DEPT for update
as
select e.rowid "emp_rowid",e.ename
    from emp e
----- Call Stack Trace -----
...

参考:BUG NO 5255767
得知,这个错误是由于for update 创建mview没有加上pk 列造成的
一时疏忽虽有构造了一个创建mview的句子,也没想multi master高级复制还需要pk的.没pk怎么for update!!
SQL> create materialized view TT_EMP_DEPT for update
2 as
3 select e.rowid "emp_rowid",e.ename,e.empno
4      from emp e;

Materialized view created.


确切证明Ora-600很多时候只是很简单的错误,并不都是BUG

[ 本帖最后由 wa0362 于 2008-6-30 11:55 编辑 ]


__________________
只看该作者    顶部
离线 lsfredhat
初级会员



精华贴数 0
个人空间 0
技术积分 359 (5430)
社区积分 0 (1307323)
注册日期 2007-3-19
论坛徽章:1
2008北京奥运纪念徽章:乒乓球     
      

发表于 2008-6-30 11:59 
板凳,支持


只看该作者    顶部
在线/呼叫 wa0362
Say,Hallelujah!


精华贴数 1
个人空间 0
技术积分 2321 (678)
社区积分 105 (3353)
注册日期 2005-5-7
论坛徽章:10
授权会员2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:乒乓球2008北京奥运纪念徽章:沙滩排球2008北京奥运纪念徽章:马术
ITPUB新首页上线纪念徽章     

发表于 2008-6-30 18:24 
貌似人们只是对怎么样配置stream,dg一类的文章感兴趣...


__________________
只看该作者    顶部
在线/呼叫 nmghailang
浪尖飞舞
我是一只小小鸟



精华贴数 0
个人空间 193
技术积分 1293 (1331)
社区积分 2 (31469)
注册日期 2007-8-26
论坛徽章:0
      
      

发表于 2008-6-30 20:21 
不错,学习了


__________________
在oracle世界里,我是unix高手,
在unix世界里,我是oracle高手;
在java开发里,我是玩weblogic的管理。
在webloic管理方面,我是开发的高手;

这年头,就得玩的综合实力!
qq:273920958
只看该作者    顶部
离线 五“宅”一生
一般会员



来自 大连
精华贴数 0
个人空间 0
技术积分 5241 (254)
社区积分 6 (14555)
注册日期 2006-11-4
论坛徽章:20
授权会员生肖徽章2007版:马2008北京奥运纪念徽章:跳水数据库板块每日发贴之星2008北京奥运纪念徽章:田径数据库板块每日发贴之星
数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星2008北京奥运纪念徽章:排球数据库板块每日发贴之星

发表于 2008-6-30 22:39 
很好。谢谢分享


只看该作者    顶部
离线 luomaotian
一般会员



精华贴数 0
个人空间 0
技术积分 310 (6352)
社区积分 7 (13250)
注册日期 2006-7-10
论坛徽章:6
授权会员生肖徽章2007版:羊2008北京奥运纪念徽章:排球2008北京奥运纪念徽章:自行车生肖徽章2007版:鼠生肖徽章2007版:鸡
      

发表于 2008-7-1 01:14 


QUOTE:
原帖由 wa0362 于 2008-6-30 18:24 发表
貌似人们只是对怎么样配置stream,dg一类的文章感兴趣...

案例分析才是重要的,謝謝樓主分享,支持樓主


只看该作者    顶部
离线 Kamus
版主


精华贴数 51
个人空间 400
技术积分 46512 (13)
社区积分 3558 (379)
注册日期 2002-5-26
论坛徽章:28
现任管理团队成员2007年度ITPUB最佳技术原创精华ITPUB元老ITPUB北京九华山庄2008年会纪念徽章管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念
ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章授权会员生肖徽章2007版:虎

发表于 2008-7-1 03:52 
回复 #2 wa0362 的帖子

其实第一个也可以说是bug,默认用了parallel就出ORA-600

parallel在OLTP系统中真是会引起很多问题


__________________
有事情请发Gmail邮箱,站内IM可能不能及时回复。    

***Chanel [K]***

从明天起, 做一个幸福的人  
喂马, 劈柴, 周游世界  
从明天起, 关心粮食和蔬菜  
我有一所房子 面朝大海, 春暖花开
只看该作者    顶部
离线 clinglei



精华贴数 0
个人空间 0
技术积分 78 (20049)
社区积分 2 (31655)
注册日期 2007-9-30
论坛徽章:2
生肖徽章2007版:马2008北京奥运纪念徽章:柔道    
      

发表于 2008-7-1 10:32 
多谢分享!


只看该作者    顶部
在线/呼叫 zhangweicai74
阿财


来自 贵州
精华贴数 3
个人空间 240
技术积分 5691 (232)
社区积分 21736 (59)
注册日期 2007-12-13
论坛徽章:155
授权会员生肖徽章2007版:虎生肖徽章2007版:龙   
      

发表于 2008-7-1 10:34 
不断总结,不断进步,LZ的惯真好!


__________________
NEVER TOO LATE
想吃贵州家乡菜不?进来嘛,老乡!!
http://space.itpub.net/12391917/viewspace-257185
玩玩双节棍(l_l)

美丽家乡黄果树瀑布
http://space.itpub.net/12391917/viewspace-244134
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问