DBMS_REDEFINITION子程序概要
2016-07-04 16:10
162 查看
CAN_REDEF_TABLE 程序:
-----------------------
该程序用于决定将要重新组织的表。这为在线重组织的第一步。如果不指定在线重定义的表,将会有错误产生。
语法
DBMS_REDEFINITION.can_redef_table (
uname IN VARCHAR2,
tname IN VARCHAR2);
CAN_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
tname 准备重组的表名
START_REDEF_TABLE 程序:
------------------------
该程序完成重组织的初始化。在验证了表是否可以在线重组织之后,需要创建一张空的转换表(在同一个schema下)将名称传入其中的属性描述定义表名。
语法
DBMS_REDEFINITION.start_redef_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2,
col_mapping IN VARCHAR2 := NULL);
START_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
col_mapping 从过度表到原始表,列的映射信息。
(类似SELECT查询语句中字段的列表)
如果为NULL,原始表中所有的字段都
被按原来的名称选择到过度表中
FINISH_REDEF_TABLE 程序:
------------------------
该程序用于完成重组织处理。在这步之前,可能需要在过度表上创建新的索引、触发器、权限分配以及约束。如果有外键约束包含在过度表上,必须disabled。在进行这步时,原始表将被暂时锁住,直到完成。
语法
DBMS_REDEFINITION.finish_redef_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2);
FINISH_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
SYNC_INTERIM_TABLE 程序:
-------------------------
此程序可以将原始表同步到过度表。此步骤可以在完成重组织之前,最小化地成本不断将数据同步到过度表上。此步骤通常在开始重定义之后,完成之前(如创建索引)调用,用来从原始表上快速地同步新增数据。
语法
DBMS_REDEFINITION.sync_interim_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2);
SYNC_INTERIM_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
ABORT_REDEF_TABLE 程序:
-------------------------
该程序用于清除在重组织过程中发生的错误。该程序也可以用于在重组织过程中(start_reorg_table之后,finish_reorg_table之前),随时中断重组织操作。
语法
DBMS_REDEFINITION.abort_redef_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2);
ABORT_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
如果主键包含的列是一个加密列,可能需要参看下面这个BUG:
参考:Bug 6034260 DBMS_REDEFINITION.START_REDEF_TABLE FAILS ORA-32412 BECAUSE
OF ENCRYPTED COLUMN
-----------------------
该程序用于决定将要重新组织的表。这为在线重组织的第一步。如果不指定在线重定义的表,将会有错误产生。
语法
DBMS_REDEFINITION.can_redef_table (
uname IN VARCHAR2,
tname IN VARCHAR2);
CAN_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
tname 准备重组的表名
START_REDEF_TABLE 程序:
------------------------
该程序完成重组织的初始化。在验证了表是否可以在线重组织之后,需要创建一张空的转换表(在同一个schema下)将名称传入其中的属性描述定义表名。
语法
DBMS_REDEFINITION.start_redef_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2,
col_mapping IN VARCHAR2 := NULL);
START_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
col_mapping 从过度表到原始表,列的映射信息。
(类似SELECT查询语句中字段的列表)
如果为NULL,原始表中所有的字段都
被按原来的名称选择到过度表中
FINISH_REDEF_TABLE 程序:
------------------------
该程序用于完成重组织处理。在这步之前,可能需要在过度表上创建新的索引、触发器、权限分配以及约束。如果有外键约束包含在过度表上,必须disabled。在进行这步时,原始表将被暂时锁住,直到完成。
语法
DBMS_REDEFINITION.finish_redef_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2);
FINISH_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
SYNC_INTERIM_TABLE 程序:
-------------------------
此程序可以将原始表同步到过度表。此步骤可以在完成重组织之前,最小化地成本不断将数据同步到过度表上。此步骤通常在开始重定义之后,完成之前(如创建索引)调用,用来从原始表上快速地同步新增数据。
语法
DBMS_REDEFINITION.sync_interim_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2);
SYNC_INTERIM_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
ABORT_REDEF_TABLE 程序:
-------------------------
该程序用于清除在重组织过程中发生的错误。该程序也可以用于在重组织过程中(start_reorg_table之后,finish_reorg_table之前),随时中断重组织操作。
语法
DBMS_REDEFINITION.abort_redef_table (
uname IN VARCHAR2,
orig_table IN VARCHAR2,
int_table IN VARCHAR2);
ABORT_REDEF_TABLE 程序参数:
参数 描述
--------- ------------
uname 表的schema名称
orig_table 准备重组的表名
int_table 过度表的名称。
如果主键包含的列是一个加密列,可能需要参看下面这个BUG:
参考:Bug 6034260 DBMS_REDEFINITION.START_REDEF_TABLE FAILS ORA-32412 BECAUSE
OF ENCRYPTED COLUMN
相关文章推荐
- 对于java学习中的date与String转换demo
- Java Lambda 表达式介绍
- 二叉树的中序、先序、后序、层序遍历 & 二叉树的深度 & 节点查找
- Java基础——super的几种用法并与this的区别
- HashMap和HashTable的区别
- Linux天天见
- 换yum源
- Cocos2d-x开发系列 交叉开发模式五 绑定C++对象到Lua
- JSONP跨域请求实例详解
- PHP current() 函数
- 欢迎使用CSDN-markdown编辑器
- 包含min函数的栈
- Spring 框架简介
- Java编写的断点续传的一个Demo示例
- 802.11N blockACK
- C++轻量级界面库DuiLib简介(二)—使用DuiLib
- PHP中cookie和Session
- Android Tab -- 使用ViewPager、Fragment、FragmentPagerAdapter来实现
- Qt之QFileIconProvider(根据扩展名获取文件图标、类型)
- HDOJ_Easier Done Than Said