2008年7月19日土曜日

Oracle表領域の解放(方法一)

表領域の使用率がだんだん増え続いたら、どうすればいい?
言うまでもなく、古いデータをバックアップし、削除し、表領域を解放しよう!!
それでは、表領域解放の方法を紹介いたします。
1.手順
①削除対象データを確定
②削除対象データをエクスポート(EXPコマンドより)(バックアップ)
  ※エクスポートの漏れがないように、条件をよく考えた上で実施してください。
③対象データを削除(DELETEコマンドより)
  ※DELETEの条件をよく考えて、検討した上で実施してください。データの削除は誤ったら、大変なことが起こるよ!
④残りの全てのデータをエクスポート(EXPコマンドより)(後インポート)
⑤対象テーブルをTRUNCATE
⑥上記④のエクスポートされたデータを対象テーブルにインポート
これで、古いデータのバックアップと表領域の解放が完了

2.補足説明
・TRUNCATEで対象テーブルのデータを全て切り捨てるから、かつ、ROLLBAKより回復ができない。ですから、TRUNCATE前、データのバックアップが大事です。
・TRUNCATEの方法は、一度対象テーブルのデータを切り捨てることがありますから、業務に対して、一定期間の停止が必須です。
・TRUNCATE後のデータの再インポートは、元データの完全性の確保は、業務に対しても不可欠です。

0 件のコメント: