如果你不知道什么叫诡异,那么请往下看。
一个select语句,在10.2.0.1 for linux平台跑着好好的,到了10.2.0.4一执行就hang住,等待SQL*Net message from Client,而且非常消耗CPU资源。很奇怪吧,看似是等待客户端的请求,但是却消耗了大量CPU,似乎很矛盾。在山穷水尽之时,老熊横空出世,抓到了call stack,并且在metalink上找到了相似的BUG。
我的call stack:
lnxfpr ()lnxn2coptg ()lnxn2copt ()lnxn2c ()evastr ()evaopn2 ()evaopn2 ()evacat ()evaopn2 ()evareo ()expeqkesEval_Int ()qkesEvalPred ()qsmeeopt_evaluate_opt ()kkqsevopt ()kkqsrgck ()kkqsecxp ()kkqsccck ()kkqsdcck ()kkqscchk ()kkqsCheckWkkqsAreQbcsEquivalent ()kkqvCheckQbcEquiv ()expCheckExprEquiv ()qecgoc ()qecgby ()qecdrv ()qecdrv ()kkqcttcalo ()kkqctdrvIT ()apadropitca ()kksFullTypeCheck ()rpiswu2 ()kksLoadChild ()kxsGetRuntimeLock ()kksfbc ()kkspsc0 ()kksParseCursor ()opiosq0 ()kpooprx ()kpoal8 ()opiodr ()ttcpip ()opitsk ()opiino ()opiodr ()opidrv ()sou2o ()opimai_real ()main ()
Bug No. | 7436631 QUERY HANGS IN PARSING ON 10.2.0.4 ON LNXN2COPT 的call stack: STACK TRACE: ------------ Summary Stack lnxn2copt lnxn2c evastr copyright (c) 1981 by Relational Software evaopn2 evareo evareo - EVAluate RElational Operator expepr expepr evaluates the argument predicate. qkesEval_Int qkesEvalPred qsmeeopt_evaluate_opt kkqsevopt kkqsrgck kkqsecxp kkqsccck kkqsdcck kkqscchk kkqsCheckWhereClauseEquiv kkqsAreQbcsEquivalent kkqvCheckQbcEquiv expCheckExprEquiv qecgoc qecgoc - Query Edit Check Group Operand Check qecgby qecgby - Query Edit Check Group BY qecdrv qecdrv - query edit check driver opitca OPITCA: sets up the context area kksFullTypeCheck . 非常相似,遗憾的是在linux下没有patch,最后通过改写SQL fix掉了。 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9533994/viewspace-1019666/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9533994/viewspace-1019666/