ORA-00604: error occurred at recursive SQL level(再帰 SQL レベルでエラーが発生)
Oracle意味
Oracle がバックグラウンドで内部的に実行する再帰 SQL の実行中にエラーが発生した。これは実際のエラーを隠すラッパー (外側の) エラーであり、真の原因はその直下に示される 2 つ目のエラーコードにある。
原因
データディクショナリへのアクセス、失敗する DDL トリガー、満杯の SYSTEM 表領域、一時領域の不足、破損したデータディクショナリオブジェクト、またはセッションのログイン時に実行される LOGON トリガーの失敗。
対処方法
エラースタックで ORA-00604 に続く 2 行目を読む。それが真の原因であり、それを修正する。例えば ORA-01653 が表示されていれば表領域を拡張する。DDL/LOGON トリガーが疑わしい場合は一時的に無効にする: ALTER TRIGGER trigger_name DISABLE; SYSTEM と TEMP 表領域の使用量を DBA_FREE_SPACE で確認する。
同じデータベースの他の項目
- buffer busy waits待機: 別セッションが読み取り中または変更中のバッファをめぐる競合
- gc buffer busy待機 (RAC): インスタンス間で転送中のキャッシュフュージョンブロックをめぐる競合
- library cache lock待機: ライブラリキャッシュのオブジェクトハンドルをめぐる競合 (解析/DDL のシリアライズ)
- ORA-01438value larger than specified precision allowed for this column(列の精度を超える値)
- ORA-01400cannot insert NULL into (column)(列に NULL は挿入できない)
- ORA-02291integrity constraint violated - parent key not found(整合性制約違反 - 親キーがない)
- ORA-02292integrity constraint violated - child record found(整合性制約違反 - 子レコードがある)