ORA-7445 opiaba

ORA-7445 opiaba

1. [opiaba()+639] [SIGSEGV] [ADDR:0x0] [PC:0x187BC27] [SI_KERNEL(general_protection)] []

首参数opiaba

trace文件中的dump问题语句中存在超过65536个绑定变量。

命中bug:Bug 6614936 - ORA-7445 under opiaba() with more than 65535 binds (Doc ID 6614936.8)

伴随出现的现象有

  • 实例Crash
  • ORA-7445 dump
  • ORA-600 [17147]
  • opiaba DUMP
  • ORA-600 [qcscbndv1] [a] [b] [c] [d] [e]
When an application has more than 65535 bind variables in a single statement
then a dump can occur in/under opiaba, which can potentially cause an SGA
memory corruption that will crash the instance.
 
This fix causes an ORA-600 [qcscbndv1] to be raised rather than a core dump 
if there are more than 65535 binds. So with the fix, only the session that 
runs the offensive SQL will fail, and the SGA corruption prevented.
 
Note that even with this fix there may be some problem scenarios with large
bind counts, especially for PLSQL blocks.

根本上,减少单个语句单个事务内的绑定变量数量。

其他无解,设置事件或者其他workround只是改变dump行为,让实例活着而已,会以另外一种形式出错。

posted @ 2022-06-29 23:49  syksky  阅读(49)  评论(0编辑  收藏  举报