DBMS_ERRLOG
パッケージは、エラーの発生時に中断やロールバックではなく、DML操作を続行できるようにエラー・ロギング表を作成するプロシージャを提供します。これによって、時間およびシステム・リソースを節約できます。
関連項目: DBMS_ERRLOG の使用方法の詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を、error_logging_clause 構文については、『Oracle Database SQL言語リファレンス』を参照してください。 |
この章では、次の項目について説明します。
セキュリティ・モデル
この項では、DBMS_ERRLOG
パッケージの使用に関連する項目について説明します。
このプロシージャは、DMLエラー・ロギング機能の使用に必要なエラー・ロギング表を作成します。
LONG
、CLOB
、BLOB
、BFILE
およびADT
データ・タイプは、この列ではサポートされていません。
構文
DBMS_ERRLOG.CREATE_ERROR_LOG ( dml_table_name IN VARCHAR2, err_log_table_name IN VARCHAR2 := NULL, err_log_table_owner IN VARCHAR2 := NULL, err_log_table_space IN VARCHAR2 := NULL, skip_unsupported IN BOOLEAN := FALSE);
パラメータ
表64-2 CREATE_ERROR_LOGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
エラー・ロギング表の元表となるDML表の名前。完全修飾名( |
|
作成するエラー・ロギング表の名前。 デフォルトでは、DML表の名前の最初の25文字に、
|
|
エラー・ロギング表の所有者の名前。 |
|
エラー・ロギング表が作成される領域。指定しない場合は、DMLエラー・ロギング表を所有しているユーザーのデフォルトの表領域が使用されます。 |
|
デフォルトは |
例
まず、デフォルトの名前の生成を使用して、SH
スキーマにchannels
表のエラー・ロギング表を作成します。
次に、channels
表のすべての列を確認します。
SQL> DESC channels Name Null? Type --------------------------- ------- ----- CHANNEL_ID NOT NULL CHAR(1) CHANNEL_DESC NOT NULL VARCHAR2(20) CHANNEL_CLASS VARCHAR2(20)
最後に、生成されたエラー・ロギング表のすべての列を確認します。このパッケージによって作成される必須の制御列に注意してください。
SQL> DESC ERR$_CHANNELS Name Null? Type ----------------- ---- ----ORA_ERR_NUMBER$ NUMBER ORA_ERR_MESG$ VARCHAR2(2000) ORA_ERR_ROWID$ ROWID ORA_ERR_OPTYP$ VARCHAR2(2) ORA_ERR_TAG$ VARCHAR2(2000) CHANNEL_ID VARCHAR2(4000) CHANNEL_DESC VARCHAR2(4000) CHANNEL_CLASS VARCHAR2(4000)
制御列の詳細は、『Oracle Database管理者ガイド』を参照してください。