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

普通表在线重定义为分区表

普通表在线转换成分区表示例 

源表表结构如下
CREATE TABLE  EDC_SEPERATOR
(
  SEPERATOR_ID   NUMBER(15) NOT NULL,
  EQUIPMENTINFO  NVARCHAR2(20),
  RECORD         NVARCHAR2(50),
  TITLE          NVARCHAR2(50),
  ID             NVARCHAR2(50),
  TESTDATE       NVARCHAR2(50),
  TESTTIME       VARCHAR2(50 BYTE),
  COMT           NVARCHAR2(50),
  OPERATOR       NVARCHAR2(50),
  CLASSIFIC      NVARCHAR2(50),
  BIN            NVARCHAR2(50),
  UOC            NVARCHAR2(50),
  ISC            NVARCHAR2(50),
  RSERIEC        NVARCHAR2(50),
  RSH            NVARCHAR2(50),
  FF             NVARCHAR2(50),
  ETA            NVARCHAR2(50),
  IREV2          NVARCHAR2(50),
  TCELL          NVARCHAR2(50),
  TMONICELL      NVARCHAR2(50),
  INSOL          NVARCHAR2(50),
  UMPP           NVARCHAR2(50),
  IMPP           NVARCHAR2(50),
  PMPP           NVARCHAR2(50),
  JSC            NVARCHAR2(50),
  ENTITY_RRN     NUMBER(15),
  SORTER_SEQ     NUMBER(15),
  IMPORTTIME     DATE,
  DBIMPORTTIME   DATE
)

在源表上面建立索引
CREATE INDEX  INDX_EDC_SEPERATOR ON  EDC_SEPERATOR(IMPORTTIME);
CREATE INDEX  INDX3_EDC_SEPERATOR ON  EDC_SEPERATOR(COMT);

开始在线重定义源表
如果有主键,基于主键重定义
BEGIN
  DBMS_REDEFINITION.CAN_REDEF_TABLE('AHERN', 'EDC_SEPERATOR');
END;
/
没有主键,基于 row_id 重定义
BEGIN
  DBMS_REDEFINITION.CAN_REDEF_TABLE('AHERN',
                                    'EDC_SEPERATOR',
                                    DBMS_REDEFINITION.CONS_USE_ROWID);
END;
/

首先创建重定义需要的中间表

注意:中间表创建为与源表表结构一致的分区表,以时间字段IMPORTTIME分区键,按月自动分区。
CREATE TABLE  TMP_P
(
  SEPERATOR_ID   NUMBER(15) NOT NULL,
  EQUIPMENTINFO  NVARCHAR2(20),
  RECORD         NVARCHAR2(50),
  TITLE          NVARCHAR2(50),
  ID             NVARCHAR2(50),
  TESTDATE       NVARCHAR2(50),
  TESTTIME       VARCHAR2(50 BYTE),
  COMT           NVARCHAR2(50),
  OPERATOR       NVARCHAR2(50),
  CLASSIFIC      NVARCHAR2(50),
  BIN            NVARCHAR2(50),
  UOC            NVARCHAR2(50),
  ISC            NVARCHAR2(50),
  RSERIEC        NVARCHAR2(50),
  RSH            NVARCHAR2(50),
  FF             NVARCHAR2(50),
  ETA            NVARCHAR2(50),
  IREV2          NVARCHAR2(50),
  TCELL          NVARCHAR2(50),
  TMONICELL      NVARCHAR2(50),
  INSOL          NVARCHAR2(50),
  UMPP           NVARCHAR2(50),
  IMPP           NVARCHAR2(50),
  PMPP           NVARCHAR2(50),
  JSC            NVARCHAR2(50),
  ENTITY_RRN     NUMBER(15),
  SORTER_SEQ     NUMBER(15),
  IMPORTTIME     DATE,
  DBIMPORTTIME   DATE
)
PARTITION BY RANGE (IMPORTTIME)
INTERVAL (NUMTOYMINTERVAL(1,'MONTH'))
(
   PARTITION P1 VALUES LESS THAN (to_date('20180101','YYYYMMDD'))
)  TABLESPACE USERS

开始在线重定义
BEGIN
  DBMS_REDEFINITION.START_REDEF_TABLE('AHERN',
                                      'EDC_SEPERATOR',
                                      'TMP_P',
                                      NULL,
                                      2);
END;
/

在线同步
BEGIN
  DBMS_REDEFINITION.SYNC_INTERIM_TABLE('AHERN', 'EDC_SEPERATOR', 'TMP_P');
END;
/

中间表创建索引
CREATE INDEX  INDX_P_SEPERATOR ON  TMP_P(IMPORTTIME);
CREATE INDEX  INDX3_P_SEPERATOR ON  TMP_P (COMT);

完成重定义
BEGIN
  DBMS_REDEFINITION.FINISH_REDEF_TABLE('AHERN', 'EDC_SEPERATOR', 'TMP_P');
END;
/

删除中间表
DROP TABLE tmp_p;

检查是否已经分区
SELECT TABLE_NAME, PARTITIONED
  FROM DBA_TABLES
 WHERE TABLE_NAME = 'EDC_SEPERATOR';

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

相关文章:

  • 自动驾驶场景下TCP协议参数优化调整案例分享
  • 奇思妙想:多头RAG
  • H323 截包分析辅流问题
  • 低成本和颜值兼顾的 HomeLab 设备:HPE MicroServer Gen10(二)
  • 面试题:ArrayList和LinkedList的区别
  • 【王树森】深度强化学习(DRL)学习笔记
  • LLM应用实战:当图谱问答(KBQA)集成大模型(三)
  • Django框架中Ajax GET与POST请求的实战应用
  • web前端怎么挣钱, 提升技能,拓宽就业渠道
  • 基于Python的信号处理(包络谱,低通、高通、带通滤波,初级特征提取,机器学习,短时傅里叶变换)及轴承故障诊断探索
  • 大型语言模型智能体(LLM Agent)在实际使用的五大问题
  • C语言内存管理
  • AD24设计步骤
  • 基于MBD的大飞机模块化广域协同研制
  • 鸿蒙轻内核M核源码分析系列二十 Newlib C
  • 力扣1818.绝对差值和
  • 矩阵练习2
  • 2024海南省大数据教师培训-Hadoop集群部署
  • 力扣算法题:将数字变为0的操作次数--多语言实现
  • vue前段处理时间格式,设置开始时间为00:00:00,设置结束时间为23:59:59
  • Java 8 新特性全面解读
  • JavaScript知识之函数
  • 【Pepper机器人开发与应用】一、Pepper SDK for LabVIEW下载与安装教程
  • HCIP-AI EI 认证课程大纲
  • @Test注解方法,方法无法执行
  • golang函数
  • ubuntu上存在多个版本python,根据需要选择你想使用的python版本
  • idea 常用插件推荐
  • 训练大模型自动在RAG和记忆间选择
  • 抖店没人做了?不是项目不行了,而是商家们都换思路去玩了