| This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review. |
Applies to:
Oracle Server - Enterprise Edition - Version: 8.1.5.0 to 11.2.0.2 - Release: 8.1.5 to 11.2Information in this document applies to any platform.
Symptoms
An ORA-600 [16606] error occurs on execution of a database level trigger, such as a logon trigger.
The call stack for the ORA-600 [16606] will resemble:
kglsget kqlsget psdghi ph1pbv ph1gnt ph1ylx ph1lex plsql ph1run ph1drv phpsyn phpcmp pcicms2 pcicmp2 kkxcmp0 rpiswu2 kkxcmp kktcrt opiexe opiosq0 kpooprx kpoal8 opiodr ttcpip opitsk opiino opiodr opidrv sou2o opimai_real main __start
Changes
The trigger has been updated to reference correlation variables :NEW or :OLD.Cause
This is due to incorrect use of PLSQL correlation names (:OLD & :NEW) in a trigger as identified in Bug:8319488, as correlation names are only supported for row level DML triggers.Solution
Correct the application code to remove use of the correlation names :OLD and/or :NEW in anything but row level (i.e. FOR EACH ROW) DML triggers.References
BUG:8319488 - ORA-600 [16606] WITH LOGON TRIGGERNOTE:138525.1 - ORA-600 [16606]
本文介绍了Oracle数据库中ORA-600[16606]错误的发生原因及解决办法。该错误通常出现在执行数据库触发器时,并伴有不当使用PL/SQL关联名称(:OLD和:NEW)的情况。文章提供了详细的调用堆栈信息及修改建议。

被折叠的 条评论
为什么被折叠?



