The Dragon Scroll

Be just and fear not.

10gがもたらす福音(6)〜自動UNDO管理と表領域新機能(2)。

自動UNDO管理

8のロールバックセグメントの時代から随分進化してきた、UNDOに関する
新機能です。


UNDOセグメントが上書き可能になるのは、トランザクションが終了した
後、さらに、UNDO保存期間を経過した後である。
(ちなみにUNDO保存期間は、UNDO_RETENTIONで指定される)
10gでは、自動UNDO保存チューニングが行われるようになっている。


これは、問い合わせの継続時間情報を、30秒に1度収集することで、
最長の問い合わせの秒数に自動的に調整する機能である。
UNDO_RETENTIONで指定した秒数は、最低秒数として扱われる。
これは、読み取り一貫性のエラーをさらに発生しにくくする
仕組みである。


自動UNDO保存チューニングの秒数は、V$UNDOSTATにて確認できる。


UNDO_RETENTIONで指定した保存期間中も、領域が不足すれば
「上書きされる」可能性がある。
10gでは、これを「上書きさせない」指定ができるようになった。
これを、UNDO保存の保証と呼ぶ。


CREATE UNDO TABLESPACE 表領域名 … RETENTION GUARANTEE
または
ALTER TABLESPACE 表領域名 RETENTION GUARANTEE


GUARANTEE指定となっているかどうかは、DBA_TABLESPACESのRETENTION
列にて確認ができる。


UNDOアドバイザでは、指定したUNDO保存期間に対し、必要なUNDO
表領域のサイズを分析してくれる。

一時表領域グループ

一時表領域グループを使用することで、一時表領域の使用を
同ユーザ別セッションで分散することができる。


CREATE TEMPORARY TABLESPACE 表領域名 TEMPFILE句
TABLESPACE GROUP 一時表領域グループ名