Oracle按天建立表分区
2013年11月26日
没有评论
创建语句如下:
CREATE TABLE t_log( id NUMBER, log_name VARCHAR(100) log_date DATE ) partition BY range (log_date) INTERVAL (NUMTODSINTERVAL(1,'day')) ( partition p1234 VALUES less than (to_date('2013-11-11','yyyy-mm-dd')) ); |
查询表分区:
SELECT * FROM user_tab_partitions t WHERE t.TABLE_NAME = 'T_LOG' ORDER BY t.partition_name |
删除表分区:
ALTER TABLE T_LOGDROP PARTITION SYS_P122 |
如果要为一个现存的表创建表分区,先创建一个表结构与之一样的新表,再把数据插入到新表中,最后重命名表名即可。(需要注意表重命名的时候表会有短暂的不可用,并且在一个操作频繁的表中进行这种操作也需要注意数据的完整性。)