Oracle 在线重定义表分区
==================原始表================原始表=====================原始表
create table BUILDING_temp
(
building_id NUMBER(19) not null,
buildingform VARCHAR2(10),
city_code VARCHAR2(4)
)
alter table BUILDING add constraint PK_BUILDING primary key (BUILDING_ID)
==============过渡表===========================过渡表===========
create table BUILDING_temp
(
building_id NUMBER(19) not null,
buildingform VARCHAR2(10),
city_code VARCHAR2(4)
)partition by list(city_code)(
partition P11 values('1101'),
partition P12 values ('1201'),
partition P13 values ('1304','1309','1303','1302','1301','1308','1307','1311','1310','1306','1305'),
partition P14 values ('1405','1403','1402','1401','1404','1411','1410','1409','1408','1407','1406'),
partition P15 values ('1525','1522','1509','1529','1508','1507','1506','1505','1504','1503','1502','1501'),
partition P21 values ('2101','2114','2113','2112','2111','2110','2109','2108','2107','2106','2105','2104','2103','2102'),
partition P22 values ('2201','2224','2208','2207','2206','2205','2204','2203','2202'),
partition P23 values ('2304','2302','2301','2303','2327','2312','2311','2310','2309','2308','2307','2306','2305'),
partition P31 values ('3101'),
partition P32 values ('3206','3205','3204','3203','3202','3201','3213','3212','3211','3210','3209','3208','3207'),
partition P33 values ('3311','3310','3309','3308','3307','3306','3305','3304','3303','3302','3301'),
partition P34 values ('3413','3412','3411','3410','3408','3407','3406','3405','3404','3403','3402','3401','3418','3417','3416','3415'),
partition P35 values ('3501','3509','3508','3507','3506','3505','3504','3503','3502'),
partition P36 values ('3601','3611','3610','3609','3608','3607','3606','3605','3604','3603','3602'),
partition P37 values ('3709','3704','3703','3701','3717','3716','3702','3708','3707','3706','3705','3715','3714','3713','3712','3711','3710'),
partition P41 values ('4112','4111','4110','4109','4108','4107','4106','4105','4104','4103','4102','4101','4190','4117','4116','4115','4114','4113'),
partition P42 values ('4290','4228','4213','4212','4211','4210','4209','4208','4207','4206','4205','4203','4202','4201'),
partition P43 values ('4301','4331','4310','4309','4308','4307','4306','4305','4304','4303','4313','4312','4311','4302'),
partition P44 values ('4401','4453','4452','4451','4420','4419','4418','4417','4416','4415','4414','4413','4412','4409','4408','4407','4406','4405','4404','4403','4402'),
partition P45 values ('4513','4512','4511','4510','4509','4508','4507','4506','4505','4504','4503','4502','4501','4514'),
partition P46 values ('4601','4690','4603','4602'),
partition P50 values ('5001'),
partition P51 values ('5134','5107','5133','5132','5120','5119','5118','5117','5116','5115','5114','5113','5111','5110','5109','5108','5106','5105','5104','5103','5101'),
partition P52 values ('5201','5226','5223','5206','5205','5204','5203','5227','5202'),
partition P53 values ('5331','5329','5328','5326','5325','5323','5309','5308','5307','5306','5305','5304','5303','5301','5334','5333'),
partition P54 values ('5401','5426','5425','5424','5402','5422','5421'),
partition P61 values ('6101','6110','6109','6108','6107','6106','6105','6104','6103','6102'),
partition P62 values ('6206','6205','6204','6203','6202','6201','6230','6229','6212','6211','6210','6209','6208','6207'),
partition P63 values ('6301','6328','6327','6326','6325','6323','6322','6302'),
partition P64 values ('6401','6405','6404','6403','6402'),
partition P65 values ('6529','6528','6527','6523','6522','6521','6502','6501','6590','6543','6542','6540','6532','6531','6530')
);
alter table BUILDING_temp add constraint PK_BUILDING1 primary key (BUILDING_ID)
--验证是否可以进行在线重定义
call dbms_redefinition.can_redef_table('avmdm', 'BUILDING');======所有操作之前要先验证
--开始重定义
call dbms_redefinition.start_redef_table('avmdm', 'BUILDING', 'BUILDING_temp');
--同步临时表与原始表中的数据
call dbms_redefinition.sync_interim_table('avmdm', 'BUILDING', 'BUILDING_temp');
--结束重定义
call dbms_redefinition.finish_redef_table('avmdm', 'BUILDING', 'BUILDING_temp');
--查询所有的数据
select * from BUILDING
--查询P11分区的数据
SELeCT * FROM BUILDING PARTITION(P11);
--查询P12分区的数据
SELeCT * FROM BUILDING PARTITION(P12);
--查询表下的所有的分区
SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='BUILDING'
--删除临时表
drop table BUILDING_temp purge;
Oracle 在线重定义表分区的更多相关文章
- oracle在线重定义表
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统.Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就 ...
- dbms_redefinition在线重定义表结构 可以在表分区的时候使用
dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...
- 基于 dbms_redefinition 在线重定义表
Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL.DML操作,使得前端的DML根本感觉不到表结构实际上已经发生了变化,对于用户而言是完全透明的.当然在线重定 ...
- dbms_redefinition在线重定义表结构
dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...
- Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表
实验环境:RHEL 6.4 + Oracle 11.2.0.3实验:在线重定义 普通表 为 分区表,包括主键对应的索引都改造为分区索引. 1,构造普通表t_objects conn test1/tes ...
- Oracle在线重定义(online redefinition)--将普通表改为分区表
使用Oracle的在线重定义技术,可以将Oracle的普通表改为分区表.操作如下: STEP1:测试表是否可以在线重定义,这里以unixdev数据库的LIJIAMAN.BSTEST为例 EXEC DB ...
- (Oracle)已有数据表建立表分区—在线重定义
今天在做数据抽取的时候,发现有一张业务表数据量达到了5000W,所以就想将此表改为分区表.分区表的有点如下: 1.改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度.2.增强可用性: ...
- 在线重定义(Rdefine Table online)
二. 概念理解 在线重定义用于对表的逻辑或者物理结构的修改,而且在修改时不影响表的可用性与传统方式相比.当一个表被重定义时,会被锁定为exclusive mode很短一段时间,这段时间的 ...
- 通过DBMS_REDEFINITION包对表在线重定义
基础介绍 Oracle Online Redefinition可以保证在数据表进行DDL类型操作,如插入.删除数据列,分区处理的时候,还能够支持DML操作,特别是insert/update/delet ...
随机推荐
- 移动端开发viewport深入理解(转)
一.viewport的概念 移动设备上的viewport就是设备的屏幕上能用来显示我们的网页的那一块区域,就是浏览器上用来显示网页的那部分区域,但viewport不局限于浏览器可视区域 的大小,它 ...
- 并发包的线程池第二篇--Executors的构造
上一篇讲述了ThreadPoolExecutor的执行过程,我们也能看出来一个很明显的问题:这个线程池的构造函数比较复杂,对于不十分理解其运作原理的程序员,自己构造它可能体现和想象中不一样的行为.比如 ...
- Leetcode 365. Water and Jug Problem
可以想象有一个无限大的水罐,如果我们有两个杯子x和y,那么原来的问题等价于是否可以通过往里面注入或倒出水从而剩下z. z =? m*x + n*y 如果等式成立,那么z%gcd(x,y) == 0. ...
- sublime
sublime的格式化快捷键 其实在sublime中已经自建了格式化按钮:Edit -> Line -> Reindent 只是sublime并没有给他赋予快捷键,所以只需加上快捷 ...
- The commands of Disk
The commands of Disk fdisk( the disk size is less 2TB) fdisk - partition table manipulator for Linux ...
- 如果mac电脑的usb转接器连接wlan时不显示,也就是不识别usb此时的网络连接没有,解决办法就是如下
1.接上电源 关机 先按下shift +ctrl + opt + 开机键 ,等待10秒,这10秒是没有反应的,屏幕不会亮,系统不会跑起来, 10秒之后松开所有键,再按下opt + cmd ...
- 一键批量添加材质的法线贴图-unity插件
有时候材质做完后需要更改贴图,或者增加贴图,数量少的时候可以一张张添加和修改,数量多的时候就只能代码生成了.原理是通过名字的关联:主贴图和法线贴图大多数只是后缀的不同上,如果不是那是美术规范没做好啊, ...
- 服务器端之间采用http接口调数据时的Cookie传值问题
public static string UrlGet(string url) { string responseContent = ""; string cookieValue ...
- 跟我一起学习VIM
跟我一起学习VIM - The Life Changing Editor 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹 ...
- Angular 之坑??
1. 场景:bootstrap的popup画面中有一个select元素, <select > <option> 1 </option> <option ng- ...