最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle基于dbms_redefinition在线重定义表

来源:动视网 责编:小采 时间:2020-11-09 12:35:23
文档

Oracle基于dbms_redefinition在线重定义表

Oracle基于dbms_redefinition在线重定义表:Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉不到表结构实 Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉
推荐度:
导读Oracle基于dbms_redefinition在线重定义表:Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉不到表结构实 Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉


Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉不到表结构实

Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉不到表结构实际上已经发生了变化,对于用户而言是完全透明的。当然在线重定义期间,前端性能会稍微有所下降。Oracle提供的重定义包dbms_redefinition即是用与完成此操作。其实质是Oracle使用了智能物化视图及物化视图日志的方式。在对象结构重组期间,表现为一个本地对象的复制,,重组期间发生的任何变化都会被刷新到最新。

--------------------------------------------------------------------------------

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------------------------------------------------

1、在线重定义表的主要功能:

修改表或簇的存储参数

将表移动到相同或不同schema下不同的tablespace(如果不要求表始终可用的话,也可以直接使用alter table move 实现)

为表添加,修改或删除列

为表添加或删除分区,改变分区结构

改变物化视图日志或者Streams Advanced Queuing queue 表结构

增加并行查询支持

重建表以减少碎片

将堆表变为索引组织表或相反

2、图示在线重定义

下面的图示便于理解是如何进行在线重定义,其本质是基于基表的一个快照

3、在线重定义的步骤

a、选择在线重定义的方式,基于键(主键或唯一键)还是rowid(无主键或唯一键的情形)

b、校验表能否被在线重定义,使用过程CAN_REDEF_TABLE

c、创建用于在线重定义的临时表(该临时表使用新的表结构,即添加删除列,列长度变化,存储属性变化等)

d、如果重定义的为分区表且使用rowid方式,应该为临时表开启行移动(ALTER TABLE ... ENABLE ROW MOVEMENT;)

e、对于大型表的在线重定义可以通过启用并行以提高性能(此步骤可选)

ALTER SESSION FORCE PARALLEL DML PARALLEL degree-of-parallelism;

ALTER SESSION FORCE PARALLEL QUERY PARALLEL degree-of-parallelism;

f、调用过程start_redef_table启动在线重定义,如果启动失败,应调用ABORT_REDEF_TABLE先终止查找原因后再次启动

g、从被重定义的表复制依赖对象到临时表(triggers, indexes, materialized view logs, grants, and constraints)及统计信息到临时表

h、同步被重定义的表到临时表(调用过程sync_interim_table,此步可选)

i、调用过程FINISH_REDEF_TABLE完成表的在线重订义

j、删除临时表

更多详情见请继续阅读下一页的精彩内容:

文档

Oracle基于dbms_redefinition在线重定义表

Oracle基于dbms_redefinition在线重定义表:Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉不到表结构实 Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top