淄博网站的优化,php网站开发示例代码,中国嘉兴门户网站,做吃穿住行网站文章目录 系统包dbms_redefinition 系统包
dbms_redefinition 功能介绍#xff1a;该包体可以实现将Oracle库下的表在线改为分区结构或者重新定义#xff1b; 说明#xff1a;在检查表是否可以重定义和开始重定义的过程中#xff0c;按照表是否存在主键#xff0c;参数 o… 文章目录 系统包dbms_redefinition 系统包
dbms_redefinition 功能介绍该包体可以实现将Oracle库下的表在线改为分区结构或者重新定义 说明在检查表是否可以重定义和开始重定义的过程中按照表是否存在主键参数 options_flag有如下两种选择
1dbms_redefinition.cons_use_rowid 2dbms_redefinition.cons_use_pk step_1检测是否可以重定义 exec dbms_redefinition.can_redef_table(schema_name, $source_tab,dbms_redefinition.cons_use_pk); step_2重定义表 exec dbms_redefinition.start_redef_table(schema_name, $source_tab, $target_tab,null,dbms_redefinition.cons_use_pk); step_3同步数据到新表 execute dbms_redefinition.sync_interim_table(schema_name,$source_tab,$target_tab); step_4结束表重定义 exec dbms_redefinition.finish_redef_table(schema_name, $source_tab, $target_tab); step_5强制退出重定义 exec dbms_redefinition.abort_redef_table(schema_name, $source_tab, $target_tab);
验证结论 A从模板表到正式表的重新定义实际是交换了2个表的差异部分 B从模板表到正式表的差异交换包括数据部分空表变为有数据的表同样有数据的表会变为空表 over