2006-07-27 ロールバックセグメントのチューニング(あまり出ない) 1Z0-033 ロールバックセグメントのサイズ 1つのトランザクションでは1つのセグメントのみ使う エクステントは循環利用 delete > update(索引つき) > update > insert の順でロールバックセグメントを消費する truncateはロールバックセグメントを消費しない ロールバックセグメントの手動作成 (1)create rollback segment... (2)alter rollback segment online チューニング目標 ロールバック・セグメントへのアクセスを待機させない 十分な数のロールバック・セグメントを用意 ロールバック・セグメントをできる限り拡張させない 適切なセグメントサイズ・数 適切なエクステントサイズ トランザクションで領域不足によるエラーを発生させない 適切なサイズ 十分な表領域 大きいトランザクションは分割することを検討 ロールバックセグメントの診断 V$TRANSACTION(トランザクションの間でのみ有効) V$ROLLSTAT 自動UNDO管理 UNDO表領域を作成する UNDO_MANAGEMENT=AUTO UNDO_RETENTION=保持期間(オプション) その他コマンド 大きいトランザクションなど、あらかじめ使用するロールバックセグメントを指定 SET TRANSACTION USE ROLLBACK SEGMENT rbs_segment_name; 読み取り専用トランザクション SET TRANSACTION READ ONLY;