この章では、エラー・メッセージに関する一般情報および補足的ヒントを紹介します。この章の内容は、次のとおりです。
この項では、エラー・メッセージが戻されたときに、参照するエラー・メッセージ関連マニュアルを判断する方法について説明します。
Oracleエラー・メッセージ・マニュアルは、HTML形式でのみ提供されます。OracleドキュメントCDにのみアクセスできる場合は、範囲を指定してエラー・メッセージを参照できます。特定の範囲を検出した後、ブラウザの「このページの検索」機能を使用して特定のメッセージを検索します。インターネットに接続している場合は、Oracleオンライン・ドキュメントのエラー・メッセージ検索機能を使用して、特定のエラー・メッセージを検索できます。
これらのメッセージは、Oracleプログラムの実行時にOracle Databaseによって生成されます。このマニュアルには、Oracle製品およびOracleのツール製品に共通するメッセージを記載します。
これらのメッセージは各製品ごとに異なり、マニュアルの文章はその製品用のものです。たとえば、Oracle Fail Safeを使用する場合は、『Oracle Fail Safeエラー・メッセージ』でメッセージを参照する必要があります。
これらのメッセージは各オペレーティング・システムに固有のものです。各オペレーティング・システムには、一定範囲のメッセージ・コード番号が割り当てられています。たとえば、ORA-07500〜ORA-07999の範囲のメッセージはDEC VAX/VMS用のメッセージであり、これらのメッセージは該当するオペレーティング・システム固有のマニュアルにも記載されています。
メッセージの接頭辞を見れば、そのメッセージの情報がどこに記載されているかわかります。たとえば、このマニュアル中のメッセージには「ORA」の接頭辞が付いているものがあります。接頭辞がないメッセージがある場合、最初にご使用のリリースのOracle用のマニュアルを調べ、その後このマニュアルで調べます。
このマニュアルのメッセージで最も重要なのは、その精度です。バージョン・アップ時のメッセージの変更により、Oracleソフトウェアと一致しない場合があります。このマニュアルと異なるメッセージが出力された場合は、通常、次のリリースのソフトウェアに改訂版のメッセージ・テキストが収録されますので、お待ちください。矛盾がみられる場合は、マニュアル巻頭の「マニュアル・コメント用紙」を使用して問い合せてください。
表示されるすべてのメッセージには、どのプログラムから出力されたかを示す接頭辞が付いています。たとえば、接頭辞「ORA」は、Oracle製品によって生成されたメッセージに表示されます。このマニュアルに記載されているメッセージはこの接頭辞ごとに並んでいます。
なお、すべてのメッセージは、メッセージ・コード番号に従って示されています。メッセージを検索するときは、このメッセージ・コード番号を使用してください。
メッセージを容易に発見しエラーを解決するため、Oracleではある種のメッセージにオブジェクト名、数、文字列が埋め込まれています。これらの埋め込まれた変数はstring、numberまたはcharacterの部分に表示されます。次に例を示します。
ORA-00020: maximum number of processes (number) exceeded
このメッセージは、実際には次のように表示されます。
ORA-00020: maximum number of processes (50) exceeded
メッセージ・スタックが表示されることがよくあります。メッセージ・スタックは、Oracleの各レベルから出力される一連の関連メッセージです。
次のメッセージ・スタックは一般的な例です。
ORA-06502: PL/SQL: numeric or value error ORA-06512: at "SCOTT.VALUE_ERR", line 1 ORA-06512: at line 1
次のメッセージ・スタックはVAX/VMSの例です。
ORA-01034: Oracle not available ORA-07625: smsget: $MGBLSC failure %SYSTEM-W-NOSUCHSEC, no such (global) section
この例の場合、スタックの一番下のメッセージはVMSオペレーティング・システムから出力されたものです。システム内の各レベルで検出されるメッセージは、その原因をたどるときに役立ちます。たとえば、前述の場合、Oracleがまだ起動されていないためにシステム・グローバル領域(SGA)が存在せず、Oracleデータベースを使用できない可能性もあります。Oracleサポート・サービスに連絡する場合、必ずメッセージのスタック全体を報告してください。
メッセージによっては、Oracleサポート・サービスに連絡するよう指示される場合があります。Oracleサポート・サービスに連絡する場合、次の項目を確認してください。
Oracleが稼働しているハードウェア、オペレーティング・システムおよびオペレーティング・システムのリリース番号。
Oracle Databaseの詳細なリリース番号(たとえば、9.2.0.1.0や9.0.1.1.2)。
エラー発生時に実行していたすべてのOracleプログラム(バージョン番号も含む)。たとえばSQL*Net V2.0、SQL*Forms V3.0など。
メッセージ・コードまたはメッセージがいくつか表示されている場合、出力順の正確なコード番号とメッセージ本文。
問題の重要度: 次の順位に従います。
1 = プログラムを実行できない。操作に重大な影響がある。
2 = プログラムを実行できる。操作は非常に制限される。
3 = 限定された機能でプログラムを実行できる。操作全体ではそれほど重大ではない。
4 = 問題はユーザーが回避できる。操作に対する影響はきわめて小さい。
さらに、次の情報を提供してください。
ユーザーの氏名
会社名
OracleサポートID番号
電話番号
Oracleの広範囲な自動検査機能は、内部エラーの検出に役立ちます。Oracle内部例外として次のメッセージが一括して出力されます。
ORA-00600: internal error code, arguments: [number], [number], [], [], [], []
このメッセージは実際には次のように表示されます。
ORA-00600: internal error code, arguments: [1042], [3], [upilam], [], [], []
メッセージ文の後には、エラーの発生地点および属性を示す引数が最高6個まで表示されます。第1の引数は内部エラー番号を示します。他の引数は、各種の数値、名前、文字列です。空のカッコは無視してかまいません。
ユーザーにメッセージが戻されるのみでなく、このメッセージの原因に関する情報と一緒に内部エラーがアラート・ファイルに書き込まれます。アラート・ファイルには、内部エラーによって生成されたトレース・ファイルの保存位置も書き込まれます。トレース・ファイルとアラート・ファイルについては、次の項を参照してください。
このORA-00600メッセージが出力された場合、Oracleサポート・サービスに連絡してください。
Oracleインスタンスの起動時、ユーザー・プロセスまたはバックグラウンド・プロセスで予期しないイベントが発生した場合、必ずトレース・ファイルが作成されます。トレース・ファイル名には、インスタンス名、プロセス名、Oracleプロセス番号が含まれています。ファイル拡張子つまりファイル・タイプは、通常TRCとなります。それ以外の場合については、オペレーティング・システム固有のOracleマニュアルに記述されています。このトレース・ファイルには、システム・グローバル領域、プロセス・グローバル領域、スーパーバイザ・スタック、レジスタのダンプが入っています。
トレース・ファイルの位置を指定するために、2つの初期化パラメータが使用されます。
BACKGROUND_DUMP_DEST
初期化パラメータは、Oracleバックグラウンド・プロセスPMON、DBWR、LGWRおよびSMONによって作成されたトレース・ファイルの位置を指定します。
USER_DUMP_DEST
初期化パラメータは、SQL*LoaderやPro*Cなどのユーザー・プロセスによって作成されたトレース・ファイルの位置を指定します。
アラート・ファイルには、内部エラーが発生したときに生成されるトレース・ファイルの位置が書き込まれます。アラート・ファイルについては、次の項を参照してください。
問題の診断に使用する前に、トレース・ファイルをフォーマットする必要があります。トレース・ファイルをフォーマットするには、ほとんどのシステムで利用可能であり、各オペレーティング・システム固有のOracleマニュアルに記述されているDUMPFMTユーティリティを使用してください。Oracleサポート・サービスは、問題を解決するためにフォーマット済のトレース・ファイルを要求することがあります。
参照: トレース・ファイルの詳細は、『Oracle Database管理者ガイド』を参照してください。 |
アラート・ファイルは、内部エラーやバックアップのような管理作業に関する情報を記録したログ・ファイルです。内部エラーが発生した場合、メッセージは端末の画面に表示されるのみでなく、アラート・ファイルにも書き込まれます。Oracleは内部エラーに関する他の情報、たとえば、エラーなどによって生成されたトレース・ファイルの名前および位置などを、アラート・ファイルに書き込みます。
アラート・ファイルの名前は、オペレーティング・システムによって異なります。アラート・ファイルの位置は、バックグラウンド・プロセスのトレース・ファイルの位置と同じです。この位置は、BACKGROUND_DUMP_DEST
初期化パラメータで指定されます。詳細は、ご使用のオペレーティング・システム固有のOracleマニュアルを参照してください。
オペレータのコンソールを使用している場合、Oracleからのメッセージがコンソールに表示されることがあります。重要なメッセージは、オペレータのコンソールのみでなくアラート・ファイルにも書き込まれます。Oracle以外のメッセージもコンソールに表示される場合があるため、Oracleの管理作業やエラーをトレースするには、コンソール・ログよりアラート・ファイルの方が適しています。
アラート・ファイルには、バックアップやオンラインREDOログ・ファイルのアーカイブのような管理作業の情報も記録されます。
参照: アラート・ファイルの詳細は、『Oracle Database管理者ガイド』を参照してください。 |