Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6660851
  • 博文数量: 1005
  • 博客积分: 8199
  • 博客等级: 中将
  • 技术积分: 13071
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 20:19
个人简介

脚踏实地、勇往直前!

文章分类

全部博文(1005)

文章存档

2020年(2)

2019年(93)

2018年(208)

2017年(81)

2016年(49)

2015年(50)

2014年(170)

2013年(52)

2012年(177)

2011年(93)

2010年(30)

分类: Oracle

2011-05-17 11:03:14

-- 创建Range+List分区表


  1. create table TB_HXL_USER

  2. (
  3.   STATEDATE DATE not null,
  4.   PROVCODE NUMBER not null,
  5.   USERNUMBER VARCHAR2(13) not null,
  6.   REM1 VARCHAR2(1024),
  7.   CREATE_DATE DATE,
  8.   CREATE_BY NUMBER,
  9.   LAST_UPDATE_DATE DATE,
  10.   LAST_UPDATE_BY NUMBER
  11. )

  12. partition by range (statedate) subpartition by list(provcode)
  13. subpartition template (
  14.  subpartition p1 values (1) tablespace USERS,
  15.  subpartition p2 values (2) tablespace USERS,
  16.  subpartition p3 values (3) tablespace USERS,
  17.  subpartition p4 values (4) tablespace USERS,
  18.  subpartition p5 values (5) tablespace USERS
  19.  )
  20. (
  21.   partition HXL_USER_20110516 values less than (TO_DATE(' 2011-05-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  22.     tablespace USERS
  23.     pctfree 10
  24.     initrans 1
  25.     maxtrans 255
  26.     storage
  27.     (
  28.       initial 64K
  29.       next 1M
  30.       minextents 1
  31.       maxextents unlimited
  32.     )
  33. );
  34. -- global index

  35. create unique index idx_tb_hxl_user_u1 on tb_hxl_user(statedate,provcode,usernumber);


-- 1.增加分区

若在范围分区的表里创建了maxvalue分区,则不能新增表分区(报ora-14074错误), 但可以使用分区拆分.范围分区表新增分区后,不管是本地索引还是全局索引,都不会失效.

  1. Alter Table TB_HXL_USER Add Partition HXL_USER_20110517 values less than (TO_DATE(' 2011-05-18 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
-- 2.更新子分区模板
更新了子分区模板后,以后新建得分区会按照新的模板创建子分区,但现有的分区中的子分区保持不变
  1. Alter Table TB_HXL_USER Set Subpartition Template
  2. (
  3.  subpartition p1 values (1) tablespace USERS,
  4.  subpartition p2 values (2) tablespace USERS,
  5.  subpartition p3 values (3) tablespace USERS,
  6.  subpartition p4 values (4) tablespace USERS,
  7.  subpartition p5 values (5) tablespace USERS,
  8.  subpartition p_default values (default) tablespace Users
  9. )
--3.清空子分区模板
清空子分区模板后,以后新建分区的时候,系统默认会创建一个子分区。同样的,清空子分区只对新建的分区有效.
  1. alter table tb_hxl_user set subpartition template();
 
-- 4.查询某个分区
  1. select * from TB_HXL_USER partition(HXL_USER_20110516);
-- 5.查询某个子分区
  1. select * from TB_HXL_USER subpartition(p31);

 
阅读(1513) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~