2016-07-30 25 views
2

データベースやOSに問題が発生した場合に、oracleデータベースのスクリプトが失敗するように設定します。sqlclエラーログの設定

私はSQLCLへの移行を検討してきましたが、データベース以外の問題のロールバックを検出してトリガーするためのSQL * Plusアプローチは失敗しました。誰かが代替ソリューションを持っているか回避策)。

私がコミットする前にそれらを検出し、決定することができSPERRORLOG、ロールバック/支店/継続/警報へのSP-エラーを指示する SET ERRORLOGGINGを使用してきた

など

私は、最新のsqlcl(2016年6月をつかん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

関連する問題