Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3672445
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2021-12-31 17:02:35

采用分区的往往设置了一个max分区,想扩分区时会遇到ORA-14704,需要用split拆分方式实现新增。

普通,没有设置max分区的,直接加即可:

  1. create table TEST
  2. (
  3.   MSG_ID INTEGER,
  4.   INSERT_TIME DATE
  5. )
  6. partition by range (INSERT_TIME)
  7. (
  8.   partition P2019 values less than (TO_DATE(' 2019-12-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  9.     tablespace USERS
  10.     pctfree 10
  11.     initrans 1
  12.     maxtrans 255,
  13.   partition P2020 values less than (TO_DATE(' 2020-12-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  14.     tablespace USERS
  15.     pctfree 10
  16.     initrans 1
  17.     maxtrans 255
  18. );

  19. alter table test add partition P2022 values less than (TIMESTAMP '2022-12-31 00:00:00');

设置max的需要split

  1. --当前表结构,有maxvalue分区
  2. create table TEST2
  3. (
  4.   MSG_ID INTEGER,
  5.   INSERT_TIME DATE
  6. )
  7. partition by range (INSERT_TIME)
  8. (
  9.   partition P2019 values less than (TO_DATE(' 2019-12-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  10.     tablespace USERS
  11.     pctfree 10
  12.     initrans 1
  13.     maxtrans 255,
  14.   partition pmax values less than (maxvalue)
  15.     tablespace USERS
  16.     pctfree 10
  17.     initrans 1
  18.     maxtrans 255
  19. );

  20. --添加新分区(把最大的拆分)
  21. alter table test2 split partition pmax at (to_date('2020-12-31','yyyy-mm-dd')) into (partition p2020 ,partition pmax);

  22. --查看修改后的效果
  23. create table TEST2
  24. (
  25.   MSG_ID INTEGER,
  26.   INSERT_TIME DATE
  27. )
  28. partition by range (INSERT_TIME)
  29. (
  30.   partition P2019 values less than (TO_DATE(' 2019-12-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  31.     tablespace USERS
  32.     pctfree 10
  33.     initrans 1
  34.     maxtrans 255,
  35.   partition P2020 values less than (TO_DATE(' 2020-12-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  36.     tablespace USERS
  37.     pctfree 10
  38.     initrans 1
  39.     maxtrans 255,
  40.   partition PMAX values less than (MAXVALUE)
  41.     tablespace USERS
  42.     pctfree 10
  43.     initrans 1
  44.     maxtrans 255
  45. );

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