cmake指定路径
cmake -DCMAKE_INSTALL_PREFIX=/home/tianyu/mysql-5.5[@more@]
New in Mysql 5.5
这几点看上去还是蛮有诱惑力的: p { margin-bottom: 0.21cm; }code.cjk { font-family: "DejaVu Sans",monospace; }code.ctl { font-family: "DejaVu Sans Mono",monospace; }a:link { } 1、Improved scalability on multi-core CPUs 2、InnoDBI/O subsystem changes enable more effective use of available I/O capacity. 3、The default storage engine for new tables is InnoDB rather than MyISAM. 4、Support for an interface for semisynchronous replication: A commit performed on t
SSD与Fusion IO 实测随机读写 IOPS
现在的SSD和Fusion IO,不同厂家的做法也很不一样,这里整理一些实测值供参考。单盘挂PC,SSD SLC Iops 8k 随机读16500,Iops 8k 随机写11700 SSD MLC Iops 8k 随机读7074,Iops 8k 随机写3065 Fusion IO MLC Iops 8k 随机读53000,Iops 8k 随机写14200 Fusion IO MLC Iops 16k 随机读35000。Iops 16K 随机写6600这里Fusion IO是我压测的,写在4ms的响应时间内有个高峰,估计到2000多IOPS,但随着压力增大,很快就降下来,大部分时间都在12000上波动。附上B2B一哥们的SSD测试结果,其中SLC与我们测试结果相近。一款MLC的SSD测试结果:8k ra
enqueue HW wait 引起表空间突然大量扩展
我们在10.2.0.4上遇到过好几次了,enqueue HW wait不仅堵塞了事务,表空间也一下被用了很多,后来每次都预留几十GB的空间,但事务还是被堵塞,下面说说这个WAIT。在高并发的oltp数据库,平时150多的active session,数据库的总session数会经常波动,可能从1000波动到1500或2000,几分钟后又回到1000左右。一个表同时有大量的insert或update时,会有enq HW wait。因为insert/update会请求空间,而如果HWM下的free list 用完,没有剩余的数据块时,请求段内的空数据块,高水位往上移。而每个请求都需要HW enqeue。出现排队,此时如果高水位之
prepare statement cache size influence database
调整prepare statement cache size对数据库的影响,简单的说这个statement cache设置在应用端,缓存了应用到数据库的一些sql。[@more@]关于这个参数的说明: Statement caching improves performance by caching executable statements that are used repeatedly, such as in a loop or in a method that is called repeatedly. Starting from JDBC 3.0, JDBC standards define a statement-caching interface. Statement caching can do the following: * Prevent the overhead of repeated cursor creation * Prevent repeat
加数据文件引起load上升
昨天同时说数据库的load突然飙升了一下,幸好应用没有什么异常。记得上次也是linux上添加ext3上的数据文件,把os给搞hang,怎么也ssh不进去,后来重启解决的。避免添加 datafile给数据库造成冲击的方法,一是选择业务低峰操作;二,一次添加几个文件,停几分钟,再添加其他的。用sar -B发现4:00PM 有较大的pgpgout11:00:01 AM pgpgin/s pgpgout/s fault/s majflt/s03:20:01 PM 1744.57 210.01 6474.38 0.0003:30:01 PM 1769.84 209.52 6422.80 0.0003:40:01 PM 1844.21 223.05 6708.21 0.0003:50:01 PM 1800.47 211.58 6500.01 0.0004:00:
11g卸载脚本
今天在装完11g后想卸载,从runInstaller找不到卸载的入口了。最后发现$ORACLE_HOME目录下有卸载脚本,跑完后很干净,重装很顺利。oracle确实为用户考虑了很多东西。[@more@]
oracle从10.2.0.4升级到11.2.0.1的三种升级方法
最近做了下实验,尝试oracle dataguard 从10.2.0.4升级到11.2.0.1,可以有三种升级方式。
通过user profile限制管理帐号的资源使用
通过user profile限制管理帐号的资源使用,create profile admin_user limit sessions_per_user 50 cpu_per_session unlimited cpu_per_call 3000 connect_time 30 idle_time 20 logical_reads_per_session default logical_reads_per_call 1000; alter user admin profile admin_user; alter system set resource_limit=true scope=both;每个参数的含义如下[@more@]How To Calculate The Blocks
AIX上挂NAS,有kill不掉的进程
AIX上想挂个NAS,mount命令hang在那,ctrl+c强制结束,退到命令行,ps -ef 可以看到后台进程还在跑,kill不掉。如下:dbserver:/@root>#ps -ef |grep bak root 2650184 1 0 21:10:16 pts/2 0:00 /sbin/helpers/nfsmnthelp M 0 nas-server /vx/fs01 /bak1 root 1442092 1 0 18:07:50 - 0:00 /sbin/helpers/nfsmnthelp M 0 nas-server /vx/fs01 /bak1 root 1610142 1 0 18:10:42 - 0:00 /sbin/helpers/nfsm
奇怪的ora-12154
前两天从10.2.0.4到11.2.0.1.0升级了一个库,主库升级完打开,在主库重建密码文件传到备库,备库以11g的环境变量打开升级。结果发现主库一直报这个错:Error 12154 received logging on to the standbyErrors in file /u01/diag/rdbms/test/test/trace/test_arc0_7115.trc:ORA-12154: TNS:could not resolve the connect identifier specifiedPING[ARC0]: Heartbeat failed to connect to standby 'test_stb'. Error is 12154.tnsping可以通,sqlplus 去连备库也没有问题。重启备库没有解决,临时使用脚本去做register.最终这个问题是重启
limit active sessions
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan;
测试一下11gr2的active dataguard
测试一下11gr2的active dataguard首先与原来10g一样,standby 跟上主库的归档,Media Recovery Waiting for thread 1 sequence 278 (in transit)然后在standby以只读打开后,启动日志恢复。SQL> recover managed standby database cancel;Media recovery complete.SQL> alter database open read only;Database altered.SQL> recover managed standby database disconnect using current logfile;Media recovery complete.[@more@]主库创建一个表SQL> create table t as select * from adult;Table created.SQL> select *
后台跑脚本替代crontab
crontab是个不错的东西,但他可能会在一个脚本未结束时又启动了同样的脚本。最大的问题是他每次都要读脚本、编译、然后执行。这样很耗CPU。我们可以这样替代: # main execution blockwhile (1) { runTask() sleep 60;}[@more@]在UNIX下我们常把脚本放在crontab里调用,如* * * * * /opt/application/bin/batch1.pl * * * * * /opt/application/bin/process.pl /tmp/foo * * * * * /opt/application/bin/process.pl /tmp/bar * * * * * /opt/application/bin/submit.pl crontab是个不错的东西,但他可能会在一个脚本未结束时又
BBED的使用
ningoo有两篇bbed的文章不错,按此做了下实验,也遇到了些问题至今无解。 介绍bbed: http://www.ningoo.net/html/2009/how_to_link_oracle_bbed_tools.html 查块结构:http://www.ningoo.net/html/tag/bbedbbed的使用及案例看这个:http://orafaq.com/papers/dissassembling_the_data_block.pdf[@more@]在9i/10g中连接生成bbed:cd $ORACLE_HOME/rdbms/libmake -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed在11g中生成bbed,需要先从10g中复制如下文件到相应目录,然后再执行上述连接命令:$ORACLE_HOME/rdbms/lib/ssbbded.o$ORACLE_HOME
IDENTIFIER: 864D2CE3 NIM thread blocked
#errptIDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION864D2CE3 0920030307 P S topsvcs NIM thread blocked[@more@]摘自http://zhsumin.itpub.net/post/8419/399295IBM主机2节点HA运行Oracle 10.2,OS errpt报错:NIM thread blocked错误信息:#errptIDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION864D2CE3 0920030307 P S topsvcs NIM thread blocked#]errpt -aj 864D2CE3 ---------------------------------------------------------------------------LABEL: TS_NIM_ERROR_STUCK_IDENTIFIER
online/offline 表空间和数据文件需谨慎!
1、不要想把表空间备份,然后删除再restore回来。因为删除时控制文件里不再包含表空间的信息,RMAN备份信息放在控制文件的话,也一块儿没了。RMAN backup tablespace后,drop tablespace 无法再Restore回来,必须restore database(上一次的全备)。 2、10.2的alter tablespace drop datafile 不一定有效。已经alter database datafile 72 offline drop的,不能再用。 SQL> alter database datafile '/u01/oradata/t03.dbf' offline; SQL> alter tablespace test drop datafile '/u01/oradata/t03.dbf'; alter table
mysql备份--mysqlhotcopy
mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中[@more@]摘自:http://hi.baidu.com/trunkey/blog/item/a3e4b4fa495dded9b58f3162.html我以前备份都使用mysqldump,导成文本文件便于存放,但是速度很慢的。 最快的备份方法当然是直接把数据目录copy一份了。但是一般来说,都要关闭 MySQL的服务才能做,不然在你copy的时候刚好
数据库运维工作内容
在我们团队里,DBA不是传统的数据库管理,包含OS,存储,数据库,备份软件,开发支持。包含的工作可能随时增减。 总结几个工作中的原则: /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New
分享后
前段时间跟部门分享了下存储方面的知识,虽然我们目前存储有不少,但也只有两三个人配置和规划存储。我从最基础的外观到配置、规划、性能快速讲了一遍,前后讲了一个多小时。之后一直不知道效果如何。 前天刚好有个CX700要重新划分,我给一个参加过培训但从没接触过存储的新人两套老存储看看之前的划分方法,再给个新的划分规划,然后就被他给划分好了。虽有些细节没顾及,但也不太影响,我很满意。 硬件的这些东西接触过一次,以后配置就没问题了,更多的是考虑如何根据应用来规划存储。使磁盘在合适的地方发挥最好的性能。相信