おらくるのいる生活

OracleのDBAとしての、障害対応やらパフォーマンス・チューニングやらの日々を綴っています

特定のSQL実行時にORA-3113発生

リリース直後の新本番環境で、特定のSQL実行時にORA-3113が発生するとの連絡を受けました。

ORA-03113: 通信チャネルでend-of-fileが検出されました

 

環境は以下の通りです。

Oracle RAC(2ノード) EE 19.9

Oracle Linux 7.9

 

アラートログを確認したところ、ORA-03113は出力されていませんでしたが、以下のエラーが多発していました。

※XXXXX の部分は文字化けしてしまっていて、不明です。

ORA-07445: XXXXX [kkqsNPfound()+97] [SIGSEGV] [ADDR:0x0] [PC:0xF255971] [SI_KERNEL(general_protection)] []

ORA-07445  kkqsNPfound() でMOS(MyOracleSupport)を検索した所、以下のドキュメントがヒットしました。

ORA-07445 [kkqsNPfound()+102] After Upgrade from 11.2.0.4 To 19c (ドキュメントID 2684480.1)

select実行時にクライアント側にora-3113、アラートログにora-7445が出力されるという不具合で、19.6以降で発生します。

対処としてはbug 31360323の個別パッチを適用するか、query_rewrite_enabledを無効にします。

パッチを適用するにはシステムを止めなければならないのと、エラーが発生するのは特定のSQLのみなので、セッション単位で回避策を講じる事になりました。

alter session set query_rewrite_enabled=false;

これ以来、エラーは出なくなりました。