この章では、エラー・メッセージに関する一般情報と役立つヒントを説明します。 この章の構成は、次のとおりです。
この項では、エラー・メッセージが戻されたときに、参照するエラー・メッセージ関連マニュアルを判断する方法について説明します。
これらのメッセージは、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管理者ガイド」を参照してください。