oracle修改分区条件,请问能不能更改已经建好的范围分区表的分区规则呢?

请问能不能更改已经建好的范围分区表的分区规则呢?

比如:把原来的partition by range (AREA_CD, MSG_CRTE_DTS)改为partition by range (MSG_CRTE_DTS, AREA_CD),具体见下:

(AREA_CD, 城市代码,MSG_CRTE_DTS,日期。

要实现按城市和日期分区,以前只有一个城市,BJS,而且开发人员把地区代码放日期前面了,现在加了上海和深圳,结果加了字母靠后的城市后,字母靠前的城市,比如北京,分区就建不出来了,报ORA-14074: 分区界限必须调整为高于最后一个分区界限,所以我打算把日期放前面,城市代码放后面)

create table TTCGTR010_LXP

(

SEQ              NUMBER not null,

AREA_CD          VARCHAR2(10) not null,

MSG_CRTE_DTS     CHAR(14) not null,

COM_CD           VARCHAR2(4) not null,

COM_DEF_CD       VARCHAR2(2) not null,

DEVICE_ID        VARCHAR2(20) not null,

VEHI_TYPE_CD     VARCHAR2(10) not null,

GPS_X            NUMBER(8) default 0 not null,

GPS_Y            NUMBER(8) default 0 not null,

GPS_DTS          CHAR(14) not null,

GPS_SPD          NUMBER(5,2) default 0,

GPS_ANGL         NUMBER(3) default 0,

SATL_CNT         NUMBER(2) default 0,

VEHI_EVT_CD      VARCHAR2(10) not null,

VEHI_EVT_DETL_CD VARCHAR2(10) not null,

TRS_METH_CD      VARCHAR2(10) not null,

MAP_X            NUMBER(8) default 0 not null,

MAP_Y            NUMBER(8) default 0 not null

)

partition by range (AREA_CD, MSG_CRTE_DTS)

(

partition PTCGTR0100_BJS20081230 values less than ('BJS', '20081230999999')

)

alter table TTCGTR010_lxp add partition PTCGTR0100_BJS20090310 values less than ('BJS','20090310999999') ;

alter table TTCGTR010_lxp add partition PTCGTR0100_SHA20090310 values less than ('SHA','20090310999999') ;

alter table TTCGTR010_lxp add partition PTCGTR0100_SZX20090310 values less than ('SZX','20090310999999') ;

alter table TTCGTR010_lxp add partition PTCGTR0100_SZX20090410 values less than ('SZX','20090410999999') ;

--以上这些都成功了。

alter table TTCGTR010_lxp add partition PTCGTR0100_BJS20090510 values less than ('BJS','20090510999999') ;

ORA-14074: 分区界限必须调整为高于最后一个分区界限

这个没有成功。所以我打算把日期放前面,城市代码放后面,原来的数据还要保留:

类似这样:

ALTER TABLE  TTCGTR010_LXP partition by range (MSG_CRTE_DTS,AREA_CD);

ORA-01735: 无效的 ALTER TABLE 选项

这个语法错了,但我不知道这个想法行不行?

请各位指教,谢谢!

[本帖最后由 lixunpeng 于 2009-7-7 00:20 编辑]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值