登录数据库时出现 Oracle 错误

登录数据库时出现 Oracle 错误

当我尝试以特定用户身份登录数据库时,我收到此消息。以下是来自警报日志。我可以以系统身份正常登录。有人知道如何找出导致这种情况的原因吗?

先谢谢您的帮助。

----- Error Stack Dump -----
ORA-00604: error occurred at recursive SQL level 1
ORA-01438: value larger than specified precision allowed for this column
ORA-06512: at line 2

Oracle 10g 官方版本 5.5

答案1

由于这种情况发生在您登录时,因此几乎可以肯定这是登录触发器中的错误造成的。据推测,您的系统中定义的登录触发器很少——您可以获取所有登录触发器的列表。

SELECT owner, trigger_name
  FROM dba_triggers
 WHERE triggering_event = 'LOGON'

如果您查看触发器代码,您应该能够看到一个错误,即触发器试图用大于允许精度的值填充列。我猜您正在使用登录触发器写入某种自定义审计表,并且自定义审计表中的某一列需要提高其精度。

相关内容