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 在线重定义的更多相关文章

  1. Oracle 在线重定义表分区

    ==================原始表================原始表=====================原始表 create table BUILDING_temp(building ...

  2. oracle普通表转分区表(在线重定义方式)

    1.1.TAB_TAOBAO_BILL 1.1.1检查下这张表是否可以在线重定义,无报错表示可以,报错会给出错误信息: exec dbms_redefinition.can_redef_table(' ...

  3. Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表

    实验环境:RHEL 6.4 + Oracle 11.2.0.3实验:在线重定义 普通表 为 分区表,包括主键对应的索引都改造为分区索引. 1,构造普通表t_objects conn test1/tes ...

  4. oracle在线重定义表

    在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统.Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就 ...

  5. 在线重定义(Rdefine Table online)

    二.        概念理解 在线重定义用于对表的逻辑或者物理结构的修改,而且在修改时不影响表的可用性与传统方式相比.当一个表被重定义时,会被锁定为exclusive mode很短一段时间,这段时间的 ...

  6. 基于 dbms_redefinition 在线重定义表

    Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL.DML操作,使得前端的DML根本感觉不到表结构实际上已经发生了变化,对于用户而言是完全透明的.当然在线重定 ...

  7. dbms_redefinition在线重定义表结构 可以在表分区的时候使用

    dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...

  8. dbms_redefinition在线重定义表结构

    dbms_redefinition在线重定义表结构 (2013-08-29 22:52:58) 转载▼ 标签: dbms_redefinition 非分区表转换成分区表 王显伟 在线重定义表结构 在线 ...

  9. 通过DBMS_REDEFINITION包对表在线重定义

    基础介绍 Oracle Online Redefinition可以保证在数据表进行DDL类型操作,如插入.删除数据列,分区处理的时候,还能够支持DML操作,特别是insert/update/delet ...

随机推荐

  1. HDU 1882 Strange Billboard(状态压缩+转置优化)

    状态压缩,我们枚举第一行的所有状态,然后根据第一行去转变下面的行,枚举或者深搜直到最后最后一行,可以判断是不是所有的1都可以全部转换为0,记录所有的解,输出最小的一个就可以. 这里有一个很重要的优化, ...

  2. EL探索

  3. 继续几道经典的js题(局部和全局变量,对象等)

    1. //现有代码如下:var foo = 1;function main(){alert(foo);var foo = 2;alert(this.foo)this.foo = 3;}//1.请给出以 ...

  4. 操作IFRAME及元素

    内容里有两个ifame <iframe id="leftiframe"...</iframe> <iframe id="mainiframe..& ...

  5. 如何高效的用判断用js判断ie6

    用js判断ie6的方法有很多,如: 1. var isIE=!!window.ActiveXObject; var isIE6=isIE&&!window.XMLHttpRequest ...

  6. 51nod1138(math)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1138 题意:中文题诶- 思路:假设 x=a1+(a1+1)+ ...

  7. POJ 2251 Dungeon Master(地牢大师)

    p.MsoNormal { margin-bottom: 10.0000pt; font-family: Tahoma; font-size: 11.0000pt } h1 { margin-top: ...

  8. Android新手入门

    本博客出自公众号安卓应用频道:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=2652261947&idx=1&sn= ...

  9. 变量-数据类型-对象-如何编写python脚本

    标识符的命名规则变量是标识符的例子. 标识符 是用来标识 某样东西 的名字.在命名标识符的时候,你要遵循这些规则:标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’).标识 ...

  10. java类集: collection, list , set, map

    都在java.util包里.容器:装各种对象. Collections类 : 集合工具类, 提供了一些静态方法, 方法里的参数是List等. Colection接口,子接口主要有:   Set: 内容 ...