自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 golang 连接oracle密码中带有特殊字符导致连接失败

golang 连接oracle密码中带有特殊字符导致连接失败

2022-10-27 17:01:50 1356

原创 【golang转存mysql表】

go lang 连接mysql 转存数据

2022-06-22 16:33:21 251

原创 分析无主键表再做优化

背景新接手一项目,需要优化表,首先表中存在一些无主键的表,不确认是否用到了自增id做主键。需求:1.把id是主键的表字段存一文件中 这部分表不需要改动,只是记录就好,但如果只是id为主键但不bigint的后续也需要改。2.把存在主键 但不是id的表字段单独存在一文件中,后续需要做优化。3.没有主键的也存在一文件中,这部分优先处理。思路:首先想到的是information_schema.tables 和 columns关联 可以查出第一列信息(一般主键id都放在第一列 也存在例外)第一步先把表中

2021-06-11 13:41:37 183 2

原创 验证oracle数据与mysql数据同步的一致性

背景在之前搭建了databus 用于oracle数据同步到mysql,同时也用了otter+canal 用于mysql数据同步到oracle,之前也写过监控databus和验证数据的脚本,但也只是验证,真正邮件收到不一致的数据后需要来做修复。所以验证数据的脚本产生了。思路产生不一致的数据无非是mysql端或oracle端或多或少数据,我们只按照id来进行比对就好(每5000个id对比一次),通过set去重,最终结果输出到文本中。代码读取配制文件中的表名,将查到的结果存入set,用mysql ora

2021-05-08 16:41:43 545

原创 监控databus脚本

背景如上一文档本文主要是监控databus同步数据的延迟问题,和其运行端口的监控。引用模块代码如下:import cx_Oracleimport reimport requestsimport json由于我们调用企业微信发信息这块代码先忽略,如果不涉及信息提醒可以直接用print()打出如下:def msg(text): --modify by yourself print(text)根据记录的最大txn和client记录的txn比对超过500个事务报警:def selec

2021-04-27 10:41:32 186 1

原创 检验oracle与mysql库表数据发送邮件

背景:由于我们的环境使用otter,将mysql数据同步到oracle ,也有databus,将oracle数据同步到mysql ,所以需要写监控数据延迟和比对数据一致性,先写数据一致性比对脚本。这个是初版,后续可以加上不一致的数据用相应颜色显示等等。引用工具:cx-Oracle 8.1.0PyMySQL 1.0.2requests 2.25.1我们使用的python3.9 所以装cx-oracle时候一定要安装相应的版本。cx_Oracle-8.1.0-cp39-cp39-man

2021-04-27 10:24:14 114

原创 读取excel内容加到mysql表字段注释

研发组需要同步表数据,但维护表结构注释是记录在Excel中,同步10几张表,字段注释几百行,手动加太麻烦,同时也防止后续再加,所以写了如下脚本。脚本功能是读excel内容,第一列是表名/字段名 ,第二列是描述,第三列是demo (可以忽略)将字段注释使用alter table的方式加上。1.先引用包 我们用的openpyxl ,调试中用到了pdb 连接数据库用的是pymysqlimport openpyxlimport osimport pymysqlimport pdbhostnam

2021-04-07 09:33:38 288 1

原创 databus搭建文档记录

最近公司因需要同步oracle数据到mysql ,调研了Datax 对于大数据量的同步代价有些大。开源的databus 需要对源码做二次开发,才可以使用,前期我们搭建后,用自带的person表做了测试。确认可行后研发更改了源码。准备工作:1.配制gradle 和 java2.ojdbc6-11.2.0.2.0.jar放到如下目录:databus-master/sandbox-repo/com/oracle/ojdbc6/11.2.0.2.0/更改defaultEnvironment.gradl

2021-03-18 10:49:42 543

原创 mysql导出数据写入文本转成excel文档

由于导出的数据量太大 预估可能需要百万行,用工具导几w行已是瓶颈,所以用sql查出数据 写入文本,再用Python写入excel。select path ,size,createtime into outfile 'alldata.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' from pusher_2_days where createtime > '2016-01-1

2021-02-19 09:34:52 130

转载 结构化数组

可以将结构化数据类型视为具有一定长度的字节序列(结构的项目大小),该字节序列被解释为字段的集合。每个字段在结构中都有一个名称,一个数据类型和一个字节偏移量。– dtype(fieldname, datatype, shape)1.元组列表,每个字段一个元组np.dtype([(‘x’,‘f4’),(‘y’,np.float32),(‘z’,‘f4’,(2,2))])dtype([(‘x’, ‘<f4’), (‘y’, ‘<f4’), (‘z’, ‘<f4’, (2, 2))]

2020-12-16 20:34:43 207

转载 numpy 入门

– 生成0-9数组a=np.arange(10)aarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])– numpy 去重 去重的下标a=np.array([11,11,12,13,14,15,16,17,12,13,14,15,18,19,20])aarray([11, 11, 12, 13, 14, 15, 16, 17, 12, 13, 14, 15, 18, 19, 20])unique_value=np.unique(a)uniqu

2020-12-15 18:29:10 108

转载 numpy genfromtxt使用笔记

import numpy as npnp.indices((m,n)) 生成m*n矩阵 数值为0-m,0-n–官网https://numpy.org/doc/stable/user/basics.io.genfromtxt.htmlgenfromtxt运行两个主循环。第一个循环以字符串序列转换文件的每一行。第二个循环将每个字符串转换为适当的数据类型。此机制比单循环慢,但具有更大的灵活性。–行拆分为列 delimiter 可以指定分隔符 宽度 None(多空格视为一个) 不会删除各个条目

2020-12-14 20:18:04 912

原创 ImportError: libtk8.5.so: cannot open shared object file: No such file or direct

在引用turtle模块时 报错import turtleTraceback (most recent call last):File “”, line 1, in File “/usr/local/lib/python3.6/turtle.py”, line 107, in import tkinter as TKFile “/usr/local/lib/python3.6/tkinter/init.py”, line 36, in import _tkinter # If this fa

2020-11-04 20:02:51 2325

原创 验证数据表的一致性

@ (python验证数据表的一致性)用到的模块pymysql --第三方 需要安装configparser背景由于表之间没有使用外键,最近出现一些异常数据,需要把没有关联到的数据整理出来。设计思路如下:使用配制文件读取DB连接信息;创建配置表 记录主子表名和关联字段,另外记录当前执行的id,避免每次都要重新关联;创建结果表记录异常数据;config$ cat config.cnf[default]host=192.68.4.40user=usernamepassword=

2020-11-03 16:41:47 329

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除