障害発生! 問題切り分けはスピード勝負:Oracleパフォーマンス障害の克服(1)(2/3 ページ)
Oracleデータベースの運用管理者は、突発的に直面するパフォーマンス障害にどうやって対処したらよいか。本連載は、非常に複雑なOracleのアーキテクチャに頭を悩ます管理者に向け、短時間で問題を切り分け、対処法を見つけるノウハウを紹介する。対象とするバージョンはOracle8から9iまでを基本とし、10gの情報は随時加えていく。(編集局)
ログ確認は問題切り分けの第一歩
「ハードディスクを認識しない」「Oracleが起動しない」、あるいはORAエラーがログに残る事態など、Oracleデータベースサーバで発生する障害には、さまざまな状況が想定されます。問題切り分けの基本は、まずログを日常的に確認することです。ログを元に障害を確定できれば、ある程度の対策は見つかります。
Oracleが出力するALERTログを確認することが第一歩です。また、ユーザープロセスでどのような問題が起きているかという切り分けも、Oracleのトレース機能を使用すれば、ユーザーのSQL処理に対して実行計画やインデックス処理などOracleがどのような処理を行っているか分かるので、こちらも重要な情報となります。トレース機能については、次回以降の記事で扱うSQLの項目でさらに詳しく説明していきます。
3種類のログについて
Oracleには3種類のログがあります。以下にその内容についてまとめてみました。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
※1 初期化パラメータファイル
Oracleを起動するために必要な情報が格納されているファイル内の設定パラメータ項目。テキスト形式の初期化パラメータファイル(PFILE)とOracle9iから導入されたOracleサーバがメンテナンスするバイナリ形式のサーバパラメータファイル(SPFILE)があります。ここでは初期化パラメータファイルの格納場所を以下に示します。
{ORACLE_BASE}\admin\{DB_NAME}\pfile\init.ora
(デフォルト設定の場合、 {ORACLE_BASE}、{DB_NAME}は環境変数の設定に依存します)
※2 初期化パラメータ確認方法
初期化パラメータは上記の初期化パラメータファイルの内容をエディタなどで開いて確認ほか、SHOWコマンドやOracleサーバの動的パフォーマンスビューで確認できます。以下に2つの確認方法を示します。
SQL> SHOW PARAMETER background_dump_dest;
SQL> SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME = 'background_dump_dest';
※3 ユーザートレースの出力制御方法
システム全体のトレース出力
ユーザートレースは下記パラメータをTRUEにすることで出力開始、FALSEにすることで停止となります。
SQL_TRACE = TRUE
自セッションに対してトレース出力
自セッションのみのユーザートレースを出力する場合は、以下のALTERコマンドを発行します。
SQL> ALTER SESSION SET SQL_TRACE = TRUE;
次ページでは障害克服を行うための有効な手順として、6つのステップを紹介しましょう。(次ページに続く)
Copyright © ITmedia, Inc. All Rights Reserved.