搜尋此網誌

2014/12/25

刪除Oracle大量資料,又不影響使用者操作

筆記:

常常遇到這種要求清某段區間的資料,但是又不能影響到使用者線上操作。(雖然這種狀況通常是使用者造成)。

由於一開始table規劃不當,且沒有買partition的授權,又不可能停機來進行table轉為partition的動作,所以只能慢慢的刪資料。

再加上DB Server本身的硬體很普通,隨便刪個資料都會影響使用者的操作,故需在使用者的工作階段不是Active時,再進行刪除。


最後執行方式如下:

  • 先檢查是否在可執行刪除的時段 (batch、backup及使用者大量使用的時間先避開)
  • 每次刪除的資料區間不可太大,最好10~15秒內可跑完一段
  • 每次刪除前先檢查使用都是否在使用中,如果是的話,就等待