❶ 如何检查oracle数据库性能
这种问题要回答好要求知识比较全面。
1 从操作系统层次上看
看CPU 内存 swqp(交换分区)等使用率
2 从磁盘版上看
主要看磁盘读写。可以用dd测磁盘读写的速度 也可以在业务高峰期检测磁盘的速率。
3 从数据库本身来看。
先要看数据库各个参数的值 。 如sga的大小,process的大小,redo日志的个数与大小等这些关系到性能的参数是否设置合理。
长期观察的方式就是看各个时期的AWR报告。里面有各种性能指标,以及按执行时间或资源排列的sql ,以及各种等待时间的排名。从权这里面可以掌握数据库的长期的性能变化。
即时观察的方式就是利用各种sql 查询 数据库在当前时间的各个性能指标(AWR报告里面的各种指标也都是通过sql查询出来的)
还有对数据库整体的一个检查:
如 表的大小,表是否需要分区而没有分区,索引是否创建,索引是否失效,开发人员写的sql是否正确使用到了索引,频繁使用的sql是否有绑定变量,有频繁大批量增删改的表是否存在高水位。。。
额 总之,这个话题涉及的知识非常多,尽可能多的学习一些东西,祝你好运。
❷ 如何利用percona-toolkit工具检查MySQL数据库主从一致性以及修复
pt-table-checksum在MASTER上校验指定库、表,将结果存在一个库表里,复制进程将检验sql传递到slave上再执行一次。通过比较M/S的检验值确定数据是否一致。利用主从复制做检验,不需要在检验期间对主从数据库同时锁表,可以控制校验的数据和速度,不影响到正常服务。
安装:
#依赖包yum –y perl-DBI perl-DBD-MySQL perl-TermReadKey#percona-toolkit包wget http://www.percona.com/downloads/percona-toolkit/LATEST/percona-toolkit-2.2.4.tar.gztar xzvf percona-toolkit-2.2.4.tar.gz ; cd percona-toolkit-2.2.4 ; perl Makefile.pl && make && make install
使用方法:
pt-table-checksum [OPTIONS] [DSN]
pt-table-checksum:在主<M>上通过执行校验的查询对复制的一致性进行检查,对比主从的校验值,从而产生结果。DSN指向的是主的地址,该工具的退出状态不为零,如果发现有任何差别,或者如果出现任何警告或错误,更多信息请见官网。
不指定任何参数,会直接对本地的所有数据库的表进行检查。
pt-table-checksum –S /tmp/mysqld.sock u=root,p=123456
环境:
#主库:mysql> select * from t1;+----+------+| id | name |+----+------+| 1 | aa || 2 | bb || 3 | cc || 4 | dd || 5 | ee |+----+------+5 rows in set (0.00 sec)#从库:mysql> select * from t1;+----+------+| id | name |+----+------+| 1 | aa || 2 | bb || 3 | cc || 4 | dd |+----+------+4 rows in set (0.00 sec)
注意: