zoukankan      html  css  js  c++  java
  • oracle在线重定义表

    select * from tb_cablecheck_equipment_bak e

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

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

    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, TRUETRUETRUETRUE, 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;
     
  • 相关阅读:
    【leetcode】106. Construct Binary Tree from Inorder and Postorder Traversal
    【leetcode】105. Construct Binary Tree from Preorder and Inorder Traversal
    【leetcode】236. Lowest Common Ancestor of a Binary Tree
    【leetcode】235. Lowest Common Ancestor of a Binary Search Tree
    【leetcode】352. Data Stream as Disjoint Intervals
    【leetcode】897. Increasing Order Search Tree
    【leetcode】900. RLE Iterator
    BEC listen and translation exercise 26
    BEC listen and translation exercise 25
    BEC listen and translation exercise 24
  • 原文地址:https://www.cnblogs.com/xyhero/p/56f0774929d6362ef1bb12c9cab6574e.html
Copyright © 2011-2022 走看看