本篇内容介绍了“怎么解决数据库ora-600异常”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一,问题描述用户反馈,执行一段SQL时,出现ora-600的异常。
create or replace view grp_cust_ucs_v asselect distinct a.CUST_ID, a.CUST_NAME, b.service_id, b.list_system_id, a.CUST_ADDR, decode(a.CUST_TYPE,’01’,’大客’,’02’,’中小’,’03’,’公众’,’04’,’校园’,’未知’)CUST_TYPE, a.CARD_TYPE, a.CRAD_NO, a.EPARCHY_CODE, a.CITY_CODE, a.SCORE_VALUE, a.CREDIT_CLASS, a.BASIC_CREDIT_VALUE, a.CREDIT_VALUE, a.DEVELOP_DEPART_ID, f_develop_staff_tonumber(a.CUST_ID) DEVELOP_STAFF_ID, a.IN_DEPART_ID, a.IN_STAFF_ID, a.IN_DATE, a.REMOVE_FLAG, a.REMOVE_DATE, a.REMOVE_STAFF_ID, a.REMOVE_CHANGE, a.UPDATE_TIME, a.UPDATE_STAFF_ID, a.UPDATE_DEPART_ID, b.ACTIVE_TIME, b.active_man, case when b.cust_id is null then ’10’ when b.cust_id is not null then ’11’ end as CUST_STATUS, b.if_valid, b.sync_status, b.inactive_time, b.inactive_man, a.new_cust_type, (select b2.SYSTEM_USER_NAME||'(‘||b2.SYSTEM_USER_CODE||’)’ from grp_distribute_cust_manager b1,v_system_user b2 where b1.cust_id=a.cust_id and b1.status=10 and b1.manager_id=b2.SYSTEM_USER_ID)accept_man, (select b2.SYSTEM_USER_NAME||'(‘||b2.SYSTEM_USER_CODE||’)’ from grp_distribute_cust_manager b1,v_system_user b2 where b1.cust_id=a.cust_id and b1.status=10 and b1.send_user=b2.SYSTEM_USER_ID)send_man, (select to_char(b1.send_date,’yyyy/mm/dd’) from grp_distribute_cust_manager b1 where b免费主机域名1.cust_id=a.cust_id and b1.status=10)send_date, (select b1.manager_id from grp_distribute_cust_manager b1 免费主机域名 where b1.cust_id=a.cust_id and b1.status=10)accept_man_id from GRP_BMS_CUST_INFO a,GRP_CUST_UCS_T bwhere a.cust_id = b.cust_id(+) and b.if_valid(+) = ’10’;二、问题解决这是oracle的一个bug,在10.2.0.5.4和以后版本已经解决了,当大表hash join关联或者大表执行hash group by就有可能出现上述的ora-600 [kcblasm_1], [103], [], [], [], [], [], []问题。可以选择规避掉hash join执行计划或者hash group by的执行计划来避开相应sql引起的错误,我们可以在执行这个sql语句之前:alter session set “_hash_group_enabled”=false 禁掉hash join连接方式,或者sql语句里面使用hint no_use_hash。alter session set “_gby_hash_aggregation_enabled”=falase 禁掉hash group by执行路径Oralce给出的最快捷的方式是直接打patch到10.2.0.5.4或者以上版本,也可以选择在linux和unix平台打patch 7612454去解决这个问题,而windows下需要下载patch 3或者以上版本来解决这个问题。在这里,我们选择在sql语句里面使用hint no_use_hash,问题得到解决。“怎么解决数据库ora-600异常”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!
这篇文章主要讲解了“Log Miner的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Log Miner的知识点有哪些”吧!|Log Miner简介Log Miner是Oracle自Oracle 8…