Replies: 2 comments 1 reply
-
(Technically this should have been asked on https://github.com/oracle/python-cx_Oracle/issues) @anthony-tuininga will know better what the 'set the max data size, if applicable' code in ODPI-C is handling. What data are you binding? Update: what's the actual database version e.g. like 19.3 or 19.18 shown by connection.version? What Oracle Client library version are you using? |
Beta Was this translation helpful? Give feedback.
-
Some more comments thanks to our optimizer team:
Separately to the issue, I would encourage you to update to at least cx_Oracle 8.3.0, and preferably to the latest python-oracledb |
Beta Was this translation helpful? Give feedback.
-
Our DBA recently found this sql cause shareable memory grow up and high version_count 。According to trace log analyze,
it might be OCI use this variable OCI_ATTR_MAXDATA_SIZE 。
How to use this variable when i use cx-oracle library establish connection to query table?
sql statement:
SELECT /*+ INDEX(da I_ASC_DATA_2) */ REGEXP_SUBSTR(da.TARGET_OBJREF,:"SYS_B_00",:"SYS_B_01",:"SYS_B_02") ||:"SYS_B_03"||REGEXP_SUBSTR(da.TARGET_OBJREF,:"SYS_B_04",:"SYS_B_05",:"SYS_B_06") AS KEY, da.SOURCE_OBJREF,da.TARGET_OBJREF,defn.ASC_NAME FROM sysf300.ASC_DATA da , (SELECT tmp.ASC_NAME, tmp.ASC_DEFN_ROW_ID FROM sysf300.ASC_DEFN tmp WHERE ( tmp.ASC_NAME = :"SYS_B_07" OR tmp.ASC_NAME = :"SYS_B_08" OR tmp.ASC_NAME = :"SYS_B_09" ) AND tmp.SOURCE_TARGET_FLAG = :"SYS_B_10") defn WHERE da.TARGET_OBJREF IN (:0,:1,:2,:3,:4,:5,:6,:7,:8,:9) AND da.ASC_REFERENCE = defn.ASC_DEFN_ROW_ID AND da.SOURCE_TARGET_FLAG = :"SYS_B_11"
cx_oracle version: 7.1.2
oracle database version: 19.0.0.0.0
Beta Was this translation helpful? Give feedback.
All reactions