请不要用SECONDS_BEHIND_MASTER来衡量MYSQL主备的延迟时间
MySQL 本身通过 show slave status 提供了 Seconds_Behind_Master ,用于衡量主备之间的复制延迟,但是今天碰到了一个场景,发现 Seconds_Behind_Master 为 0 , 备库的 show slave status 显示 IO/SQL 线程都是正常的 ...
Kettle检查表是否存在
Kettle可以导入数据,但是如果目标表尚未创建该怎么办呢?Kettle可以使用作业先判断目标表是否存在,如果不存在,则可以执行建表语句。实验目标如下源数据库是MySQL,将MySQL的表T导入Oracle,但是一开始的时候,Oracle并没有创建该表.在MySQL数据库初始化数据创建作业他判断Oracle数据库是否存在表T,如果不存在则执...
使用remove_constants工具查看Oracle是否使用绑定变量
这个也是Tom大神写的工具。https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:1163635055580下面模拟没有绑定变量的环境,然后使用该工具查看创建实验帐号conn / as sysdbacreate user edmond identified by edmond;grant connect,resource,dba to edmond;create table t(x int);insert into ...
性能比较工具runStats_pkg
runStats_pkg是Tom大师写的一个脚本,用于比较两个语句的时间,统计数据和栓锁使用情况。脚本下载链接:https://asktom.oracle.com/pls/asktom/ASKTOM.download_file?p_file=6551378329289980701下面以edmond帐号为例,使用runStats比较绑定变量的差异首先,给edmond帐号系统表的授权。grant select on sys.v_$statname...
Kettle实现行转列
Kettle是一种开源的ETL工具行转列并不陌生http://blog.itpub.net/29254281/viewspace-775660/以上面的实验为例,用Kettle实现行转列。create table t1( studentno int, subject varchar(10), &nbs...
Kettle实现动态SQL
Kettle是一种开源的ETL工具需求:每天新建一个日志表,使用Kettle导出最新一天的数据。模拟环境如下create table tab_20140901 (id varchar(20));create table tab_20140902 (id varchar(20));create table tab_20140903 (id varchar(20));create table tab_20140904 (id varchar(20));insert into tab_20140901 val...
MySQL自动化运维之安装篇
MySQL安装一般使用RPM或者源码安装的方式。RPM安装的优点是快速,方便.缺点是不能自定义安装目录.如果需要调整数据文件和日志文件的存放位置,还需要进行一些手动调整。源码安装的优点是可以自定义安装目录,缺点是编译时间长,过程复杂其实还有一种方式,定制RPM包.它相当于用源码安装的方式定制了一个RPM包.一次打包,可以...
搭建LVS负载均衡测试环境
实现负载均衡有很多种方式土豪直接F5,性能最好,价格最贵没钱也可以使用Apache,Nginx 工作在网络的第四层,虽然性能一般,但是很灵活,比如可以将80端口映射到真实服务器的8080端口.http://blog.itpub.net/29254281/viewspace-1070221/ 还有一种选择LVS ,它工作在网络的第三层,性能较好,非常稳定....
MysqlDump根据通配符批量导出
今天又遇到一个新的问题原来有一个数据库A,要将数据库A以space开头和tmp开头的表移动到本实例的B数据库。A数据库的表create table tmp_a (a int); create table tmp_b (a int);create table tmp_c (a int);create table tmp_d (a int);create table tmp_e (a int);...
Go语言操作数据库
Go语言操作数据库非常的简单,他也有一个类似JDBC的东西"database/sql"实现类是"github.com/go-sql-driver/mysql"使用过JDBC的人应该一看就懂唯一感觉晦涩的是对时间,日期的处理,感觉不是很流畅。package mainimport ( "database/sql"&nb...
Go语言转换JSON数据
Go语言转换JSON数据真是非常的简单。以EasyUI的Demo为例,将/demo/datagrid/datagrid_data1.json 拷贝到$GOPATH/src目录JSON.go :package mainimport ( "encoding/json" ...
计算SQL执行时间
有时候需要统计SQL的执行时间,数据是可以忽略的。但是返回的数据很多,一屏一屏的,看着晃眼,而且浪费时间。Oracleset timing on;set autotrace traceonly;MySQLtime mysql -uxx -pxx -Dtest -e "select * from tab_log" > /dev/null工具的统计时间是包括网络传输的,从公司到机房的网络传输外加VPN...
MySQL使用自定义变量模拟分析函数
初始化实验结构和数据create table test( tid varchar(32) primary key, stat int not null, createtime timestamp not null);INSERT INTO test (tid,stat,createtime) VALUES ('ac55...
Go语言实现静态服务器
学习Go语言的一些感受,不一定准确。假如发生战争,JAVA一般都是充当航母战斗群的角色。一旦出动,就是护卫舰、巡洋舰、航母舰载机、预警机、电子战飞机、潜艇等等浩浩荡荡,杀将过去。(JVM,数十个JAR包,Tomcat中间件,SSH框架,各种配置文件...天生就是重量级的,专为大规模作战)而GO语言更像F35战斗轰炸机单枪匹马,悄无...
使用Oracle分析函数随机抽取N条记录
模拟一个歌曲表,有歌曲ID和作者ID并且初始化一些数据create table music( music_id int primary key, userid int);insert into music(music_id)select rownum rn from dual connect by level
使用KeepAlived搭建MySQL高可用环境
使用KeepAlived搭建MySQL的高可用环境。首先搭建MySQL的主从复制在Master开启binlog,创建复制帐号,然后在Slave输入命令change master to master_host='192.168.1.70', master_port=3306, master_user='xx', master_password='xx'; 然后使用start slave开启...
优化Oracle with全表扫描的问题(二)
http://blog.itpub.net/29254281/viewspace-1242731/尽信书不如无书Oracle的优化器也不是万能的。还是上次的SQL,开发说有时候执行时间超过3s。我又查了查执行计划,发现有全表扫描和索引快速全扫描。这个是不符合预期的。抽象问题如下:create table emp as select * from hr.employees; crea...
愿病魔早日战胜方老师
听说方滨兴老师不幸身患癌症了,啥也不说了,愿病魔早日战胜方老师。修改hosts文件世界清净了#+BEGIN#+UPDATE_TIME 2014-06-23 09:39:00#+MESSAGE######################################################################### imouto.host#...
go语言配置VIM开发环境
参考:http://wuwen.org/article/38/setup-vim-go-dev-environment.html
MySQL搭建带过滤的复制环境
单位准备新上线一些功能,这些功能和原来生产库模块的功能是没有关系的,准备新建一个数据库给它使用。但是他需要关联查询原来生产库的某些表。后来的方案就是新建一个库,从原来的生产库复制需要的那几个表过来用于关联查询。模拟如下Master模拟生产库,Slave是新建的数据库,只是从Master服务器复制表A。1.Master...