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 ...
随机推荐
- 【转】封装原生JS实现Ajax
function createXHR() { if (window.XMLHttpRequest) { //IE7+.Firefox.Opera.Chrome 和Safari return new X ...
- 基于ArcGIS API for Javascript的地图编辑工具
最近工作上需要用ArcGIS API for Javascript来开发一个浏览器上使用的地图编辑工具,分享一下一些相关的开发经验. 我开发的地图编辑工具是根据ESRI提供的例子修改而来的,参考的例子 ...
- Clean Old Kernels on CentOS
1. Check Installed Kernels $ rpm -q kernel 2. Clean Old Kernels ## need Install yum-utils ## ## Pack ...
- 如何修改SharePoint2013服务器场帐号密码
服务器远程登录帐号密码修改密码后,如何修改sharepoint服务器场管理员账户密码,今天登录了一下N久以前的搭建sharepoint2013服务器场的一台服务器器,登录进去以后直接提示帐号密码过期需 ...
- oracle中临时表是用来做什么的
oracle中临时表是用来做什么的 某些情况下, 需要 多个非常大的表关联的情况下, 但是需要检索的, 是少量的数据的时候.可以先把 大表的数据, 检索出那一小部分, 然后插入到 临时表中, 最后再关 ...
- AJAX学习笔记
AJAX不是一种编程语言,AJAX是一种实现网页异步加载的技术,即不刷新网页也能部分的更新网页的内容.如:提交表单信息,通过ajax可以不刷新页面来使得人们明白如何正确的填写信息,判断填写信息的错误或 ...
- ios开发之Info.plist文件相关配置
前言:在iOS开发中有些情况下需要对Info.plist文件进行配置,以下介绍几种相关配置.以后遇到需要配置的再更新... 开发环境:swift3.0.1,Xcode8.1 一,项目中需要使用第三方字 ...
- marked.js简易手册
marked.js简易手册 本文介绍的是marked.js.秉持"来之即用"的原则,对它进行简要的翻译和归纳, 安装 在网上引用或者是引用本地文件即可.要么就用命令行: npm i ...
- node-glob学习
node的glob模块允许你使用 *等符号, 来写一个glob规则,像在shell里一样,获取匹配对应规则的文件. 这个glob工具基于javascript.它使用了 minimatch 库来进行匹配 ...
- leetcode 111 minimum depth of binary tree
problem description: Given a binary tree, find its minimum depth. The minimum depth is the number of ...