我们的zabbix 监控使用 oracle 作为存储, 因此,需要创建基于 基于时间戳的分区表,在此将操作过程记录如下

1. 创建,四个zabbix 最大的表的分区表

create table history_part
(
    "ITEMID" NUMBER(20,0) NOT NULL ENABLE,
    "CLOCK" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE,
    "VALUE" NUMBER(20,4) DEFAULT '0.0000' NOT NULL ENABLE,
    "NS" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE
)
PARTITION BY RANGE (CLOCK) INTERVAL (2592000)
(partition part_t01 values less than(1573401600));

CREATE TABLE "ZABBIX_SERVER"."HISTORY_UINT_PART"
   (    "ITEMID" NUMBER(20,0) NOT NULL ENABLE,
    "CLOCK" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE,
    "VALUE" NUMBER(20,0) DEFAULT '0' NOT NULL ENABLE,
    "NS" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE
   )
   PARTITION BY RANGE (CLOCK) INTERVAL (2592000)
(partition part_t01 values less than(1573401600));

CREATE TABLE "ZABBIX_SERVER"."TRENDS_PART"
   (    "ITEMID" NUMBER(20,0) NOT NULL ENABLE,
    "CLOCK" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE,
    "NUM" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE,
    "VALUE_MIN" NUMBER(20,4) DEFAULT '0.0000' NOT NULL ENABLE,
    "VALUE_AVG" NUMBER(20,4) DEFAULT '0.0000' NOT NULL ENABLE,
    "VALUE_MAX" NUMBER(20,4) DEFAULT '0.0000' NOT NULL ENABLE,
     PRIMARY KEY ("ITEMID", "CLOCK"))
     PARTITION BY RANGE (CLOCK) INTERVAL (2592000)
(partition part_t01 values less than(1573401600));

CREATE TABLE "ZABBIX_SERVER"."TRENDS_UINT_PART"
   (    "ITEMID" NUMBER(20,0) NOT NULL ENABLE,
    "CLOCK" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE,
    "NUM" NUMBER(10,0) DEFAULT '0' NOT NULL ENABLE,
    "VALUE_MIN" NUMBER(20,0) DEFAULT '0' NOT NULL ENABLE,
    "VALUE_AVG" NUMBER(20,0) DEFAULT '0' NOT NULL ENABLE,
    "VALUE_MAX" NUMBER(20,0) DEFAULT '0' NOT NULL ENABLE,
     PRIMARY KEY ("ITEMID", "CLOCK"))
      PARTITION BY RANGE (CLOCK) INTERVAL (2592000)
(partition part_t01 values less than(1573401600));

第二步 迁移历史数据

本地不迁移了, 如果自己迁移,注意数据不能用

insert into select 方式,这样的数据量非常大,造成回滚段被占满

第三部 分区表和原始表 采用重命名方式对调

alter table trends rename to trends_nopart;
alter table trends_uint  rename to trends_uint_nopart

alter table history rename to history_nopart;
alter table history_uint rename to history_uint_nopart

alter table trends_part rename to trends;
alter table trends_uint_part rename to trends_uint;
alter table history_part rename to history;
alter table history_uint_part rename to history_uint

第五  实际操作后,发现 还要建立history和history_uint的本地索引,删除历史数据

上面建表语句中发现,history 和history_uint 没有索引, 全表扫描,会造成 CPU 一直使用 100%, 以至于数据无法写入

创建2个表的索引:

CREATE INDEX idx_history_uint_part ON ZABBIX_SERVER.HISTORY_UINT(ITEMID, CLOCK) local;
 
  CREATE INDEX idx_history_part ON ZABBIX_SERVER.HISTORY(ITEMID, CLOCK) local;

清空历史数据
  truncate table history_nopart;
  truncate table history_uint_nopart;   
  truncate table trends_nopart;
  truncate table trends_uint_nopart;

最新文章

  1. html5拖拽事件 xhr2 实现文件上传 含进度条
  2. java并发编程学习: 原子变量(CAS)
  3. SVD java 算法实现
  4. 【232】◀▶ IDL显示地理图像
  5. Android学习笔记(十八)——再谈升级数据库
  6. Android项目的目录结构
  7. smartimageview使用与实现原理
  8. Python基础教程【读书笔记】 - 2016/7/5
  9. DNS原理及其解析过程(转)
  10. C# winform 窗体从右下角向上弹出窗口效果
  11. 2.Adding a Controller
  12. CentOS 6.4的安装--史上最全-CRPER木木
  13. vue.js学习之组件(下篇)
  14. java实现邮箱找密码
  15. 绕过校园网WEB认证_iodine实现
  16. Smobiler 4.4 更新预告 Part 2(Smobiler能让你在Visual Studio上开发APP)
  17. hdu 3037——Saving Beans
  18. linux(centos) tomcat设置开机启动
  19. split 分割 字符串(分隔符如:* ^ : | , .)
  20. Spark开发第一个程序

热门文章

  1. Codeforces 1204D2. Kirk and a Binary String (hard version) (dp思路)
  2. Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览
  3. ALSA driver--HW Buffer
  4. 任意模数 n 次剩余
  5. docker-compose介绍及部署LNMP
  6. VMware下Linux虚拟机访问本地Win共享文件夹
  7. Java开发中使用模拟接口moco响应中文时乱码
  8. Python - 用python实现split函数
  9. Python实现云服务器防止暴力密码破解
  10. tp5 rewrite nginx 配置