Linux – Oracle error when logging into database

linuxoracle10g

When I try to log into my db with a specific user I get this message. Below is from the alert log. I can login as system just fine. Anyone know how to figure out what is causing this?

Thanks in advance for the help.

----- 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
OEL 5.5

Best Answer

Since this is happening when you log in, it is almost certainly the result of a bug in a logon trigger. Presumably, there are very few logon triggers defined in your system-- you can get a list of all the logon triggers.

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

If you look at the trigger code, you should be able to see a bug where the trigger is attempting to populate a column with a value larger than the allowed precision. My guess is that you're using logon triggers to write to some sort of custom audit table and that one of the columns in the custom audit table needs to have its precision increased.