文档章节

oracle将普通表变分区表

hello骡子
 hello骡子
发布于 2016/01/26 15:13
字数 469
阅读 20
收藏 0

数据是否同步仍未考证,但方法比较简单,可以用于参考:

思路:

1、创建中间表

 CREATE TABLE A_T_NEW ("ID" VARCHAR2(32 BYTE) NOT NULL ENABLE, 
 "DRIVERCODE" VARCHAR2(64 BYTE), 
 "DRIVERTIME" TIMESTAMP (6), 
 "LNG" VARCHAR2(32 BYTE), 
 "LAT" VARCHAR2(32 BYTE), 
 "IS_DELETED" VARCHAR2(20 BYTE) DEFAULT '0')
 PARTITION BY RANGE (DRIVERTIME)(
 PARTITION P1 VALUES LESS THAN (TO_TIMESTAMP('2016-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P2 VALUES LESS THAN (TO_TIMESTAMP('2016-04-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P3 VALUES LESS THAN (TO_TIMESTAMP('2016-07-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P4 VALUES LESS THAN (TO_TIMESTAMP('2016-10-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P5 VALUES LESS THAN (TO_TIMESTAMP('2017-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P6 VALUES LESS THAN (TO_TIMESTAMP('2017-04-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P7 VALUES LESS THAN (TO_TIMESTAMP('2017-07-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P8 VALUES LESS THAN (TO_TIMESTAMP('2017-10-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P9 VALUES LESS THAN (TO_TIMESTAMP('2018-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P10 VALUES LESS THAN (TO_TIMESTAMP('2018-04-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P11 VALUES LESS THAN (TO_TIMESTAMP('2018-07-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P12 VALUES LESS THAN (TO_TIMESTAMP('2018-10-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')),
 PARTITION P13 VALUES LESS THAN (MAXVALUE));
 commit;

2、验证原表是否可以在线迁移

--验证原表是否可以在线迁移
 exec dbms_redefinition.can_redef_table('tms','T_TMS_VEHICLE_DRIVER_REC');

3、在新开会话进行迁移,这里我没有新开会话,而是直接进行了迁移。

 exec dbms_redefinition.start_redef_table('tms','T_TMS_VEHICLE_DRIVER_REC','A_T_NEW'); 
 exec dbms_redefinition.sync_interim_table('tms','T_TMS_VEHICLE_DRIVER_REC','A_T_NEW');
 exec dbms_redefinition.finish_redef_table('tms','T_TMS_VEHICLE_DRIVER_REC','A_T_NEW');

提交,会发现原有的表'T_TMS_VEHICLE_DRIVER_REC' 已添加分区完毕。但这时,原有PK,注释等并没有加入到新表。

4、更改主键(删除表,删除原有pk,如果不用同名约束,可以直接alter table)

drop table A_T_NEW purge ;
alter table  T_TMS_VEHICLE_DRIVER_REC add constraint 
T_TMS_VEHICLE_DRIVER_REC_PK primary key (id);

5、加注释(请预先保留SQL)

COMMENT ON COLUMN "TMS"."T_TMS_BILL"."ID" IS 'ID';
 COMMENT ON COLUMN "TMS"."T_TMS_BILL"."BILL_CODE" IS '运单号'; 
 .....

 

© 著作权归作者所有

hello骡子
粉丝 1
博文 19
码字总数 7347
作品 0
昌平
程序员
私信 提问
十四、oracle 数据库管理--管理表空间和数据文件

一、概念 表空间是数据库的逻辑组成部分。 从物理上讲,数据库数据存放在数据文件中; 从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成。 二、数据库的逻辑结构 ...

openlife
2015/07/13
0
0
ORACLE体系结构--数据文件管理

数据文件管理 存储结构与数据文件 1、存储结构: database----tablespace----segment-----extent-----blocks | datafile tablespace:存储表数据索引数据的空间: >>>select tablespacename ,......

柳白子
2016/12/07
14
0
oracle 11g在线重定义 普通表变分区表

第一种方法 使用主键id进行重定义 --create user test identified by 1 account unlock; --grant resource --grant create any table, alter any table, drop any table, lock any table, s......

emperor_majesty
2015/04/01
0
0
segment,extent,block

1.segment 段的不同类型: 分区表 tablepartition 表 table 索引 index 簇 cluster 索引分区indexpartition 索引表 index-organized table 临时段 temporary segment 还原段 undosegment 大对......

长平狐
2013/09/17
250
0
oracle 体系结构及内存管理 15_存储结构

1、Oracle物理存储结构 控制文件:ctl 数据库名字,物理结构信息,字符集,SCN,检查点,状态信息,归档日志历史等,一般会有镜像 show parameter control; 数据文件:dbf 数据和临时文件百万...

PeakFang-BOK
2018/10/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

对话亲历者|鲁肃:我在支付宝“拧螺丝“的日子

摘要: 他是支付宝技术平台的奠基人之一,但是他总说“这还不是我心中最完美的架构”;他行事低调但却有着“此时此地,非我莫属”的豪气;他曾无数次充当救火大队长,但自评只是“没有掉队的...

阿里云云栖社区
9分钟前
0
0
设置 npm yarn 淘宝源

设置npm config set chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver设置yarn config set "chromedriver_cdnurl" "https://npm.taobao.org/mirrors/chromedriver"......

internetafei
18分钟前
0
0
Docker搭建Mysql集群、主从同步复制

1、创建数据挂载点: mkdir /opt/mysql-master/mysql、/opt/mysql-master/conf.d、/opt/mysql-slave/mysql、/opt/mysql-slave/conf.d 2、分别在master、slave节点文件目录conf.d下创建touch......

WALK_MAN
41分钟前
10
0
手把手教你做中间件开发(分布式缓存篇)-借助redis已有的网络相关.c和.h文件,半小时快速实现一个epoll异步网络框架,程序demo

本文档配合主要对如下demo进行配合说明: 借助redis已有的网络相关.c和.h文件,半小时快速实现一个epoll异步网络框架,程序demo 0. 手把手教你做中间件、高性能服务器、分布式存储技术交流群 ...

y123456yz
42分钟前
2
0
Spring-boot单元测试(私有方法测试)

Spring-boot的单元测试网上有了很多,当项目是可以使用spring-boot正常运行时,只要在测试类上添加如下配置就使用@Autowired的方式进行单元测试 @RunWith(SpringJUnit4ClassRunner.class)@...

琴兽
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部