12

アプリケーションのパフォーマンスを向上させ、ディスク容量を節約するために、不要になったデータをアーカイブする最善の方法を見つけたいと考えています。あなたの経験では、これを実装する最良の方法は何ですか?どのようなツールを使用できますか? そのためには、特定の社内アプリケーションを開発する方がよいでしょうか?

4

3 に答える 3

5

アーカイブを管理する 1 つの方法:

  1. 月ごとのパーティションなど、日付範囲でテーブルを分割します
  2. パーティションが不要になると (たとえば 36 か月後)、これらのパーティションをデータ ウェアハウスに移動できるようになりました。データ ウェアハウスは、アクセスのニーズに応じて、テキスト ファイルだけの別のデータベースになる可能性があります。
  3. 移動後、古くなったパーティションをプライマリ データベースから削除できるため、常に (たとえば) 36 か月分の最新データを維持できます。
  4. これはすべて、SQL/シェル スクリプトを組み合わせて使用​​することで自動化できます。
于 2016-01-25T02:32:29.160 に答える
2

古いデータを ORACLE データベースにアーカイブする最良の方法は次のとおりです。

  1. 日付またはサイズに基づいて、アーカイブおよび保持ポリシーを定義します。
  2. 定義されたポリシーに基づいて、アーカイブ可能なデータを外部テーブル (テーブルスペース) にエクスポートします。
  3. 外部表を圧縮して、安価な記憶媒体に格納します。
  4. SQL DELETE を使用して、アクティブなデータベースからアーカイブ データを削除します。
  5. 次に、スペースをクリーンアップするために、以下のコマンドを実行します。テーブル T_XYZ 縮小スペースを変更します。
  6. それでも一部のディスク領域を解放して OS に戻したい場合 (Oracle が以前に使用していた合計領域を予約しているため)、データファイル自体のサイズを変更する必要がある場合があります。 SQL> alter database datafile '/home/ oracle/database/../XYZ.dbf' resize 1m;

詳細については、 http ://stage10.oaug.org/file/sroaug080229081203621527.pdf を参照してください。

于 2014-04-17T16:57:09.563 に答える
-2

ほとんどすべてのデータベースにエクスポートできるように、データをコンマ区切りファイルにエクスポートします。そのため、Oracle のバージョンを変更したり、数年後に別のバージョンに移動したりしても、あまり心配することなく復元できます。

これを行うには、SQL*Plus のスプール ファイル機能を使用します

于 2009-11-11T21:17:13.577 に答える