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 ...
随机推荐
- Python NaN
NaN, Not a Number, 非数. 它即不是无穷大, 也不是无穷小, 而是python/numpy/... 觉得无法计算时返回的一个符号(自己的推测, 未考证(TODO)). import ...
- 递推 HDU 2569
考虑n-2 n-1 n z[n] 代表n个块 可行方案 1 n-2 和n-1 同 3*z[n-2] 2 n-2和n-1不同 2*(z[n-1]-z[n-2]); 减一减 然后可能是其中一种 *2 ...
- Python3 Socket网络编程
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. socket起源于UNIX,在 ...
- 学记:spring boot使用官网推荐以外的其他数据源druid
虽然spring boot提供了4种数据源的配置,但是如果要使用其他的数据源怎么办?例如,有人就是喜欢druid可以监控的强大功能,有些人项目的需要使用c3p0,那么,我们就没办法了吗?我们就要编程式 ...
- word中公式居中标号没有右对齐
打开视图-标尺,调整右侧标尺就行了.
- Anaconda 安装 ml_metrics package
ml_metrics is the Python implementation of Metrics implementations a library of various supervised m ...
- thinkphp 3.2.3 动态修改conf配置文件
thinkphp 3.2.3 的C()方法能修改配置文件,但是是动态修改的,没有真正的更改文件. 我查了网上网友分享的方法,都不怎么合适,我就自己摸索写了一个,配置写到text.php中,我的目录如下 ...
- centos6.5 更新yum源
在使用centos过程中,自带的yum源包,不能满足的情况下,这个时候就可以考虑升级yum源了.国内用的比较多的是163镜像地址为http://mirrors.163.com/.help/centos ...
- ubuntu 下应用 Python 和 SL4A 的 Android 应用程序搭建您自己的android研发环境
转载自:http://code.qtuba.com/article-50680.html 最近在看<head first python>,书中有讲python在android中进行开发的章 ...
- 差分进化算法 DE-Differential Evolution
差分进化算法 (Differential Evolution) Differential Evolution(DE)是由Storn等人于1995年提出的,和其它演化算法一样,DE是一种模拟生物进化 ...