今天发现alertsid.log文件里面每隔几分钟都会出现ORA-00600的错误:
file /oracle/app/admin/orcl/udump/orcl1_ora_745474.trc: ORA-00600: internal error code, arguments: [qcplgnt : no null terminator], [], [], [], [], [], [], []
trace文件里面看到这个相关的sql:
select ta.id,tb.name||:"SYS_B_0"||nvl(tc.title,:"SYS_B_1")||:"SYS_B_2" as subject_name from subject_issue ta inner join subject tb on ta.subject_id=tb.id left outer join (select ra.subject_issue_id,rd.title from subject_page ra,page rb, (select concat(st.name,pg.section_num) as title,pg.id as pid from page pg,paper pp,section st where pp.section_id=st.id and pg.paper_id=pp.id) rd, (select ta.subject_issue_id, min(tb.num) as minnum from subject_page ta,page tb where ta.page_id=tb.id group by ta.subject_issue_id) rc where ra.page_id=rb.id and ra.subject_issue_id=rc.subject_issue_id and ra.page_id=rd.pid and rb.num=rc.minnum) tc on ta.id=tc.subject_issue_id
怀疑和我使用了cursor_sharing有关,将这个参数改回到exact,然后reboot instance,flush shared_pool,没有再观察到ora-00600这个错误....
觉得很郁闷,因为数据库没有邦定变量,才用这个参数改善性能。
这个问题,需要我继续跟踪啊.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4096/viewspace-52444/,如需转载,请注明出处,否则将追究法律责任。