• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データ削除、追加によるロールバックセグメントについて)

データ削除、追加によるロールバックセグメントについて

このQ&Aのポイント
  • テスト環境で行われたテーブルの200万件の削除と100万件の追加により、VBアプリが遅くなりました。この遅さの原因として、ロールバックセグメント(UNDOセグメント)や一時的にデータが蓄積された可能性が考えられます。
  • 削除や追加が行われた場合、データはどのオブジェクトに蓄積されるのか疑問です。また、データの削除や追加が原因でアプリが遅くなるのかも不明です。
  • 対応として、DBサーバのOSの再起動を行いましたが、まだ遅さが改善されませんでした。しかし、DBの再起動を行ったら遅さが改善されました。原因についての基礎知識が不足しており、アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.3

#1 です 遅延ブロッククリーンアウトについて、わかりやすい説明と解消方法があります。 http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-489965&bbsid=1&no=28716&view=9 実際にはUNDOがいっぱいになるわけではなく、 データブロックのITLという部分とUNDOセグメントヘッダという管理領域で 実際のデータブロックへのコミット作業を先送りさせています。これでコミット時の応答が速くなります。 おら! オラ! Oracle - どっぷり検証生活 UNDOやREDOについてもあります。一通り目を通しておくとOracleの理解度が高まります。 http://www.insight-tec.com/mailmagazine/ora3/mail_back_index.html

参考URL:
http://www.insight-tec.com/mailmagazine/ora3/mail_back_index.html
toshi_200578
質問者

お礼

回答ありがとうございます。 非常にわかりやすい説明とリンクでした。 あとは自分の理解度の問題のようです。 ありがとうございました。

その他の回答 (2)

回答No.2

VBアプリがどこで動いているのかが分からないのですがDBサーバ上で動いているのであれば 「OSの再起動を行ったのですがまだ遅く、再起動後にDBの再起動を行ったらなぜか遅かったのが改善されました。 」ということは外的要因しか考えられません(他の誰かがたまたま重たい処理を流していた) 当然DBサーバのOSの再起動はDBの再起動が含まれますので...

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.1

再起動によって改善されたのではなく、 色々操作している間に遅延ブロッククリーンアウトが発生して UNDOセグメントヘッダのコミットフラグがデータセグメントに反映されたためでしょうね。

toshi_200578
質問者

補足

回答ありがとうございます。 すいません。せっかく回答頂いたのですが、よく理解できてません。UNDOセグメントがいっぱいになっているのを確認する方法などはありますでしょうか? また、上記データセグメントに反映されたというのは何か確認方法があるのでしょうか? 経験が浅いもので理解できずに申し訳ありません。 よろしくお願いいたします。

関連するQ&A