エラーメッセージとトラブルシューティング
トラブルシューティング
トラブルシューティング用トレースファイルの取得
ロック情報の取得
ネットワークサービストレースの取得
Error Message
概要
オラクルはエラーコードでエラーを識別している。
最初の準備
エラーメッセージ一覧
ORA-0 - ORA-847 jp
ORA-910 - ORA-1497 jp
ORA-1500 - ORA-2098 jp
ORA-2140 - ORA-4099 jp
ORA-4930 - ORA-7499 jp
ORA-7500 - ORA-9859 jp
ORA-9870 - ORA-12100 jp
ORA-12150 - ORA-12236 jp
ORA-12315 - ORA-12354 jp
ORA-12400 - ORA-12497 jp
ORA-12500 - ORA-12699 jp
ORA-12700 - ORA-13990 jp
ORA-14000 - ORA-15605 jp
ORA-16000 - ORA-19400 jp
ORA-19500 - ORA-19960 jp
ORA-19999 - ORA-24279 jp
ORA-24280 - ORA-27550 jp
ORA-28000 - ORA-28674 jp
NZE-28750 - NZE-29249 jp
ORA-29250 - ORA-30996 jp
ORA-31000 - ORA-32775 jp
ORA-32800 - ORA-32857 jp
ORA-33000 - ORA-37999 jp
ORA-38290 - ORA-39962 jp
ORA-41000 - ORA-43610 jp
ORA-41100 - ORA-42399 jp
NZE-43000 - NZE-43210 jp
ORA-43750 - ORA-44913 jp
ORA-46000 - ORA-46180 jp
ORA-47000 - ORA-47999 jp
DIA-48100 - DIA-51316 jp
ORA-53000 to ORA-5436 jp
ORA-54500 - ORA-56974 jp
ORA-57000 - ORA-57000 jp
ORA-61000 - ORA-62500 jp
EXP-0 - EXP-113 jp
IMP-0 - IMP-401 jp
SQL*Loader-100 - SQL*Loader-3120 jp
KUP-552 - KUP-1121 jp
UDE-1 - UDE-53 jp
UDI-1 - UDI-53 jp
DBV-200 - DBV-201 jp
NID-1 - NID-604 jp
DGM-1690 - DGM-179 jp
LCD-100 - LCD-219 jp
OCI-601 - OCI-31199 jp
QSM-501 - QSM-3120 jp
RMAN-550 - RMAN-2512 jp
LRM-100 - LRM-123 jp
LFI-2 - LFI-1523 jp
PLS-49 - PLS-1916 jp
PLW-5000 - PLW-7206 jp
AMD-100 - AMD-160 jp
CLSR-1 - CLSR-6507 jp
CLSS-1 - CLSS-3202 jp
CRS-184 - CRS-2292 jp
EVM-1 - EVM-901 jp
CLST-1 - CLST-3203 jp
CLSD-1001 - CLSD-2009 jp
PROC-1 - PROC-106 jp
PROT-1 - PROT-807 jp
TNS-0 - TNS-12699 jp
NNC-1 - NNC-501 jp
NNO-50 - NNO-854 jp
NNL-1 - NNL-1078 jp
NPL-100 - NPL-420 jp
NNF-1 - NNF-4009 jp
NMP-1 - NMP-11 jp
NCR-1 - NCR-4028 jp
O2F-301 - O2F-341 jp
O2I-101 - O2I-133 jp
O2U-200 - O2U-212 jp
PCB-1 - PCB-903 jp
PCC-1 - PCC-1515 jp
PCC-2010 - PCC-2460 jp
SQL-1075 - SQL-2158 jp
AUD-611 - AUD-809 jp
IMG-1 - IMG-2014 jp
VID-611 - VID-721 jp
DRG-10 - DRG-5235 jp
LPX-0 - LPX-1093 jp
LSX-1 - LSX-344 jp
PGA-2900 - PGA-2214 jp
PGU-100 - PGU-5101 jp
ORA-4031 ORA-04031
ORA-18008 ORA-08104
ORA-1041 ORA-01041
バグ
エラー検出
キーワードによる自動監視
Oracle従来のエラーコード
ORA-
NZE-
DIA-
EXP-
IMP-
SQL*Loader-
KUP-
UDE-
UDI-
DBV-
NID-
DGM-
LCD-
OCI-
QSM-
RMAN-
LRM-
LFI-
PLS-
PLW-
AMD-
CLSR-
CLSS-
CRS-
EVM-
CLST-
CLSD-
PROC-
PROT-
TNS-
NNC-
NNO-
NNL-
NPL-
NNF-
NMP-
NCR-
O2F-
O2I-
O2U-
PCB-
PCC-
SQL-
AUD-
IMG-
VID-
DRG-
LPX-
LSX-
PGA-
PGU-
OSのエラーコード
- 戻り値 != 0
- Linux-x86_64 Error:
- rm: cannot remove
Example:
rm: cannot remove `/u01/oradata/somesid/exp/*.dmp': No such file or directory removing
推奨エラー処理の組み方
- 全てのステップに戻り値・結果チェックを組む
- バッチの場合戻り値は特別の意味以外を0 - 正常、その他 - エラーと返す
- ログに処理詳細とエラーコード、メッセージを残す
- エラーコードメッセージを明確にエラーのあるかどうかと明記する
- エラーのある場合、継続処理か、完全に異常終了かオプションで選択できるようにする
階層方エラーが起こった場合、根本的なエラーはSQLERRMで処理すると、わからなくなることがありえる。
DBMS_UTILITY.FORMAT_ERROR_STACKで処理すると安全である。
BEGIN RAISE NO_DATA_FOUND; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (DBMS_UTILITY.FORMAT_ERROR_STACK); END; / ORA-01403: no data found
DBMS_UTILITYサブプログラムの要約
ACTIVE_INSTANCESプロシージャ | アクティブなインスタンスを戻します。 |
ANALYZE_DATABASEプロシージャ | データベース内にあるすべての表、クラスタおよび索引を分析します。「推奨されないサブプログラム」も参照してください。 |
ANALYZE_PART_OBJECTプロシージャ | 指定した表および索引を分析します。 |
ANALYZE_SCHEMAプロシージャ | スキーマ内にあるすべての表、クラスタおよび索引を分析します。「推奨されないサブプログラム」も参照してください。 |
CANONICALIZEプロシージャ | 指定した文字列を正規化します。 |
COMMA_TO_TABLEプロシージャ | カンマで区切られた名前のリストを、名前のPL/SQL表に変換します。 |
COMPILE_SCHEMAプロシージャ | 指定したスキーマ内にあるすべてのプロシージャ、ファンクション、パッケージおよびトリガーをコンパイルします。 |
CREATE_ALTER_TYPE_ERROR_TABLEプロシージャ | ALTER TYPE文のEXCEPTION句で使用するエラー表を作成します。 |
CURRENT_INSTANCEファンクション | 現在接続しているインスタンス番号を戻します。 |
DATA_BLOCK_ADDRESS_BLOCKファンクション | データ・ブロック・アドレスのブロック番号部分を取得します。 |
DATA_BLOCK_ADDRESS_FILEファンクション | データ・ブロック・アドレスのファイル番号部分を取得します。 |
DB_VERSIONプロシージャ | データベースに関するバージョン情報を戻します。 |
EXEC_DDL_STATEMENTプロシージャ | parse_stringでDDL文を実行します。 |
FORMAT_CALL_STACKファンクション | 現行のコール・スタックをフォーマットします。 |
FORMAT_ERROR_BACKTRACEファンクション | 現行のエラーのポイントから、エラーがキャッチされた例外ハンドラまでのバックトレースをフォーマットします。 |
FORMAT_ERROR_STACKファンクション | 現行のエラー・スタックをフォーマットします。 |
GET_CPU_TIMEファンクション | 現在のCPU時間を100分の1秒単位で戻します。 |
GET_DEPENDENCYプロシージャ | 渡されたオブジェクトの依存関係を示します。 |
GET_HASH_VALUEファンクション | 指定した文字列についてハッシュ値を計算します。 |
GET_PARAMETER_VALUEファンクション | 指定したinit.oraパラメータの値を取得します。 |
GET_TIMEファンクション | 現在の時間を100分の1秒単位で検出します。 |
INVALIDATEプロシージャ | データベース・オブジェクトを無効化し、オプションでそのPL/SQLコンパイラのパラメータ設定を変更します。 |
IS_CLUSTER_DATABASEファンクション | このデータベースがクラスタ・データベース・モードで実行しているかどうかを検出します。 |
MAKE_DATA_BLOCK_ADDRESSファンクション | ファイル番号とブロック番号を指定して、データ・ブロック・アドレスを作成します。 |
NAME_RESOLVEプロシージャ | 指定した名前を解決します。 |
NAME_TOKENIZEプロシージャ | 指定した名前を解析するためにパーサーをコールします。 |
PORT_STRINGファンクション | Oracleとオペレーティング・システムのバージョンを一意に識別する文字列を戻します。 |
TABLE_TO_COMMAプロシージャ | 名前のPL/SQL表を、カンマで区切られた名前のリストに変換します。 |
VALIDATEプロシージャ | 名前のPL/SQL表を、カンマで区切られた名前のリストに変換します。 |
Reference:
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/appdev.102/B19245-02/d_util.htm
また、DBMS_UTILITY.FORMAT_CALL_STACK は実行のスタックを表示できる。デバッグに役に立つ。
バッチ・処理エラーメッセージキーワード
- エラーを検知しました
- エラーが検出されました
- … に失敗しました
- エラーがある
エラーメッセージを確認する
Windows: echo msgtxt rdbms ora 10046 | oratclsh | findstr "ora-10046" Linux/Unix: echo msgtxt rdbms ora 10046 | oratclsh | grep "ora-10046"
See Also
http://yong321.freeshell.org/freeware/Windowsoerr.html
http://yong321.freeshell.org/freeware/oerr_pl.txt