oracle 9i提供了dbms_redefinition包来实现数据库的表的在线重定义功能。在实际的应用上,我们可以利用这个包来进行:

(1)堆表与分区之间进行转换。(2)重建表以减少HWM。10g能shrink,9i如果用move tablespace and rebuild index在move的时候会锁表,如果想实现在线降低HWM,只能用这个了。

(3)在线更改表结构,如更改列的前后顺序,将column_a,column_b改成column_b,column_a

1.创建测试表

create table rebuild_table as select * from dba_objects;

insert into rebuild_table select * from rebuild_table;

insert into rebuild_table select * from rebuild_table;

insert into rebuild_table select * from rebuild_table;

commit;

delete from rebuild_table;

insert into rebuild_table select * from dba_objects;

insert into rebuild_table select * from rebuild_table;

insert into rebuild_table select * from rebuild_table;

commit;

update rebuild_table set object_id=rownum;

alter  table rebuild_table add CONSTRAINT P_YY PRIMARY KEY (OBJECT_ID);

select * from rebuild_table;

2.创建分区表

create table REBUILD_PA_TABLE

(

STATIS_DATE    NUMBER(8),

OWNER          VARCHAR2(30),

OBJECT_NAME    VARCHAR2(128),

SUBOBJECT_NAME VARCHAR2(30),

OBJECT_ID      NUMBER not null,

DATA_OBJECT_ID NUMBER,

OBJECT_TYPE    VARCHAR2(18),

CREATED        DATE,

LAST_DDL_TIME  DATE,

TIMESTAMP      VARCHAR2(19),

STATUS         VARCHAR2(7),

TEMPORARY      VARCHAR2(1),

GENERATED      VARCHAR2(1),

SECONDARY      VARCHAR2(1)

)

partition by  list (STATIS_DATE)

(

partition p20111031 values (20111031)

);

alter table REBUILD_PA_TABLE add partition p20111101 values(20111101);

;

alter table REBUILD_PA_TABLE

add constraint Pa_YYY primary key (OBJECT_ID)

;

-- 打开重定义

begin

dbms_redefinition.CAN_REDEF_TABLE('boc_rdm','REBUILD_TABLE');

end;

-- 开始重定义

begin

dbms_redefinition.START_REDEF_TABLE('boc_rdm','REBUILD_TABLE','REBUILD_PA_TABLE');

end;

-- 进行数据同步

begin

dbms_redefinition.sync_interim_table('BOC_RDM','REBUILD_TABLE','REBUILD_PA_TABLE');

end;

-- 重命名表,把非分区表转化为分区表

begin

dbms_redefinition.finish_redef_table('BOC_RDM','REBUILD_TABLE','REBUILD_PA_TABLE');

end;

select * from REBUILD_TABLE partition(p20111031)

oracle 分区字符转换,Oracle 普通表与分区表转换相关推荐

  1. oracle 分区字段作用,oracle表分区的作用

    表空间及分区表的概念 表空间:(推荐学习:web前端视频教程) 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间 分区表: 当表中的数据量不断增大, ...

  2. Oracle常用字符ASCII码对应表

    chr(9) tab空格 chr(10) 换行 chr(13) 回车 Chr(13)&chr(10) 回车换行 chr(32) 空格符 chr(34) 双引号 chr(39) 单引号 chr( ...

  3. oracle分区注意点,ORACLE分区表梳理系列(二)- 分区表日常维护及注意事项

    http://www.cnblogs.com/yumiko/p/6163523.html 前言: 本文着重总结分区表的日常维护操作以及相应的注意事项. 本文涉及的日常维护内容包括: 增加分区(add) ...

  4. oracle数据库字符6,oracle 数据库字符编码

    理解ORACLE 字符集[转] 一.引言 ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储.处 ...

  5. oracle 分区使用情况,Oracle Hash分区的使用总结

    近期项目需要用到分区表,但是分区键值有无法确定,因此只能使用hash分区(range.list分区以前常用,比hash分区简单),查询了文档,发现上面说的和实际使用时有点差距,就专门做实验验证下. 官 ...

  6. oracle分区注意点,ORACLE分区表梳理系列(一)- 分区表概述、分类、使用方法及注意事项...

    博文作者:Yumiko_sunny 博客链接:http://www.cnblogs.com/yumiko/ 本站随笔均为原创 前言 本文着重阐述分区表的概念.优势,以及 常用分区表的使用方法及使用过程 ...

  7. oracle 乱码字符 测试,oracle 字符集乱码本质验证

    oracle 字符集乱码本质验证 发表于:2014-03-27来源:Csdn作者:蘑菇丁点击数: 之前一直困惑为什么数据库字符集和客户端字符集是一致的但是当数据库插入到表里却成了乱码,今天在群里看见一 ...

  8. oracle 分区表转换,Oracle普通表与分区表转换

    oracle 9i提供了dbms_redefinition包来实现数据库的表的在线重定义功能.在实际的应用上,我们可以利用这个包来进行:(1)堆表与 Oracle 9i提供了dbms_redefini ...

  9. oracle分区交换速度,oracle交换分区对数据的加载提速案例

    author:skate time:2012/07/16 oracle交换分区对数据的加载提速案例 环境: os:linux db:oracle10g 其中一个库的数据加载非常慢,如何能提高数据的加载 ...

最新文章

  1. 如何使用窗体开发-理解那些函数怎么来的?
  2. idea 代码自动补全快捷键
  3. K8S滚动更新示例演示
  4. Installation error code: -103签名不一致错误
  5. HALCON学习之旅(五)
  6. Windows 会有开源的一天吗?
  7. 实时Web与WebSocket实践
  8. php中的代码延迟函数sleep() usleep()
  9. linux下的二进制文件查看器
  10. Tomcat免安装版+Eclipse配置
  11. 十大排序算法(C++版)
  12. Idea中jclasslib的安装与使用
  13. Kinect+unity 实现体感格斗闯关小游戏
  14. 【Spring】IoC,DI,两种代理方式,AOP定义和使用
  15. linux安全审计和加固工具-lynis
  16. 芯片短缺:今年圣诞节PS5货量恐不足
  17. 04- kubeadm init流程
  18. 计算机技能大赛奖品,第一届全国技能大赛都有哪些奖励政策?
  19. VUE + CSS画三角形
  20. 北京化工大学本科毕业论文答辩和论文选题PPT模板

热门文章

  1. 智能关机软件 c语言,智能关机软件
  2. 机器人总动员拟人后_WALL·E 机器人总动员——又是一部让名字耽误的高分电影...
  3. linux中系统修复
  4. MATLAB学习——矩阵
  5. C#获取屏幕大小的“简单整理”。。
  6. VS生成的exe文件如何在其他电脑上运行
  7. python深拷贝,浅拷贝,赋值引用
  8. Lambda表达式及应用
  9. Redis在Window服务下的安装
  10. linux arm ffmpeg configure文件,ffmpeg库的交叉编译记录