| Reason Code | Bug | Description | Confirmed Affected Versions | Fixed | Support Article |
|---|---|---|---|---|---|
| BIND_MISMATCH | Bug:5705795 | MANY CHILD CURSORS CREATED FOR HIGH WORKLOAD IN 10.2.0.3 | 10.2.0.3 | 10.2.0.4 11.1.0.7 |
Note:416727.1 |
| PQ_SLAVE_MISMATCH | Bug:6981690 | Cursor not shared when running PX query on mounted RAC system | 10.2.0.3 10.2.0.4 11.1.0.7 |
10.2.0.4.4 (PSU) 10.2.0.5 11.1.0.7.1 (PSU) 11.2.0.1 |
Note:760777.1 |
| AUTH_CHECK_MISMATCH and LANGUAGE_MISMATCH | Bug:7648406 | CHILD CURSOR IS NOT SHARED IF SET NLS_LENGTH_SEMANTICS=CHAR. | 10.2.0.3 10.2.0.4 11.1.0.7 |
10.2.0.5 11.1.0.7.4 (PSU) 11.2.0.1 |
Note:783120.1 |
| USER_BIND_PEEK_MISMATCH | Bug:8981059 | High Version Count (due to USER_BIND_PEEK_MISMATCH) with bind peeking | 10.2.0.4 11.1.0.7 11.2.0.1 |
11.2.0.1.2 (PSU) 11.2.0.2 12.1 |
Note:968930.1 |
| AUTH_CHECK_MISMATCH and INSUFF_PRIVS_REM | Unpublished Bug:8922013 | ORA-00600: INTERNAL ERROR CODE, ARGUMENTS: [17059], [0X93953434] | 10.2.0.4 10.2.0.5 |
? | Note:973149.1 |
| PX_MISMATCH | Unpublished Bug:9226905 |
STPA - ORA-00600: INTERNAL ERROR CODE, ARGUMENTS: [KKFDPAPRM] | 11.1.0.7 11.2.0.1 |
11.2.0.2 | Note:1340558.1 |
| BIND_MISMATCH | Bug:9689310 | SPORADIC BUNCHES OF ORA-600 [17059] | 10.2.0.4 10.2.0.5 11.1.0.7 11.2.0.1 |
11.1.0.7.7 (PSU) 11.2.0.2 12.1 |
Note:9689310.8 |
| INST_DRTLD_MISMATCH | Bug:10151017 | MERGE STATEMENT NOT BEING SHARED UNDER SPECIFIC CIRCUMSTANCES | 11.1.0.7 11.2.0.1 11.2.0.2 |
11.2.0.2.1 (PSU) 11.2.0.3 12.1 |
Note:1365227.1 |
| AUTH_CHECK_MISMATCH | Bug:12320556 | HIGH VERSION COUNTS OCCUR DUE TO AUTH_CHECK_MISMATCH, INSUFF_PRIVS_REM=Y | 11.1.0.7 11.2.0.2 |
12.1 | Note:12320556.8 |
Data Blocks包含SQL语句、执行计划、执行文本等信息,Oracle通过地址指向存储这些信息的Heap和Chunk.Heap 6存储着SQL的执行计划.从Oracle 10.2.0.4开始,可以用dbms_shared_pool.purge包清理出处在Heap 6中的执行计划.
dbms_shared_pool.purge用法: 首先我们在SCOTT和TOM用户都创建T表 scott@PROD>desc t
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
OBJ_ID NUMBER
OBJ_NAME VARCHAR2(128)
OWNER VARCHAR2(29)
tom@PROD>desc t
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
NAME VARCHAR2(10)
ID NUMBER
两个用户都执行查询'select * from t’
sys@PROD>select address,hash_value,executions,parse_calls,child_number,child_address from v$sql where sql_text like 'select * from t';
ADDRESS HASH_VALUE EXECUTIONS PARSE_CALLS CHILD_NUMBER CHILD_AD
-------- ---------- ---------- ----------- ------------ --------
4E251A00 1134051363 2 2 0 4E251924
4E251A00 1134051363 2 2 1 4E1033B0
使用dbms_shared_pool.purge包前先开启event 5614566
SQL> alter session set events '5614566 trace name context forever';
sys@PROD>exec dbms_shared_pool.purge('4E251A00,1134051363','C');
PL/SQL procedure successfully completed.
sys@PROD>select address,hash_value,executions,parse_calls,child_number,child_address from v$sql where sql_text like 'select * from t';
no rows selected
我们还可以对语句中的对象做个ddl操作也会把该执行计划踢出共享池.由于DDL语句,ORACLE认为该执行计划已废弃