Oracle11G 在线重定义
create tablespace
tbs1 datafile '/opt/oracle/oradata/haier/tbs1.dbf' size 500m autoextend on
maxsize 2G;
create tablespace
tbs2 datafile '/opt/oracle/oradata/haier/tbs2.dbf' size 500m autoextend on
maxsize 2G;
create tablespace tbs3 datafile '/opt/oracle/oradata/haier/tbs3.dbf' size 500m autoextend on maxsize 2G;
SQL> desc HHHH
Name Null? Type
----------------------------------------- -------- ----------------------------
PNTMALL_PNT_ID NUMBER
PNTMALL_PNT_DT DATE
.......
PNTMALL_HRTYPE_DESC VARCHAR2(2000)
SQL> selectcount(*) from HHHH;
COUNT(*)
----------
16713034
alter table HHHH add
constraint HHHH_PKEY primary key(PNTMALL_PNT_ID);
create table
HHHH_tmp
partition by
range(PNTMALL_PNT_DT)
(
partition p1 values
less than (to_date('2016-01-01','yyyy-mm-dd')) tablespace tbs1,
partition p2 values
less than (to_date('2017-01-01','yyyy-mm-dd')) tablespace tbs2,
partition p3 values
less than (maxvalue) tablespace tbs3
)
as
select * from HHHH
where 1=2;
SQL> begin
2 DBMS_REDEFINITION.START_REDEF_TABLE('BER','HHHH','HHHH_TMP');
3 end;
4 /
PL/SQL proceduresuccessfully completed
SQL> selectobject_id,object_name,object_type,status from user_objects where object_namelike '%HHH%';
OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
------------------------------------------------------------------------------------------------------------- -------
115233 HHHH_PKEY INDEX VALID
115232 HHHH TABLE VALID
115341 HHHH_TMP TABLE PARTITION VALID
115340 HHHH_TMP TABLE PARTITION VALID
115339 HHHH_TMP TABLE PARTITION VALID
115338 HHHH_TMP TABLE VALID
115342 MLOG$_HHHH TABLE VALID
115343 RUPD$_HHHH
SQL> selectcount(*) from HHHH;
COUNT(*)
----------
16713034
SQL> selectcount(*) from HHHH_TMP;
COUNT(*)
----------
16713034
SQL> exec
DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS('BER','HHHH','HHHH_TMP',NUM_ERRORS
=> :V_ERR);
PL/SQL procedure
successfully completed.
SQL> print v_err
V_ERR
----------
0
SQL> selectobject_id,object_name,object_type,status from user_objects where object_namelike '%HHH%';
OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
------------------------------------------------------------------------------------------------------------- -------
115344 TMP$$_HHHH_PKEY0 INDEX VALID
115343 RUPD$_HHHH TABLE VALID
115342 MLOG$_HHHH TABLE VALID
115338 HHHH_TMP TABLE VALID
115339 HHHH_TMP TABLE PARTITION VALID
115340 HHHH_TMP TABLE PARTITION VALID
115341 HHHH_TMP TABLE PARTITION VALID
115232 HHHH TABLE VALID
115233 HHHH_PKEY INDEX VALID
9 rows selected
SQL> selecttable_name,index_name,status from user_indexes where table_name='HHHH_TMP';
TABLE_NAME INDEX_NAME STATUS
------------------------------------------------------------ --------
HHHH_TMP TMP$$_HHHH_PKEY0 VALID
SQL> EXECDBMS_REDEFINITION.SYNC_INTERIM_TABLE('BER','HHHH','HHHH_TMP');
PL/SQL proceduresuccessfully completed
SQL> selectobject_id,object_name,object_type,status from user_objects where object_namelike '%HHH%';
OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
------------------------------------------------------------------------------------------------------------- -------
115338 HHHH TABLE VALID
115339 HHHH TABLE PARTITION VALID
115340 HHHH TABLE PARTITION VALID
115341 HHHH TABLE PARTITION VALID
115232 HHHH_TMP TABLE VALID
115344 HHHH_PKEY INDEX VALID
115233 TMP$$_HHHH_PKEY0 INDEX VALID
7 rows selected
Oracle11G 在线重定义的更多相关文章
- Oracle 在线重定义表分区
==================原始表================原始表=====================原始表 create table BUILDING_temp(building ...
- oracle普通表转分区表(在线重定义方式)
1.1.TAB_TAOBAO_BILL 1.1.1检查下这张表是否可以在线重定义,无报错表示可以,报错会给出错误信息: exec dbms_redefinition.can_redef_table(' ...
- Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表
实验环境:RHEL 6.4 + Oracle 11.2.0.3实验:在线重定义 普通表 为 分区表,包括主键对应的索引都改造为分区索引. 1,构造普通表t_objects conn test1/tes ...
- oracle在线重定义表
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统.Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就 ...
- 在线重定义(Rdefine Table online)
二. 概念理解 在线重定义用于对表的逻辑或者物理结构的修改,而且在修改时不影响表的可用性与传统方式相比.当一个表被重定义时,会被锁定为exclusive mode很短一段时间,这段时间的 ...
- 基于 dbms_redefinition 在线重定义表
Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL.DML操作,使得前端的DML根本感觉不到表结构实际上已经发生了变化,对于用户而言是完全透明的.当然在线重定 ...
- dbms_redefinition在线重定义表结构 可以在表分区的时候使用
dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...
- dbms_redefinition在线重定义表结构
dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...
- 通过DBMS_REDEFINITION包对表在线重定义
基础介绍 Oracle Online Redefinition可以保证在数据表进行DDL类型操作,如插入.删除数据列,分区处理的时候,还能够支持DML操作,特别是insert/update/delet ...
随机推荐
- 打包Egret游戏为Chrome extension
今天,本来是打算做一个Chrome扩展去爬取网站base64编码图片的. 在跟着图灵社区<Chrome扩展及应用开发>敲demo代码的过程中,发现chrome的扩展的结构理论上可以兼容所有 ...
- Go语言实现列出排列组合
今天,隔壁坐的小朋友给我一串数字: 1 6 21 55 让我观察规律,然后帮他推导公式. 尼玛,当我是神呢?!! 想了半天没看出个原委, 于是看了他那边具体需要才发现他那边是对N个数字进行5个数字的组 ...
- Python之路:线程池
版本一 #!/usr/bin/env python # --*--coding:utf-8 --*-- import Queue import threading class ThreadPool( ...
- 浅谈Linux集群
集群听起来好像就是一个很高端很的技术,其实不是的,那么集群其实就是一堆计算机的集合,给用户提供同一个服务的一组计算机,就称之为集群,对于用户而言好像就是一台计算机提供的服务,集群主要分为三大类, ...
- JSP/JAVA目录清单
JAVA253中国象棋(CS) JAVA258网络五子棋游戏的设计与实现(CS) JAVA390停车场管理系统SQL(CS) JSP001学生综合素质测评系统JAVA+Mysql JSP002学生成绩 ...
- iOS学习基本常识
转发至:http://blog.sina.com.cn/s/blog_9266da3d010184i0.html 1. 了解main函数, UIApplication是初始化程序的核心,它接受4个参 ...
- ibatis参数传递小技巧 - 疯狂的菠菜 - ITeye技术网站
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- Ubuntu如何备份和恢复系统 - 落花往事的日志 - 网易博客
在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供 ...
- 关于在TabBar 中添加按钮,并通过block 或代理在控制器中实现响应
相信很多朋友会遇到在TabBar中添加按钮,并要求点击按钮能够实现一些功能,但是当我们自定义的时候,怎么才能在控制器中响应?通常我会用代理或者block,block性能更好,建议使用. 自定义TabB ...
- vim中c/c++源码跳转
在使用vim阅读c/c++代码的时候,代码跳转很重要, 在学习redis代码的时候遇到这个问题. 网上查找之后通过实践发现cscope比较好用,可以很方便的实现跳转 1. 安装cscope sudo ...