Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|improve this question

1 Answer 1

up vote 0 down vote accepted

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.

share|improve this answer
    
You are exactly correct. I found that it was turned off in prod and turned on in test, which is where the problem was. I turned it off in test and the problem went away. Thanks for the help. –  Bryan Jun 28 '12 at 20:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.