使用sysbench做oltp测试
sysbench是一款开源的性能测试工具,可以对多种数据库的性能进行测试,包括用来对MySQL,ORACLE,POSTGRESQL进行性能测试。 sysbench按照指定的数量开启线程,每个线程与MySQL建立一个连接,每个线程不停地进行事务操作,打开事务,然后进行一些查询、更新、插入操作,提交事务,再开始新的事务;所有的SQL只访问一个表sbtest,是由sysbench的prepare命令建好的。其中的记录数,也是在prepare时指定好并创建的。测试结束,会有一个统计结果,包括例如每秒事务数、平均响应时间等等。下面是一个sysbench调用调用存储过程的例子:[@more@]sys
关于MySQL游标的嵌套使用
前几天群里有人问MySQL的游标能不能嵌套使用,想当然地以为不能,后来试了下,居然可以,唉,不能随便想当然啊。例子如下:[@more@]CREATE PROCEDURE curdemo() NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT ''BEGIN declare done1,done2 int default 0; declare name1,name2 varchar(20); declare id1,id2 int; declare cur1 cursor for select id,name from test1; declare continue handler for not found set done1 = 1; open cur1; repeat fetch cur1 into id1, name1; if not done1 then
MySQL多主一从的实现
大型的系统,数据库往往会根据业务逻辑分隔放在多台机上,但统计的时候又经常需要互相关联,MySQL理论上是不支持多个主库同步到一个从库上的,那么如果实现多主一从以方便统计查询呢?我试着利用MyISAM的简单文件存储的特点来实现,过程如下:[@more@] 1设置主库,启用Binlog,建议复制帐号。具体过程跟一主多从设置一样。 2设置从库,在从库使用mysqld_multi启动多库实例,每个实例对应一个主库,并分别设置好主从复制。需要注意的是,1、从库只安装MyISAM引擎,这样不管主库是用什么引擎,从库都使用MyISAM。2、从库的几个实例的数据目
MySQL断电,出现 Error 1236
今天几台MySQL服务器突然停电,重启后复制无法启动,总是报如下错误:080922 10:29:01 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000778' at position 2874108, relay log './relay-bin.003287' position: 2874245080922 10:29:01 [Note] Slave I/O thread: connected to master 'replication@192.168.0.10:3306', replication started in log 'mysql-bin.000778' at position 2874108080922 10:29:01 [ERROR] Error reading packet from server: Client requested master to start replication fro
UPDATE 时主键冲突引发的思考(链接)
http://imysql.cn/2008_06_17_sth_about_update_duplicate_key原来mysql在update时也可以order by,学习了。。[@more@]
MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
昨天修改一个表的字段,发现主从复制同步失效了,但同步进程没有出错,mysql日志也没有出错,仔细查找了一下原因,发现是新增的自增主键字段的起始值在主从库上不一致,导致按主键更新数据时无法在从库找到对应记录。事情经过如下:[@more@]表table1(主库为innodb类型,从库为MyISAM类型),有一自增主键pid,现将pid改成非自增,非主键,另外增加一自增主键。alter table table1 modify pid int not null;alter talbe table1 drop primary key;alter table table1 add aid int not null auto_increment primary key first;结果主库上表t
推荐使用innotop监控mysql
如果使用innodb存储引擎,推荐使用innotop来监控管理,详见:http://www.xaprb.com/blog/2006/07/02/innotop-mysql-innodb-monitor/如果想在windows下使用,请参照:http://www.xaprb.com/blog/2006/11/11/how-to-install-innotop-on-microsoft-windows/[@more@]
FEDERATED表的left join问题
Address 为Innodb表,AppUser 为FEDERATED表,下面的连接查询如果用INNER JOIN 就正常,用left join连接的结果Name全为null,即使有匹配的行,怀疑是mysql的bugselect a.*,b.Name from Address AS aLEFT JOIN AppUser AS b ON b.AID = a.CheckAdminIDwhere a.AID=1006948暂时解决办法:将AppUser改名AppUser1,建个视图AppUser引用AppUser1,结果正常。[@more@]
(转)Dataguard配置Step by Step
转自http://www.eygle.com/archives/2004/10/dataguard-step-by-step.html[@more@]1.主节点备份并生成备用数据库控制文件 设置主节点为force Logging模式(为了双向切换,建议备用节点也设置为force logging模式)ALTER DATABASE FORCE LOGGING;设置主节点为归档模式登陆主节点,进行数据库备份,并生成备用数据库控制文件Last login: Mon Aug 9 16:46:47 2004 from 172.16.32.65 [root@standby root]# su - oracle [oracle@standby oracle]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Mon Aug 16 10:16:
(转)提高IMP速度的几个方法
http://www.itpub.net/464648.html提高IMP速度的几个方法 这篇Tip来自于Jonathan Lewis的站点。原文链接如下:http://www.jlcomp.demon.co.uk/faq/imp_slow.html[@more@]提高IMP速度的几个方法 这篇Tip来自于Jonathan Lewis的站点。原文链接如下:http://www.jlcomp.demon.co.uk/faq/imp_slow.html为什么IMP速度慢?1。IMP作了大量的跟普通方式一样的insert2。IMP时候创建索引通常是logging的,产生了大量的undo和redo如何提高IMP的速度1。不建议使用commit参数,因为当imp失败的时候,会导致很多后续的麻烦事儿2。增大buffer参数值,以便
(转)批量绑定(bulk binds):FOR循环与FORALL的性能比较
通常在SQL语句中给PL/SQL变量赋值叫做绑定(Binding),一次绑定一个完整的集合称为批量绑定(Bulk Binding)。批量绑定(Bulk binds)可以通过减少在PL/SQL和SQL引擎之间的上下文切换(context switches )提高了性能.[@more@]批量绑定(Bulk binds)包括:(i) Input collections, use the FORALL statement,一般用来改善DML(INSERT、UPDATE和DELETE) 操作的性能(ii) Output collections, use BULK COLLECT clause,一般用来提高查询(SELECT)的性能FORALL的语法如下:FORALL index IN lower_bound..upper_bound sql_statement;下面是一个
使用 TestLink 进行测试管理
http://www-128.ibm.com/developerworks/cn/opensource/os-testlink/index.html?ca=dwcn-newsletter-opensource[@more@]
关于diag进程的问题
今天RAC的一台机突然无法执行一些大的操作了,但数据库状态正常,经检查发现,原来是本机磁盘满了。晕,还有几十G的空间,怎么会一下子就满了呢?查找后发现原来是ykrac1_diag_4529.trc文件一下子增长到了20多G,里面全是些重复的信息,看不懂。[@more@]GCS RESOURCE 0xeab368e4 hashq [0xe9b33574,0xefe3ad98] name[0xfc32d.90000] pkey 53578grant 0x5fffbf88 cvt (nil) send (nil),0 write (nil),0@65535flag 0x0 mdrole 0x1 mode 1 scan 0 role LOCALdisk: 0x0000.00000000 write: 0x0000.00000000 cnt 0x0 hist 0x0xid 0x0000.000.00