[Oracle] インターバルパーティションなテーブルの作成

2011年8月16日

 インターバルパーティションなテーブルを作成してみたので、その時のメモ。

-- インターバルパーティションなテーブルを作成
create table INTERVAL_TEST(
  DTM timestamp primary key,
  MSG varchar2(50)
)
partition by range(DTM)
interval(
  NumToDSInterval(1,'MINUTE')
)
(partition values
  less than(
    to_date('2011/01/01','YYYY/MM/DD') -- このパーティションは削除(Drop)できない
  )
);

-- パーティションあたり格納行数の収集
begin
  dbms_stats.gather_table_stats(
  ownname => 'SCOTT',
  tabname => 'INTERVAL_TEST',
  method_opt => 'FOR ALL COLUMNS SIZE 1',
  cascade => true);
end;
/

-- パーティションの確認/および格納行数の確認
select TABLE_NAME,PARTITION_NAME,TABLESPACE_NAME,HIGH_VALUE,NUM_ROWS
from USER_TAB_PARTITIONS;

-- パーティション名の変更
alter table INTERVAL_TEST rename partition SYS_P41 TO DATE_2011_01_01_00_00;

-- パーティションの移動
alter table INTERVAL_TEST move partition DATE_2011_01_01_00_00 tablespace TEST;

-- パーティションの削除
alter table INTERVAL_TEST drop partition SYS_P42;





カテゴリー: Oracle, データベース

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org