Можно ли использовать dbms_errlog для запросов SELECT? - PullRequest
2 голосов
/ 12 сентября 2011

Можно ли использовать функцию dbms_errlog для запросов SELECT?

Ранее я столкнулся с ошибкой, когда Oracle выдает ORA-0722, я пытался определить, какой столбец и, возможно, строку оператора PL / SQL, выдавшего эту ошибку. Однако я обнаружил, что dbms_errlog является родным только для Oracle 10g и выше.

В этом случае, какие альтернативы у меня есть, если я использую Oracle 9i?

1 Ответ

1 голос
/ 13 сентября 2011

DBMS_ERRLOG - это не функция, это пакет PL / SQL.Он содержит одну процедуру, которая создает таблицу ошибок.Чтобы регистрировать ошибки в этой ошибке, необходимо указать условие «log errors» для ваших операторов DML.Из этого описания должно быть очевидно, что это тесно связано с уровнем транзакций.

Один из способов воспроизвести подобное поведение в более ранних версиях - это

  • Создать собственную таблицу ошибок
  • Создайте процедуру PL / SQL, которая вставляется в эту таблицу ошибок.Чтобы убедиться, что журнал записывается в случае ошибок, эта процедура должна использовать автономные транзакции.
  • Вызовы ошибок журнала должны быть явно добавлены в соответствующие обработчики исключений.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...