この章では、エラー・メッセージに関する一般情報および補足的ヒントを紹介します。この章の内容は、次のとおりです。
この項では、エラー・メッセージが戻されたときに、参照するエラー・メッセージ関連マニュアルを判断する方法について説明します。
これらのメッセージは、Oracleプログラムの実行時にOracle Databaseによって生成されます。このマニュアルには、Oracle製品およびOracleのツール製品に共通するメッセージを記載します。
これらのメッセージは各オペレーティング・システムに固有のものです。各オペレーティング・システムには、一定範囲のメッセージ・コード番号が割り当てられています。たとえば、ORA-07500からORA-07999の範囲のメッセージはDEC VAX/VMS用のメッセージであり、これらのメッセージは該当するオペレーティング・システム固有のマニュアルにも記載されています。
メッセージの接頭辞を見れば、そのメッセージの情報がどこに記載されているかわかります。たとえば、このマニュアル中のメッセージには「ORA」の接頭辞が付いているものがあります。接頭辞がないメッセージがある場合、最初にご使用のリリースのOracle用のマニュアルを調べ、その後このマニュアルで調べます。
このマニュアルのメッセージで最も重要なのは、その精度です。バージョン・アップ時のメッセージの変更により、Oracleソフトウェアと一致しない場合があります。このマニュアルと異なるメッセージが出力された場合は、通常、次のリリースのソフトウェアに改訂版のメッセージ・テキストが収録されますので、お待ちください。
表示されるすべてのメッセージには、どのコンポーネントから出力されたかを示す接頭辞が付いています。たとえば、接頭辞ORAは、メッセージがOracle Databaseによって生成されたことを示します。このマニュアルに記載されているメッセージはこの接頭辞ごとに並んでいます。
なお、すべてのメッセージは、メッセージ・コード番号に従って示されています。メッセージを検索するときは、このメッセージ・コード番号を使用してください。
メッセージを容易に発見しエラーを解決するため、Oracleではある種のメッセージにオブジェクト名、数、文字列が埋め込まれています。これらの埋め込まれた変数はstring、numberまたはcharacterの部分に表示されます。次に例を示します。
ORA-00020: maximum number of processes (number) exceeded
このメッセージは、実際には次のように表示されます。
ORA-00020: maximum number of processes (50) exceeded
メッセージ・スタックが表示されることがよくあります。メッセージ・スタックは、Oracle Databaseの各レベルから出力される一連の関連メッセージです。
次のメッセージ・スタックは一般的な例です。
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 Databaseを実行しているオペレーティング・システムのリリース番号。
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管理者ガイド』を参照してください。 |