1

多くの情報を含むログテーブルがあります。2 つに分割したいと思います。最初の部分は、よく見られる過去 1 か月のログです。2 番目の部分は、今年の残りのログ (圧縮) です。

私の問題は、「2013 年 1 月 1 日まで」、「2013 年 1 月 1 日よりも最近」というパーティションの例がすべてあることです。つまり、日付が固定されています...

私が探している/期待しているのは、先月にパーティションを定義する方法です。これにより、日が変わると、30 日前のログが「自動的に」圧縮されたパーティションに転送されます。

完全に圧縮された別のテーブルを作成し、JOBSを使用して情報を移動できると思いますが、組み込みのソリューションを望んでいました。

ありがとうございました。

4

2 に答える 2

0

圧縮されたパーティションにデータを自動的に転送することはできません。ただし、次のステートメントを使用して、毎月初めに先月のパーティションを圧縮する単純なジョブをスケジュールすることができます。

ALTER TABLE some_table
MOVE PARTITION FOR (add_months(trunc(SYSDATE), -1)
COMPRESS;

現在の月と過去のすべてのトランザクションのアーカイブの 2 つのパーティションのみを使用したい場合は、ALTER TABLE MERGE PARTITIONS を使用してパーティションをマージすることもできますが、私が懸念している限りでは、アーカイブ パーティション全体が再構築されるため、これを行うことはお勧めしません。そのため、毎月別のパーティションに保存してください。

于 2013-10-19T21:36:37.900 に答える