検索
連載

障害発生! 問題切り分けはスピード勝負Oracleパフォーマンス障害の克服(1)(2/3 ページ)

Oracleデータベースの運用管理者は、突発的に直面するパフォーマンス障害にどうやって対処したらよいか。本連載は、非常に複雑なOracleのアーキテクチャに頭を悩ます管理者に向け、短時間で問題を切り分け、対処法を見つけるノウハウを紹介する。対象とするバージョンはOracle8から9iまでを基本とし、10gの情報は随時加えていく。(編集局)

Share
Tweet
LINE
Hatena

ログ確認は問題切り分けの第一歩

 「ハードディスクを認識しない」「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;
SHOWコマンドによる初期化パラメータ確認方法
図1 SHOWコマンドによる初期化パラメータ確認結果(クリックで拡大します)
図1 SHOWコマンドによる初期化パラメータ確認結果(クリックで拡大します)
SQL> SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME = 'background_dump_dest';
動的パフォーマンスビューによる確認方法

≪図2 動的パフォーマンスビューによる確認結果
図2 動的パフォーマンスビューによる確認結果(クリックで拡大します)

※3 ユーザートレースの出力制御方法

システム全体のトレース出力

 ユーザートレースは下記パラメータをTRUEにすることで出力開始、FALSEにすることで停止となります。

SQL_TRACE = TRUE
初期化パラメータファイル内でパラメータ変更(システム全体のトレース出力)

自セッションに対してトレース出力

 自セッションのみのユーザートレースを出力する場合は、以下のALTERコマンドを発行します。

SQL> ALTER SESSION SET SQL_TRACE = TRUE;
ALTERコマンドで自セッションのみトレースを出力

図3 ALTERコマンドの発行結果
図3 ALTERコマンドの発行結果(クリックで拡大します)

 次ページでは障害克服を行うための有効な手順として、6つのステップを紹介しましょう。(次ページに続く)

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る