Oracle—系统包使用

文章目录

系统包

dbms_redefinition

功能介绍:该包体可以实现将Oracle库下的表在线改为分区结构或者重新定义;

说明:在检查表是否可以重定义和开始重定义的过程中,按照表是否存在主键,参数 options_flag有如下两种选择:

1)dbms_redefinition.cons_use_rowid
2)dbms_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 ========================================

相关推荐
jnrjian4 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
TTc_4 天前
oracle中的union和union all有什么区别?
数据库·oracle
山峰哥4 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
南 阳4 天前
Python从入门到精通day37
数据库·python·oracle
轩情吖4 天前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
脱发的老袁5 天前
【数据库】Oracle手动清理归档日志
数据库·oracle
jnrjian5 天前
Oracle 共享池 库缓存下的 Library Cache Lock
数据库·缓存·oracle
新缸中之脑5 天前
在Reddit上探索未满足的需求
数据库·oracle
light blue bird5 天前
产线多并发客户端指令操作场景组件
jvm·oracle·.net·winform
坐吃山猪5 天前
Neo4j04_数据库事务
数据库·oracle·neo4j