【TRY! ORACLE MASTER】Bronze DBA11g 編
(第9回 インスタンスと記憶域構造の管理)

みなさん、こんにちは。TRY! ORACLE MASTER シリーズ第9回です。今回は「インスタンスの管理」と「データベース記憶域構造の管理」から出題します。

問題(17)

データベース状態のうち、次の説明に当てはまるのはどれですか。1つ選択してください。
    - 制御ファイルが読み取られた状態。
    - 一般のユーザーはまだデータベースにアクセスできない。

  1. SHUTDOWN
  2. NOMOUNT
  3. MOUNT
  4. OPEN


 

正解は3. です。

今、データベースが停止しているとします。Oracle Enterprise Manager Database Controlで「起動」のボタンを押しました。すると、内部的には、データベース状態は次のように変化します。

  SHUTDOWN→NOMOUNT→MOUNT→OPEN

それぞれの状態での内部的な動きを以下にまとめます。

NOMOUNT:初期化パラメータの値を特定し、SGAが割り当てられ、バックグラウンド・プロセスが起動した状態

MOUNT:制御ファイルが読み取られた状態

OPEN:REDOログ・ファイルとデータ・ファイルが読み取られ、オープンされた状態。このOPEN状態になると、一般のユーザーがデータベースへアクセスできます。

 

では、ここでもう一つオマケの出題です。

制御ファイルが破損した状態で「起動」ボタンを押すとどうなると思いますか?

 

 

制御ファイルを読み込めないので、MOUNTしようとする段階でエラーとなり、データベースはNOMOUNT状態となります。OPENしていないので、一般のユーザーは接続できない状態です。

このように、それぞれの状態での内部的な動きを理解しておくと、万が一トラブルに遭遇した時に、的確な対処ができます。


 
次は、独学だと少しイメージしにくいUNDOからの出題です。
 

 

問題(18)

UNDOについての説明で誤っているものを1つ選択してください。

  1. UNDOはコミット済みの変更をロールバックするために使用される
  2. UNDOによってフラッシュバック問合せ機能が有効になる
  3. UNDOによって読取り一貫性が提供される
  4. UNDOレコードには、データ変更前と同じデータのコピーが入っている


回答と解説:

正解は、1. です。

UNDOとは、実行(DO)を取り消す(UN)、つまりロールバックのことです。

UNDOはロールバック操作が必要となったときに、変更前の状態に戻すために、変更前の値をコピーしておく領域です。ただ、1.の選択肢は間違い で、そもそもコミット済みの変更を「ロールバック」するという表現自体が間違っています。コミット済みの変更はロールバックできません。

また、UNDOの変更前のデータを保存しておく、という特徴から、このUNDOによって読取り一貫性が提供されます。また、フラッシュバック問合せやフラッシュバック表といった機能もUNDOのデータによって提供されます。

何やら難しく感じてしまったかも知れませんが、運用上は、UNDO表領域のサイズが足りているか、気を配っておけば大丈夫ですよ。



今回は如何でしたでしょうか?
さて、次回は「ユーザーの管理」と「スキーマ・オブジェクトの管理」です。お楽しみに!