2016-07-30 1 views
2

데이터베이스 또는 OS 문제가 발생할 경우 Oracle 데이터베이스 스크립트가 실패하도록 설정하고 싶습니다.sqlcl errorlog configuration

필자는 SQLCL 로의 마이그레이션을 고려해 왔지만 데이터베이스가 아닌 문제에 대한 롤백 감지 및 트리거를 위해 취한 SQL * Plus 접근 방식은 SQLCL과 함께 실패하고 있으며 대체 솔루션이 있는지 또는 좋은 것인지 궁금합니다. 해결 방법). I 등의 I/경고 계속/커밋하기 전에이를 감지하고 롤백/분기를 결정할 수 있습니다 SPERRORLOG, 어떤 SP- 오류를 직접 SET ERRORLOGGING을 사용하고

나는 최신 sqlcl를 잡고

(2016 월 sqlcl-4.2.0.16.175.1027), 다음 문제에 대한 해결책을 찾고 있지만 계속됩니다.

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

수동 항목이 옵션에 대한 아무 것도 SQLCL에 변경을 나타 내기 것 같다 :

SET ERRORLOGGING ON을 발행, 나는 다음과 같은 얻을.

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

이것은 버그일까요? 아니면 ERRORLOGGING을 실행하는 데 필요한 다른 것이 있습니까?

이것이 버그 인 경우 SP (2) 오류를 감지하는 좋은 방법이 있습니까?

+0

실행중인 Oracle 버전은 무엇입니까? SQL * PLUS 오류 로깅 기능이 11.1 버전에서 도입되었습니다. –

+0

감사합니다. @NicholasKrasnov 11GR2에 있습니다. SPERRORLOG는 SQLPlus에서 제대로 작동하지만 SQLCL 만 실패합니다. – alexgibbs

답변

1

글쎄, 사용할 수있는 SQLcl의 set 설정 중에 errorlogging 설정이 존재 함에도 불구하고 현재 지원되지 않습니다.

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 
+0

그게 설명해. 고마워 니콜라스, 받아 들일거야. 나는이 정보가 도움에 직접적으로 포함되지 않는다는 것을 인정하면서 놀랍다. – alexgibbs

1

거기에 도착했습니다. 현재 지원되며 latest OTN release 또는 Oracle Database 릴리스에서 지원됩니다.

SQL> conn barry/[email protected]: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 
+0

감사합니다. 배리. 이 기능은 sqlcl을 사용할 수있는 상황을 확장하는 데 도움이됩니다. – alexgibbs