Когда я пытаюсь войти в свою базу данных с конкретным пользователем, я получаю это сообщение. Ниже приведен журнал предупреждений. Я могу войти в систему как система. Кто-нибудь знает, как выяснить, что вызывает это?
Заранее спасибо за помощь.
----- 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
Поскольку это происходит при входе в систему, это почти наверняка является результатом ошибки в триггере входа в систему. Предположительно, в вашей системе определено очень мало триггеров входа в систему - вы можете получить список всех триггеров входа в систему.
SELECT owner, trigger_name
FROM dba_triggers
WHERE triggering_event = 'LOGON'
Если вы посмотрите на код триггера, вы должны увидеть ошибку, при которой триггер пытается заполнить столбец значением, превышающим допустимую точность. Я предполагаю, что вы используете триггеры входа в систему для записи в какую-то настраиваемую таблицу аудита и что для одного из столбцов в настраиваемой таблице аудита необходимо повысить точность.