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

标题: 由于 Bind Mismatch 导致子游标不停增加 [打印本页]

作者: 郑全    时间: 2024-7-30 10:27
标题: 由于 Bind Mismatch 导致子游标不停增加


ORA-07445 [lxeg2u] Errors When Child Cursor Increase Due To "Bind Mismatch" Even When Using Same Bind Values (Doc ID 2851328.1)       

In this Document

Symptoms

Cause

Solution

References


APPLIES TO:

Oracle Database - Enterprise Edition - Version 19.7.0.0.0 and later

Information in this document applies to any platform.

SYMPTOMS

The following error occurs in the alert log:


ORA-07445: exception encountered: core dump [lxeg2u()+88] [SIGSEGV] [ADDR:0x0] [PC:0x114740F38] [Address not mapped to object] []

The Current SQL Statement in the associated incident trace file shows:


----- Current SQL Statement for this session (sql_id=0723g6n3vv5ad) -----

SELECT ROWID,PICKUP_DATE,PICKUP_NO,CUST_NO,PAL_NO,CONTRACT_NO,BASTBJ_NO,CREATED_BY FROM AR_TRN_PICKUP_HDR_V WHERE TRUNC(PICKUP_DATE)>=:"SYS_B_0" AND TRUNC(PICKUP_DATE)<=:"SYS_B_1" AND PICKUP_TYPE != :"SYS_B_2" AND PAL_NO IN (Select PAL_NO from REM_TRN_PAL Where PAL_STATUS IN (:"SYS_B_3",:"SYS_B_4") And Coy_id = :"SYS_B_5") AND OFFICE_CODE = :"SYS_B_6" order by PICKUP_DATE

The Call Stack Trace in the same incident trace file shows:


... ksedst <- dbkedDefDump <- ksedmp <- ssexhd <- sslsshandler <- sighndlr <- call_user_handler <- sigacthandler <- lxeg2u <- ldxstdref <- ldxstdnew <- ldxstd <- evadsd <- evaopn2 <- kkscsEvalExprForCM <- kkscsCompareBinds <- kkscsCheckCriteria <- kkscsCheckCursor <- 3624 <- kkscsSearchChildLis <- kksfbc <- opiexe <- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino <- opiodr <- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main <- start ...



CAUSE

This issue is caused by a product defect and is investigated in Unpublished Bug 33163187 - Child Cursor Increase Due To "Bind Mismatch" Even When Using Same Bind Values and is fixed in 19.14.0.0.DBRU:220118 (JAN 2022) DB Release Update (DB RU) and above.


When running a certain query using bind variables, the query creates new child cursor due to "bind mismatch" each time the query is run, even though there are no changes in the bind variables. The v$sql_shared_cursor shows the reason as Bind mismatch(33).


Rediscovery Notes:

If all of the following are met, then you may be hitting this bug


- Fixes 31211220 + 31773582 is applied

- Bind mismatch(33) in cursor match diagnostic

- Using same value in bind variable keeps adding more child cursors



SOLUTION

1. Upgrade to a fixed version 23.1 or higher when available where the Bug is fixed


The fix for 33163187 is first included in

21.5.0.0.DBRU:220118 (JAN 2022) DB Release Update (DB RU)

19.14.0.0.DBRU:220118 (JAN 2022) DB Release Update (DB RU)

19.13.1.0.0 (JAN 2022) DB Release Update Revision(DB RUR)

19.12.2.0.0 (JAN 2022) DB Release Update Revision(DB RUR)


- OR -



2. Apply Patch 32266906 if available for your version and platform.


To check for conflicting patches, please use the My Oracle Support (MOS) Patch Planner Tool.


Reference:

Document 1317012.1 How to Use MOS Patch Planner to Check and Request the Conflict Patches?


If no patch exists for your platform and version, please contact Oracle Support to request a fix


- OR -


3. Possible Workaround:


_fix_control 17443547


For Example:

"_fix_control"='17443547:0'



REFERENCES



NOTE:33163187.8 - Bug 33163187 - Child Cursor Increase Due To "Bind Mismatch" Even When Using Same Bind Values



解决办法:

    升级,或者 "_fix_control"='17443547:0'








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