Oracle Databaseでエラーが出たらまず何を見るか――トレースファイル/インシデントファイル:Oracleサポート出張所(4)
本連載は、「Oracle Database」で発生するトラブルをどう解決すればよいのか、データベースの運用管理において、より円滑に業務を進めるために必要なノウハウを紹介します。今回は「Oracle Databaseでエラーが出た場合に見るべきログファイル、トレースファイルとインシデントファイル」について、出力フォーマットと確認できる内容を解説します。
本連載「Oracleサポート出張所」は、「Oracle Database」で発生するトラブルを「どんな方法で」「どのように」解決していくか。長年、筆者がOracle Databaseのサポート業務で培ってきた経験を基に、Oracle Databaseの運用管理をする上で「より円滑に、かつ成長を見据えて業務を推進していく」ために必要なノウハウを紹介します。
前回は、トラブル解決の第一歩となる「アラートログで監視すべき5大キーワード」を解説しました。今回は、エラーが発生したときに出力されるログファイル「トレースファイルとインシデントファイルの内容」についてポイントを解説します。
Oracle Databaseでは、クリティカルなエラー(V$CRITICAL_ERRORで確認可能なORAエラーやORA-00600、ORA-00700)が発生した時、アラートログファイルエラーメッセージが出力されます。バックグラウンドプロセスでエラーが発生した時も同様です。
このため、アラートログファイルを監視すると、エラーを早期に検出できます。
さらに、アラートログファイルへの出力と同時に、トレースファイルとインシデントファイルに該当エラーの詳細が出力されるため、エラー原因の特定や影響範囲の絞り込みにも役立ちます(ファイルの出力先は、連載第1回をご参照ください)。
詳細がトレースファイルとインシデントファイルのどちらに出力されるかは、Oracle Databaseのバージョンやエラーによって異なりますが、出力内容はおおよそ同じです。
今回は、代表的なエラーである「ORA-00600エラー」がインシデントファイルに出力されたケースを基に、確認できる主な内容と出力例を紹介します。
なお、ORA-00600エラーの影響範囲についてご質問をいただくことがよくあります。主な影響としてはSQLの異常終了です。さらにバックグラウンドプロセスで発生した場合は、インスタンス停止まで影響が及ぶ場合もあります。
確認できる主な内容
インシデントファイルから確認できる主な内容は次の3点です。それぞれの出力例を挙げましょう。
(1)Oracle Databaseの情報
「ホスト名」「データベースインスタンス名」「製品バージョン」「ORACLE_HOMEのパス」を確認できます。
(2)エラーに関する情報
「エラーが発生したSQL」「プロセスID」「セッションID」「データベースユーザー名」を確認できます。
(3)クライアントの情報
「ホスト名」「プログラム名」「プロセスID」「プロセスのOSユーザー」を確認できます。
アラートログファイルでORA-00600エラーを検知した場合、インシデントファイルの出力内容から、エラーが発生したSQLや当該SQLを実行していたクライアントのホスト名、プログラム名を特定できます。これらの情報から、SQLが失敗したことによるアプリケーションへの影響を確認する必要があります。
より詳細な原因調査を行うには、同一SQLを実行した場合のエラーの再現性や、SQLが参照しているオブジェクト定義を取得してください。
今回は、「トレースファイル/インシデントファイルの内容」を紹介しました。次回は、リスナーログについて解説する予定です。
筆者紹介
坂輝彦(さかてるひこ)
株式会社アシスト サービス事業部 サポートセンター。Oracle Database 9iの時代からサポートを行うサポートエンジニア。サポートセンターのノウハウを伝える研修「OracleDatabaseトラブル調査テクニック」の監修、講師を担当。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Oracle運用の基本「ログ」を理解しよう
本連載では、Oracle Database運用の鍵となるトラブル対処法について紹介していきます。第1回、第2回では情報収集の要となるログについて見ていきます。ログの出力情報は10gと11gとでは大きく異なる点がありますので、それぞれについても確認しておきましょう。 - 【Oracle Database】2016年「ORAエラー」サポート問い合わせ数ランキング
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は「2016年のORAエラー問い合わせ数ランキング」を紹介します。 - 障害発生! 問題切り分けはスピード勝負
Oracleデータベースの運用管理者は、突発的に直面するパフォーマンス障害にどうやって対処したらよいか。本連載は、非常に複雑なOracleのアーキテクチャに頭を悩ます管理者に向け、短時間で問題を切り分け、対処法を見つけるノウハウを紹介する。対象とするバージョンはOracle8から9iまでを基本とし、10gの情報は随時加えていく。(編集局) - 「データベースの処理遅延」の課題解決に必要な3つのポイント
本連載は、「Microsoft SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「処理遅延の対処に必要な3つのポイント」を説明します。