在线重定义普通表为分区表
来源:互联网 发布:tpo模考软件for mac 编辑:程序博客网 时间:2024/05/09 06:06
通常我们了解到的在线重定义的表的方式有几种:
1.9i使用rowid的重定义方式
2.10G开始可以使用oracle 自带的 DBMS_REDEFINITION Package进行重定义
9i 这种通过rowid方式,在执行完在线重定义后,表的名称虽然保持不变,但是索引、约束等关联对象的名称会发生变化,如果这个表的数据量非常大,重建索引和触发器就是个很麻烦的活,同时当dba想将大表进行拆分,也可以将目标表,重定义成分区表,方便将来的维护管理,下面就DBMS_REDEFINITION方法实验过程如下:
模拟生产数据表
生产表上必须要有主键,此处我们模拟加上主键和索引
alter table t add constraint pk_id primary key(object_id);
CREATE INDEX IND_T_NAME ON T (OBJECT_NAME);
检查索引和约束所在位置
INDEX_NAME INDEX_TYPE TABLE_OWNER TABLE_NAME
--------------------- -------------------- ------------------------ ------------------------------
PK_ID NORMAL SCOTT T
IND_T_NAME NORMAL SCOTT T
准备迁移分区表
partition by range(object_id)
(partition p1 values less than(50000),
partition p2 values less than(100000),
partition p3 values less than(150000),
partition p4 values less than(200000),
partition pmax values less than(maxvalue));
检查生产表T是否满足重定义的条件
开始执行2个表间的重定义操作
执行数据同步
完成重定义
查询重定义后的结果
2 from user_tab_partitions where table_name='RED_T'
3 order by partition_position;
未选定行
SQL> select partition_name,high_value,tablespace_name
2 from user_tab_partitions where table_name='T'
3 order by partition_position;
PARTITION_NAME HIGH_VALUE TABLESPACE_NAME
------------------------------ -------------------------------------------- ----------------------
P1 50000 USERS
P2 100000 USERS
P3 150000 USERS
P4 200000 USERS
PMAX MAXVALUE USERS
检查索引信息
INDEX_NAME INDEX_TYPE TABLE_OWNER TABLE_NAME
--------------------- -------------------- ------------------------ ------------------------------
PK_ID NORMAL SCOTT RED_T
IND_T_NAME NORMAL SCOTT RED_T
可以发现原来表t的索引和逐渐也迁移到了新表RED_T上。
- 在线重定义普通表为分区表
- 将普通表在线重定义为分区表
- 在线重定义表为分区表
- [Oracle] 表在线重定义 - 普通表到分区表
- [Oracle] 表在线重定义 - 普通表到分区表
- oracle在线重定义(一)普通表到分区表
- 使用ORACLE在线重定义将普通表改为分区表
- 使用ORACLE在线重定义将普通表改为分区表
- oracle在线重定义将普通表改为分区表
- 普通表转化成分区表一例(在线重定义分区表)
- 通过在线重定义将普通表转成分区表
- 普通表转为分区表(一)-在线重定义
- Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表
- 【转】Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表
- oracle普通表转分区表——在线重定义
- 普通表转分区表(交换分区、在线重定义)
- 使用ORACLE在线重定义将普通表改为分区表
- Oracle普通表转成分区表(在线重定义)
- JAVA各种运算
- 容大家居购物村开业啦!给力,给礼,更给利!还送嫁妆哦!!!
- codeblocks学习初步
- 黑马程序员----多态
- 插入排序
- 在线重定义普通表为分区表
- 大二开始时的想法
- Qt 地图浏览器:使用QGraphicsView
- 3.2.1.1 在 F# 中使用元组
- linux设备驱动模型框架
- Android 闹钟的实现详解
- ARM基础知识
- 程序员工作法则,避免成为程序猿
- 黑马程序员----封装