Oracleデータベース記憶構造の管理:間違いやすいポイントを追え! Bronze DBA講座(7)(2/2 ページ)
Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronze。その取得を目指すITエンジニアのための講座が本連載だ。間違いやすいポイントを確認し、合格に近づこう!
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の管理方法
次回は、ユーザーおよびセキュリティの管理について、間違いやすい点にポイントを絞って説明します。
Copyright © ITmedia, Inc. All Rights Reserved.