Python
利用Python简化Oracle,MySQL管理
robinson1988
本人精通SQL,精通所有关系型数据库SQL调优,精通所有关系型数据库性能优化,精通所有关系型数据库架构,精通分库分表,熟悉大数据Hadoop,Hive,Spark,Flume,Kafka,Flink,熟悉各种ETL工具,熟悉Python,Java,C
展开
-
利用Python将Oracle表中的数据抽到PostgreSQL
import cx_Oracleimport psycopg2import osimport timefrom io import StringIOimport pandas as pd#说明:本脚本用于将Oracle数据迁移到PG#注意:源表与目标表字段数量必须一致os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' #设置字符集为UTF8,防止中文乱码source_db = cx_Oracle.connect.原创 2021-05-21 22:40:45 · 936 阅读 · 1 评论 -
MySQL8.0.19 MGR MySQL router MySQL connector failover 组合实现高可用
在MySQL5.7之前,本人一直是很排斥MySQL的,因为MySQL的半同步并不能100%保证主从数据一致性,MHA架构也不能100%保证主从数据一致性,一个连数据一致性都不能保证的数据库我肯定是不会像学Oracle那样化大量时间去学习。MySQL5.7 MGR技术的出现,MySQL8.0对分析函数的支持,对内连接等值访问HASH JOIN 算法的支持等等新特征,让我看到MySQL要脱胎换骨了,这也终于让我有兴趣学习MySQL了,今天先配置MySQL MGR 3节点单主模式的集群,然后利用MySQL rou原创 2020-06-05 20:10:35 · 1174 阅读 · 0 评论 -
利用Python多进程并行执行加快MySQL批量UPDATE执行速度
现在有个表tmysql> desc t;+----------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------------+--------------+------+-----+---------+----------------+| owner原创 2020-05-29 15:58:16 · 2780 阅读 · 2 评论 -
利用Python解析MySQL BINLOG从而回滚UPDATE和DELETE误操作
MySQL没有Oracle的闪回(flashback)功能,如果不小心执行了UPDATE或者DELETE误操作,想要回滚相比Oracle还是挺麻烦的可以利用mysqlbinlog工具解析binlog,从而拼接出UPDATE和DELETE的回滚语句,人工拼接比较麻烦,所以利用Python来拼接import ioimport pymysqldef processUPDATE(db_name,table_name): conn = pymysql.connect("192.168.56.10",原创 2020-05-24 23:38:09 · 1185 阅读 · 0 评论 -
利用Python监控MySQL当前跑的TOP SESSION
利用ps命令抓出MySQL PID,根据PID再监控每个线程CPU使用率以及跑的SQL语句import pymysqlimport osimport timeos.environ['NLS_LANG']='SIMPLIFIED CHINESE_CHINA.UTF8'command="ps -ef | grep 3306 | grep -v grep | awk '{print $2}'"with os.popen(command, "r") as pid: pid = str(int(pi原创 2020-05-18 17:16:33 · 811 阅读 · 0 评论 -
利用Python监控Oracle当前跑的TOP SESSION
因为要使用Python经常连接到Oracle获取SQL_ID以及SQL语句,会话频繁连接,断开会引起Oracle服务器性能严重下降所以利用Python监控Oracle的时候,要先在Oracle配置连接池(DRCP)begin dbms_connection_pool.configure_pool(pool_name => 'sys_default_connection_pool', mi原创 2020-05-17 12:44:15 · 1561 阅读 · 0 评论 -
利用Python发送QQ邮件
发送QQ邮件之前,要先开启QQ邮箱IMAP/SMTP服务,并且记住授权码import smtplibfrom email.mime.text import MIMETextmail_sender='你的qq号@qq.com' #发送方邮箱mail_code='你的授权码' #授权码mail_receivers='你的qq号@qq.com' #邮件接收方subject='测试Python发邮件' #主题content='测试Pyt原创 2020-05-14 22:58:36 · 623 阅读 · 0 评论 -
利用Python将EXCEL,CSV,TSV导入Oracle或者MySQL
虽然可以用Kettle等ETL工具将EXCEL,CSV,TSV等格式的文件导入Oracle或者MySQL,但是还是觉得写点代码心里踏实些import cx_Oracleimport pymysqlimport pandasimport osimport timeos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'target_db_type='MySQL'原创 2020-05-14 01:32:18 · 1617 阅读 · 0 评论 -
利用Python将数据库查询结果导出为EXCEL,CSV,TSV格式(性能比Kettle高接近1倍)
虽然可以用Kettle等ETL工具将数据库查询结果导出为CSV格式,但是感觉很麻烦,我们还是用Python来做吧import cx_Oracle #导入连接Oracle模块import os #导入os模块import csv #原创 2020-05-10 21:20:29 · 2024 阅读 · 0 评论 -
利用Python脚本实现Oracle与MySQL之间数据迁移
虽然可以用kettle等ETL工具来做数据迁移,但是现在Python很流行,Python编码也特简单,所以就写个Python脚本来实现数据迁移import cx_Oracleimport osimport time#说明:本脚本可以将一台Oracle服务器的表迁移到另外一台Oracle服务器#注意:从Oracle迁移到Mysql或者从MySQL迁移到Oracle你们自己改一下conn...原创 2020-05-03 19:23:52 · 2444 阅读 · 0 评论