「ハードディスクを認識しない」「Oracleが起動しない」、あるいはORAエラーがログに残る事態など、Oracleデータベースサーバで発生する障害には、さまざまな状況が想定されます。問題切り分けの基本は、まずログを日常的に確認することです。ログを元に障害を確定できれば、ある程度の対策は見つかります。
Oracleが出力するALERTログを確認することが第一歩です。また、ユーザープロセスでどのような問題が起きているかという切り分けも、Oracleのトレース機能を使用すれば、ユーザーのSQL処理に対して実行計画やインデックス処理などOracleがどのような処理を行っているか分かるので、こちらも重要な情報となります。トレース機能については、次回以降の記事で扱うSQLの項目でさらに詳しく説明していきます。
Oracleには3種類のログがあります。以下にその内容についてまとめてみました。
ログの種類 | 出力先(初期化パラメータ ※1) | ログの内容 |
出力ファイル名 1. Windows系OS 2. UNIX系OS |
||
ALERTログ | BACKGROUND_DUMP_DEST ※2 | ・システムログメッセージとエラー情報 ・Oracleアーキテクチャ全プロセスから出力 ・常に出力される |
1. {SID}alert.log 2. alert_{SID}.log |
||
バックグラウンドトレース | BACKGROUND_DUMP_DEST ※2 | ・エラー情報 ・バックグラウンドプロセスより出力 ・常に出力される |
1. {SID}プロセス名.trc 2. {SID}_プロセス名_{PID}.trc |
||
ユーザートレース | USER_DUMP_DEST ※2 | ・ エラー情報とSQL文の統計情報 ・ サーバプロセス ・ 出力の制御による ※3 |
1. {SID}_ora_{PID}.trc 2. ORA{PID}.trc |
||
表1 Oracleの出力する3種類のログ |
Oracleを起動するために必要な情報が格納されているファイル内の設定パラメータ項目。テキスト形式の初期化パラメータファイル(PFILE)とOracle9iから導入されたOracleサーバがメンテナンスするバイナリ形式のサーバパラメータファイル(SPFILE)があります。ここでは初期化パラメータファイルの格納場所を以下に示します。
{ORACLE_BASE}\admin\{DB_NAME}\pfile\init.ora
初期化パラメータは上記の初期化パラメータファイルの内容をエディタなどで開いて確認ほか、SHOWコマンドやOracleサーバの動的パフォーマンスビューで確認できます。以下に2つの確認方法を示します。
SQL> SHOW PARAMETER background_dump_dest;
SQL> SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME = 'background_dump_dest';
システム全体のトレース出力
ユーザートレースは下記パラメータをTRUEにすることで出力開始、FALSEにすることで停止となります。
SQL_TRACE = TRUE
自セッションに対してトレース出力
自セッションのみのユーザートレースを出力する場合は、以下のALTERコマンドを発行します。
SQL> ALTER SESSION SET SQL_TRACE = TRUE;
次ページでは障害克服を行うための有効な手順として、6つのステップを紹介しましょう。(次ページに続く)
Copyright © ITmedia, Inc. All Rights Reserved.