Oracle 11.2.0.4 “_part_access_version_by_number” = false
Troubleshooting ora-600[ktecgsc:kcbz_objdchk]&ora-600[qesmaGetTblSeg1] when inserting and ora-7445 [kss_first_child] when granting
this issue can occur when accessing a PARTITIONed object after a TRUNCATE operation or Interval partition add DDL.
from 11.2.0.4, oracle use versioned KGL handle to store partitioned information, when DDL is execute against a partitioned object, it’s will increment a counter which is used is used in the KGL handle name that stores stores partitioning details. the counter is limited to 5 digits so once it exceed that digit count it migth pick up an old KGL versioned handle which would have stale data present.
* The release is 11.2.0.4 or 12.1 * Accessing a partitioned object fails with an error after a TRUNCATE or DROP of the same segment. The most common error is ORA-8103 but could also be ORA-600 [ktecgsc:kcbz_objdchk]; * other symptoms might be seen as well like Wrong Results. eg. the same SQL query results not same between RAC nodes . * Flushing the shared pool works around the issue.
Workaround
When the problem is seen, a workaround is to flush the shared pool. An alternative is to restart the instance with the hidden parameter
“_part_access_version_by_number” set to FALSE. (RAC sites should restart *all* instances with this parameter set to the same value).
Using “_part_access_version_by_number” = FALSE will revert back to the 11.2.0.3 partitioned handling behaviour and will avoid the problem.
对不起,这篇文章暂时关闭评论。