Конфигурация журнала ошибок sqlcl

Мне нравится настраивать сценарии базы данных Oracle на сбой в случае проблем с базой данных или ОС.

Я думал о переходе на SQLCL, но подход SQL*Plus, который я выбрал для обнаружения и запуска отката для проблем, не связанных с базой данных, терпит неудачу с SQLCL, и я подумал, есть ли у кого-нибудь альтернативное решение (или хороший обходной путь).

Я использую SET ERRORLOGGING направлять любые SP-ошибки в SPERRORLOG, где я могу их обнаружить перед фиксацией и принять решение об откате / переходе / продолжении / предупреждении и т. д.

Я взял последнюю версию sqlcl (июнь 2016 года, sqlcl-4.2.0.16.175.1027), надеясь решить следующую проблему, но она сохраняется.

При выдаче SET ERRORLOGGING ONЯ получаю следующее:

SQL> SET ERRORLOGGING ON 
SP2-0158: unknown SET option beginning "errorloggi..."

Ручная запись, кажется, указывает, что больше ничего для этой опции не изменилось в SQLCL.

SQL> help set errorlogging 
SET ERRORLOGGING 
ERRORL[OGGING]{ON|OFF} 
[TABLE [schema.]tablename]     [TRUNCATE] [IDENTIFIER  identifier]

Это просто ошибка, или нужно что-то еще, чтобы запустить ERRORLOGGING?

Если это ошибка, есть ли хорошая альтернатива для обнаружения SP(2)- ошибки?

2 ответа

Решение

Ну, похоже, несмотря на то, что errorlogging настройка присутствует среди доступных SQLcl set в данный момент настройки не поддерживаются.

Бежать show <setting> Команда, чтобы проверить, поддерживается ли параметр или нет.

./sql -v

SQLcl: Release 4.2.0.16.175.1027 RC

SQL> help set errorlogging

SET ERRORLOGGING
   ERRORL[OGGING] {ON|OFF}
   [TABLE [schema.]tablename] 
   [TRUNCATE] [IDENTIFIER identifier]

SQL> show errorlogging
errorlogging Unsupported

Мы получили там. Он поддерживается сейчас и в последней версии OTN или версии Oracle Database.

SQL> conn barry/oracle@localhost:1521/xe
Connected.
SQL> show errorlogging
errorlogging is OFF
SQL> set errorlogging on
SQL> show errorlogging
errorlogging is ON TABLE SPERRORLOG
SQL> select * from NOTATABLE;

Error starting at line : 1 in command -
select * from NOTATABLE
Error at Command Line : 1 Column : 15
Error report -
SQL Error: ORA-00942: table or view does not exist
00942. 00000 -  "table or view does not exist"
*Cause:
*Action:


SQL> set sqlformat ansiconsole
SQL> /

USERNAME  TIMESTAMP                     SCRIPT  IDENTIFIER  MESSAGE                                   
STATEMENT

BARRY     29-AUG-17 12.55.45.000000000                      ORA-00942: table 
or view does not exist
select * from NOTATABLE
Другие вопросы по тегам