重庆思庄Oracle、Redhat认证学习论坛

标题: 11.2.0.4 bug遇到一个 [打印本页]

作者: 郑全    时间: 2016-10-20 18:35
标题: 11.2.0.4 bug遇到一个
从11.2.0.3升级到11.2.0.4,并打psu 160917后,执行以下sql,

SELECT MAX(a.零售价) AS 零售价,
SUM(a.数量) AS 库存数量

FROM(SELECT drugs_id 项目id,
purchase_price 进价,
quantity 数量,
retail_price 零售价,
stock_id 入库明细id,
'ed2f548c-336d-4239-9f7e-3c3e69acec23' 库房id

       FROM TABLE(CASE
WHEN '5' IN (1,2,3) THEN F_insert_t_drugs_stock('873f3ce5-9f59-3e60-e040-a8c0c90a60dd',0,
'ed2f548c-336d-4239-9f7e-3c3e69acec23',0,
0,1)

                       WHEN '5' = 4 THEN F_equip_interface('873f3ce5-9f59-3e60-e040-a8c0c90a60dd',0,
'ed2f548c-336d-4239-9f7e-3c3e69acec23',null)

                   END)

     ) a



将报 ora-03113的错误,在服务器报警日志中,有以下错误信息:



Error: ORA-07445 [qmxtrRewCaseWhen()+75] [SIGSEGV] [ADDR:0x0] [PC:0x5213C6D] [Address not mapped to object]





错误堆栈中有以下信息:


Error Stack: ORA-7445[qmxtrRewCaseWhen]
Main Stack:
qmxtrRewCaseWhen <- kokbxifv <- kokbXformCollItersInQbc <- kkqvmTrMrg <- kkqvmdrv2
<- kkqvmdrv <- kkqdrv <- opiSem <- opiDeferredSem <- opitca <- kksFullTypeCheck <- rpiswu2
<- kksSetBindType <- kksfbc <- opiexe <- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino <- opiodr
<- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main



该错误只有在from子句的结果返回没有记录时,才会抱错,如果有记录,就不会抱错.

SELECT drugs_id 项目id, purchase_price 进价,quantity 数量,retail_price 零售价,stock_id 入库明细id,'ed2f548c-336d-4239-9f7e-3c3e69acec23' 库房id
       FROM TABLE(CASE WHEN '5' IN (1,2,3) THEN x

                       WHEN '5' = 4 THEN y)
                   END)



已经确认该问题是11.2.0.4的一个 bug,bug号为:20114174

该补丁为在线补丁.可以不用停数据库服务.如果是rac,只需要在一个节点打,自动会传到其他节点去.



opatch apply online -connectString <SID_Node1>:<Username_Node1>:<Password_Node1>:<Node1_Name>,<SID_Node2>:<Username_Node2>:<Password_Node2>:<Node2_Name


比如:



opatch apply online -connectString orcl1:sys:oracle:rac01,orcl2:sys:oracle:rac02













欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2