Oracleデータベース記憶構造の管理間違いやすいポイントを追え! Bronze DBA講座(7)(2/2 ページ)

» 2008年09月30日 00時00分 公開
前のページへ 1|2       

UNDO管理

例題3

UNDO表領域およびUNDOデータに関する説明として、正しいものをすべて選択してください。

a.UNDO表領域は複数作成することができる

b.UNDOデータは、トランザクション変更前後のデータである

c.UNDO表領域は、多重化することが推奨される

d.UNDO保存期間を指定する初期化パラメータUNDO_RETENTIONは、分単位で指定する

e.UNDOデータを使用し、フラッシュバック機能が実現できる

f.UNDO保存期間で設定した期間内のUNDOデータは必ず保証される

例題の範囲をおさらい

 UNDO表領域は、UNDOデータを管理するための領域です。UNDOデータは、トランザクションによって変更されたコミットされていない値を、明示的もしくは暗黙的なロールバックにより変更前の値に戻すために使用します。

 読み取り一貫性を保証しているため、あるユーザーがデータの変更を行っている最中に別のユーザーが問い合わせを行った場合は、UNDOデータから確定されているデータを戻します。

 UNDOデータを利用して、フラッシュバック問い合わせやフラッシュバックテーブルなどのフラッシュバック機能を使用し、以前のある時点のデータを表示したり、リカバリしたりすることも可能です。

 UNDO表領域のUNDOデータは循環利用され、期限切れのUNDOデータ(コミット済みのもの)から上書きされますが、UNDO保存期間(UNDO_RETENTION)で設定した期間内のUNDOデータは保証されます。

 ただし、UNDO表領域のサイズが不十分な場合、UNDO保存期間内のUNDOデータも上書きされてしまう可能性があります。長時間UNDOデータを保存する必要がある場合は、大きなUNDO表領域を用意するか、UNDO表領域を自動拡張にしておくかする必要があります。

 長時間実行される問い合わせでは、古いUNDOデータが必要になることがあります。このため、UNDO保存期間は長めに設定することが推奨されます。

 Oracle Enterprise Managerでは、「UNDO管理」ページの「UNDOアドバイザ」にて、最適なUNDO保存期間やUNDO表領域のサイズなどの分析が可能です。

正解

a、e

解説

選択肢a:UNDO表領域は、複数作成することができます。ただしアクティブにできるUNDO表領域は1つのみです。

選択肢b:UNDOデータは、トランザクション変更前のデータです。変更後のデータは保存されません。

選択肢c:UNDO表領域を多重化することはできません。

選択肢d:Oracle Enterprise Managerの「UNDO管理」ページには分単位で表示されますが、初期化パラメータUNDO_RETENTIONでは秒単位で指定します。

選択肢e:UNDOデータにより、フラッシュバック機能が利用できます以前のある時点のデータを表示したり、リカバリしたりすることが可能です。

選択肢f:UNDO表領域のサイズが不十分な場合、UNDO保存期間で設定した期間内のUNDOデータを確保できず、上書きされてしまうことがあります。

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

まとめ

 次の内容をチェックしましょう。

  • データファイルと表領域の性質
  • 表領域の管理方法
  • UNDOの管理方法

 次回は、ユーザーおよびセキュリティの管理について、間違いやすい点にポイントを絞って説明します。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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