ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

DBAの右腕 (Oracleの本質)コミュのロールバックについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
基本的な質問なんですがご意見を聞かせて下さい。

システムのテストで、
テーブルに、とあるレコードを見に行って、
見つからなかった時の挙動が正しいかどうかを
調べるテストケースを作りたいのですが、

困っているのは、
テスト開始前に対象レコードを削除してコミット
テスト終了後に対象レコードを復活させたい。

しかし、コミットされているのでロールバックでの復元(セーブポイント)も含めて無理だと思うのですが、
こういう場合に簡単でいい方法はございませんか?

方法としては、
プロシージャー、ファンクションの利用も
Oracle独自の方法も可能です。
ただしコンソールでコマンドが実行可能なものだけにしたいです。(管理ツール使えば簡単だけどみたいなのは微妙です)

ご意見下さい。

コメント(3)

10gでフラッシュバックデータベースってのは反則ですか?
9i?
一番手っ取り早いのはCREATE table SELECTでテーブルを別名コピーしておいて、テスト終了後 insert as selectで戻す。

どげんでしょ?
早い返事ありがとうございます。
フラッシュバックテーブルというは、使ったことがないのですが、
少し調べてみたのですがOracle10gのDBA1の試験に出る内容と
いうことなのでデータベース側の保守用?なのかなと思いました。

あまり多用できるものではない感じがします。

テーブルのコピーをして元に戻すは今回の方法としては、
目的を達成できるので助かります。
>いうことなのでデータベース側の保守用?なのかなと思いました。

>あまり多用できるものではない感じがします。

当たらずとも遠からずなんですが、ツボに嵌ると使いかってがいいですよ。「フラッシュバック〜」
ワタシは本番で障害回復に使用するより、このようなテスト環境にこそ用いて、バグゼロモジュールリリースの為に使用したいですね。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

DBAの右腕 (Oracleの本質) 更新情報

DBAの右腕 (Oracleの本質)のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング