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 ========================================

相关推荐
IT邦德10 分钟前
Oracle 26ai搭建ADG Far Sync日志备库
数据库·oracle
sa1002731 分钟前
一键获取淘宝天猫商品评论:API 接口实战与多语言实现教程
数据库·oracle
香蕉鼠片1 小时前
Mysql进阶篇
数据库·mysql·oracle
数厘1 小时前
2.12 sql 数据插入(INSERT INTO)
数据库·sql·oracle
曹牧14 小时前
PL/SQL:xml数据
oracle
架构师老Y16 小时前
013、数据库性能优化:索引、查询与连接池
数据库·python·oracle·性能优化·架构
Leon-Ning Liu17 小时前
Oracle 26ai新特性:时区、表空间、审计方面的新特性
数据库·oracle
Yushan Bai18 小时前
ORACLE数据库在进行DROP TABLE时失败报错ORA-00604问题的分析处理
数据库·oracle
XDHCOM21 小时前
ORA-31215: DBMS_LDAP PL/SQL无效LDAP修改值,Oracle报错故障修复与远程处理方案,快速解决连接配置难题
数据库·sql·oracle
betazhou1 天前
记一次Oracle REDO在线日志损坏故障修复
数据库·oracle·redo·ora-00600