当前位置: 首页 > news >正文

在线重定义-操作步骤

第一步:验证表是否能被在线重定义

验证是否能按主键重定义(默认,最后一次参数可以不加)

1

2

3

4

begin

  --dbms_redefinition.can_redef_table('scott','tb_cablecheck_equipment_bak');

  dbms_redefinition.can_redef_table('scott','tb_cablecheck_equipment_bak',dbms_redefinition.cons_use_pk);

end;

验证是否能按rowid重定义:

1

2

3

4

begin

  --dbms_redefinition.can_redef_table('scott','tb_cablecheck_equipment_bak',2);

  dbms_redefinition.can_redef_table('scott','tb_cablecheck_equipment_bak',dbms_redefinition.cons_use_rowid);

end;

第二步:创建中间表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

create table scott.tb_cablecheck_equipment_bak2(

      equipment_id        NUMBER,

      equipment_code      VARCHAR2(100),

      equipment_name      VARCHAR2(500),

      area_id             NUMBER,

      address             VARCHAR2(500),

      res_type_id         VARCHAR2(10),

      res_type            VARCHAR2(20),

      manage_area_id      VARCHAR2(100),

      manage_area         VARCHAR2(100),

      management_mode     CHAR(10),

      isrelated           CHAR(1),

      staff_id            VARCHAR2(20),

      create_date         DATE,

      ischecked           CHAR(20),

      check_date          DATE,

      operate_staff       NUMBER,

      parent_area_id      NUMBER,

      grid_id             NUMBER(20),

      install_sbid        NUMBER,

      install_sbbm        VARCHAR2(100),

      install_dzbm        VARCHAR2(100),

      longitude           VARCHAR2(50),

      latitude            VARCHAR2(50),

      station_id          VARCHAR2(50),

      update_time         DATE,

      check_complete_time DATE

)

partition by range(create_date)(

      PARTITION tb_cablecheck_equipment_p1 VALUES LESS THAN (TO_DATE('2013-08-01','YYYY-MM-DD')),

      PARTITION tb_cablecheck_equipment_p2 VALUES LESS THAN(TO_DATE('2016-04-05', 'YYYY-MM-DD')),

      PARTITION tb_cablecheck_equipment_p3 VALUES LESS THAN(TO_DATE('2016-12-13', 'YYYY-MM-DD')),

      PARTITION tb_cablecheck_equipment_p4 VALUES LESS THAN(MAXVALUE)

);

第三步:开始进行重定义

1

2

3

begin

  dbms_redefinition.start_redef_table('scott','tb_cablecheck_equipment_bak','tb_cablecheck_equipment_bak2',null,2);

end;

复制依赖对象

1

2

3

4

5

6

DECLARE  

  num_errors PLS_INTEGER;  

BEGIN  

  DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS('SCOTT', 'tb_cablecheck_equipment_bak','tb_cablecheck_equipment_bak2',  

  DBMS_REDEFINITION.CONS_ORIG_PARAMS, TRUE, TRUE, TRUE, TRUE, num_errors);  

END;

第四步:同步中间表,保证数据的一致性

1

2

3

begin

dbms_redefinition.sync_interim_table('scott','tb_cablecheck_equipment_bak','tb_cablecheck_equipment_bak2');

end;

第六步:完成重定义

1

2

3

begin

dbms_redefinition.finish_redef_table('scott','tb_cablecheck_equipment_bak','tb_cablecheck_equipment_bak2');

end;

查看是否已被定义为分区表:

1

select * from tb_cablecheck_equipment_bak partition(tb_cablecheck_equipment_p1);

第七步:

1

drop table scott.tb_cablecheck_equipment_bak2;

http://www.lryc.cn/news/312399.html

相关文章:

  • 16:00面试,16:06就出来了,问的问题过于变态了。。。
  • 基于dashscope在线调用千问大模型
  • 【Python】可变数据类型 不可变数据类型 || hash
  • MySQL 篇-深入了解多表设计、多表查询
  • 【Java】Spring的ReflectionUtils类常用方法学习笔记
  • 内存函数详解
  • 事务(transaction)
  • Linux之cd、pwd、mkdir 命令
  • 【python高级编程教程】笔记(python教程、python进阶)第三节:(1)多态与鸭子类型(Polymorphism and Duck Typing)
  • 学习JAVA的第十五天(基础)
  • LVS四层负载均衡集群
  • 【pyinstaller打包记录】程序使用多进程,打包后,程序陷入死循环
  • MAC | linux | SSH 密钥验证
  • 【AI Agent系列】【MetaGPT多智能体学习】3. 开发一个简单的多智能体系统,兼看MetaGPT多智能体运行机制
  • 机器学习-面经(part7、无监督学习)
  • teknoparrot命令行启动游戏
  • 停止Tomcat服务的方式
  • 多线程相关面试题(2024大厂高频面试题系列)
  • mysql 时间精度问题
  • 基于python的爬虫原理和管理系统实现(代码下载)
  • IOS 设置UIViewController为背景半透明浮层弹窗,查看富文本图片详情
  • 网络层介绍
  • springboot/ssm酒店客房管理系统Java在线酒店预约预定平台web
  • 分布式测试插件 pytest-xdist 使用详解
  • 【S32K3 MCAL配置】-1.1-GPIO配置及其应用-点亮LED灯(基于MCAL)
  • 【软件工程】软件工程定义、软件危机以及软件生命周期
  • 24计算机考研深大经验分享(计算机专业考研综合安排)
  • 【知识整理】MySQL数据库开发设计规范
  • Vue自定义组件实现v-model
  • 【Linux】Linux网络故障排查与解决指南