連載
» 2008年08月29日 00時00分 公開

Oracleデータベースを構成するファイル間違いやすいポイントを追え! Bronze DBA講座(6)(1/2 ページ)

Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronze。その取得を目指すITエンジニアのための講座が本連載だ。間違いやすいポイントを確認し、合格に近づこう!

[ゴールデンフォレスト株式会社,@IT]

 前々回「Oracleインスタンスを構成するプロセス」、前回「Oracleインスタンスとデータベースの起動」で、Oracleインスタンスの管理について間違いやすい部分を学習しました。

 今回からの2回では、データベース記憶構造の管理について紹介します。今回は以下の項目を確認します。

  • 制御ファイルの情報
  • REDOログファイル
  • REDOログファイルの多重化

制御ファイル

例題1

制御ファイルに含まれる情報として誤っているものを1つ選択してください。

a.チェックポイント情報

b.表領域情報

c.データベース名

d.現行のログ順序番号

e.データファイルとREDOログファイルの名前と場所

f.ユーザーパスワード

g.バックアップ情報

例題の範囲をおさらい

参考:「Oracleのデータベース記憶域を探る

 制御ファイルとはOracleデータベースを構成するファイルの1つであり、マウント時に読み込まれます。マウント後、制御ファイル内のデータベースファイル名やREDOログファイル名などをチェックし、ファイルをオープンすることで、データベースはオープンします。

 制御ファイルの名前や場所は、CONTROL_FILES初期化パラメータで指定されます。

 制御ファイルには以下の情報が含まれます。

  • データベース名と識別子
  • データベースを作成したときのタイムスタンプ
  • データファイルとREDOログファイルの名前と場所
  • 表領域情報
  • ログ履歴
  • アーカイブログ情報
  • バックアップ情報(Recovery Managerによる情報)
  • 現行のログ順序番号
  • チェックポイント情報

など。

 データベースがオープンした後も、制御ファイル内で管理している情報が変更されれば、制御ファイル内の情報も更新されます。

 最低1つの制御ファイルがあればOracleサーバは運用できます。しかし損失、破損などの障害に備え、制御ファイルを多重化することが推奨されています。

正解

解説

選択肢a:チェックポイントが発生すると、DBWnにシグナルを送ります。これにより、DBWnがデータファイルに変更済みブロックを書き込み、データファイルと制御ファイルのヘッダにある情報を更新することで整合性を保ちます。

選択肢b:表領域が追加、削除されると、制御ファイルが更新されます。

選択肢c:データベース名はDB_NAME初期化パラメータに指定した名前、またはCREATE DATABASE文で指定した名前が使用されます。

選択肢d:ログスイッチが発生すると、現行のログ順序番号が変更されるため、制御ファイル内の現行のログ順序番号も更新されます。

選択肢e:制御ファイルは、データファイルとREDOログファイルの名前と場所を情報として持ちます。マウント後、データベースファイル名やREDOログファイル名のチェックを行い、それぞれのファイルをオープンすることでデータベースがオープンします。

選択肢f:ユーザーパスワードは制御ファイルではなく、データディクショナリで管理されます。

選択肢g:制御ファイルでは、Recovery Managerにより記録されるバックアップの情報が管理されます。

 よって、誤っているものはfです。

REDOログファイル

例題2

REDOログファイルの説明として、正しいものを1つ選択してください。

a.REDOログファイルへの書き込みがいっぱいになるとREDOログファイルは自動的に拡張する

b.データの変更が行われると、変更情報は直接REDOログファイルへ書き込まれる

c.データの変更情報は、常にすべてのREDOロググループに書き込まれる

d.1つのREDOロググループは、REDOログファイルとその多重化されたコピーで構成される

e.REDOログメンバーは、必ず同じディスクに配置しておく必要がある

例題の範囲をおさらい

参考:「Oracleのデータベース記憶域を探る

 REDOログファイルは、Oracleデータベースを構成するファイルの1つであり、データに対して行われたすべての変更情報が記録されるファイルです。

 REDOログファイルは、システム障害が発生した際、リカバリを行うために使用されます。変更情報はREDOログバッファへ書き込まれ、LGWRプロセスによりREDOログファイルへ書き込まれます。

 REDOログファイルは、複数(最低2つ)のグループで構成されます。1つのグループのREDOログファイルが満杯になるとログスイッチが発生して次のグループへ切り替わり、そのグループのREDOログファイルへ書き込むというように、各グループを循環して書き込みを行います。

 1つのREDOロググループは、最低1つのREDOログファイルで運用できますが、障害に備えて多重化することが推奨されています。多重化したREDOログファイルを、REDOログメンバーと呼びます。グループ内のREDOログメンバーには、すべて同じ変更情報が書き込まれます。

正解

d

解説

選択肢a:REDOログファイルへの書き込みがいっぱいになるとログスイッチが発生し、次のREDOロググループへ切り替わり、書き込みを続けます。REDOログファイルが自動的に拡張することはありません。

選択肢b:データの変更が行われると、変更情報はまずREDOログバッファに書き込まれます。COMMITが発行される、REDOログバッファの1/3がいっぱいになる、もしくは3秒経過すると、LGWRプロセスによりREDOログファイルに書き込みが行われます。

選択肢c:変更情報は、1度に複数のREDOロググループに書き込まれるわけではありません。1つのREDOロググループ内の各REDOログメンバーに対しては、同じ情報が書き込まれます。

選択肢d:1つのREDOロググループは、REDOログファイルとその多重化されたコピーで構成されます。これらのファイルをREDOログメンバーと呼びます。

選択肢e:同じグループ内のREDOログメンバーは、異なるディスクに配置することが推奨されます。ディスク障害が発生した場合でも、ほかのディスク上に配置してあるREDOログメンバーが損失していなければ、データベースを停止せず運用を続けることができるためです。

 よって、正しいものはdです。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。