|
カテゴリ:DB-Oracle
11gで新たに追加されたフラッシュバック・データアーカイブだが、先日11g GOLDの移行試験で痛い目にあったので、実際に試してみることにした。
手順は以下の通りとなる。 ・CREATE TABLESPACE fla1_ts DATAFILE '(パス)/FLA1_TS.DBF' SIZE xxxM ・CREATE FLASHBACK ARCHIVE fla1 TABLESPACE fla1_ts QUOTA xxxM RETENTION 1 YEAR ・CREATE TABLE TABLE1 (..............) FLASHBACK ARCHIVE これ自体はうまくいく。しかし、混乱はこの先で起こった。 実際に過去の履歴については、AS OF付のSELECT文で確認することになっている。 そこで、タイムスタンプを確認しつつ、レコードを追加し、履歴が照会できることは確認できたが、ALTER FLASHBACK ARCHIVE fla1 PURGE ALLを実行しても、過去の履歴は照会できる。 ・・・よく考えてみると、そもそもAS OF付のSELECT文は、10gから追加されているフラッシュバック問い合わせと同じである。そもそも検証用に入れているOracleだからそう簡単にはUNDO TABLESPACEは溢れない。結局通常のフラッシュバックも有効になっているから、このような確認方法ではほとんど意味がないということなのだろう。 だとすると、たとえば「フラッシュバックアーカイブで、RETENTIONを1YEARから1MONTHに変更したときに、1MONTHよりも古い履歴は照会できなくなるかどうか確認する」などというのは相当厄介だ。 マニュアルにはRETENTIONの意味として、「表のフラッシュバック・データ・アーカイブのデータの格納が保証されている日数」と書かれているので、RETENTIONを縮めてもいきなり照会不能になるわけではないだろうと思うのだが、さてどうやって確認すればいいだろうか。。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2008.10.13 06:04:08
コメント(0) | コメントを書く
[DB-Oracle] カテゴリの最新記事
|