、准备工作:

检查Perl

[root@namenode ~]# rpm-qa perl-DBD-MySQL*

perl-DBD-MySQL-4.013-3.el6.x86_64

这个代表已经安装,如果没有安装

yum install perl-DBD-MySQL*

下载

https://github.com/noodba/myawr

也可以用我提供的(我提供的修改过)下面几个文件。

说明

提到的文件在linux下用vi编辑,如果在windows下用nodepad++这样的编辑。

 

安装调试

我将授权注释了,因为在本地授权失败。推荐我这样做,手工执行建库。

然后vi 这个myawr.sql  增加use myawr,并且注释前面的建库和授权。

复制myawr.sql

4个文件放到mysql的服务器上。

执行myawr.sql

-rwxr-xr-x  1 root root   544 Jun 26 11:10t.sh

[root@namenode backups]# mysql -u root -p1< /data/backups/myawr.sql

Warning: Using a password on the commandline interface can be insecure.

[root@namenode backups]#

执行完毕。检查一下是不是都有如下表了。

 

调用awr

 

[root@namenodebackups]# perl myawr.pl -u root -p 1 -P 3306 -lhlocalhost -I 136 -i 600 -d sda1 -TP 3306 -tu root -tp 1 -th localhost

                                       DBD::mysql::dbdo failed: You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version for the right syntax to use near',"/dev/sda1", 291, 39,  14,"/boot" , "2015-07-01 14:12:48

")' at line 1at myawr.pl line 735.

说明:我执行的时候出这个错。但是我手动带入值执行确实成功的。这个问题没研究出来,无奈之下将这句注释。

perl myawr.pl -u root -p 1 -P 3306 -lhlocalhost -I 136 -i 600 -d sda1 -TP 3306 -tu root -tp 1 -th localhost

执行成功!

以上这些参数是:

-h,--help           Print Help Info.

   -i,--interval       Time(second) Interval(default 1). 

   -d,--disk           Disk Info(can't be null,defaultsda1).

   -n,--net            Net  Info(default eth0).

   -P,--port           Port number to use for local mysqlconnection(default 3306).

   -u,--user           user name for local mysql(defaultuser).

   -p,--pswd           user password for local mysql(can'tbe null).

   -lh,--lhost         localhost(ip) for mysql where info isgot(can't be null).

   -TP,--tport         Port number to use formysql where infois saved (default 3306)

   -tu,--tuser         user name for  mysql where info is saved(default user).

   -tp,--pswd          user password for mysql where info issaved(can't be null).

   -th,--thost         host(ip) for mysql where info issaved(can't be null).

   -I,--tid            db instance register id(can't benull,Reference myawr_host.id)

 

生成报告

开始执行 

[root@namenode backups]#  perl myawrrpt.pl -u root -p 1 -P 3306 -lhlocalhost -I 136

后面就和OracleAWR报告一样了。

文件

 

myawr.Sql放到计划任务里面去,时间间隔自定义。

12-14 14:00