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

相关推荐
alpha xu18 小时前
Qwen智能体qwen_agent与Assistant功能初探
数据库·人工智能·python·oracle·智能体·千问agent
文牧之20 小时前
Oracle 通过 ROWID 批量更新表
运维·数据库·oracle
Bing@DBA21 小时前
Oracle 19c 静默安装
数据库·oracle
听雪楼主.1 天前
Oracle adg环境下调整redo日志组以及standby日志组大小
oracle·adg
消失在人海中1 天前
oracle 会话管理
数据库·oracle
小Tomkk2 天前
2025年5月15日前 免费考试了! Oracle AI 矢量搜索专业认证
数据库·人工智能·oracle
菲兹园长2 天前
MySql(基础)
数据库·mysql·oracle
潇湘秦2 天前
Oracle非归档模式遇到文件损坏怎么办?
数据库·oracle
杨云龙UP2 天前
SQL Server 中的 GO 及其与其他数据库的对比
数据库·sql·mysql·oracle·sqlserver
程序员小董2 天前
关于甲骨文(oracle cloud)丢失MFA的解决方案
oracle·mfa·甲骨文·免费账号