一、巡检脚本简介
二、巡检脚本特点
三、巡检结果展示
1、Oracle数据库
2、MySQL数据库
3、SQL Server数据库
4、PG数据库
5、达梦数据库
6、TiDB数据库
7、openGauss数据库
8、DB2数据库
9、OceanBase数据库
10、OS信息
四、脚本运行方式
1、Oracle数据库
2、MySQL数据库
3、SQL Server数据库
3.1、命令行方式
3.2、SSMS图形界面
4、PG数据库
5、达梦数据库
6、TiDB数据库
7、openGauss数据库
8、DB2数据库
9、OceanBase数据库
10、OS信息
五、其它问题
六、软件著作权登记证书
七、版本重大更新历史
八、购买方式
该套数据库巡检脚本为纯SQL脚本开发,如下所示:
1、可以巡检
Oracle、MySQL、SQL Server、PostgreSQL、OceanBase、TiDB、openGauss、DB2和国产达梦
等9个数据库,也可以巡检Linux操作系统(后续会免费逐步增加MongoDB、PolarDB、TDSQL、GBase、人大金仓等数据库) 2、脚本为绿色版、免安装、纯SQL文本 3、跨平台,只要有SQL*Plus(Oracle)、mysql(MySQL、TiDB、OceanBase)、MSSQL客户端(SSMS、Navicat皆可)、psql(PG、openGauss)、gisql(国产达梦)、gsql(openGauss)、db2(DB2数据库)、obclient(OceanBase)环境即可运行脚本 4、脚本内容可视化,可以看到脚本内容,因此可供学习数据库使用 5、兼容Oracle 10g、11g、12c、18c、19c、20c、21c等高版本Oracle数据库 6、对Oracle 10g、11g、12c、18c、19c、20c、21c等版本分别提供了只读版(只对数据库查询,不做DDL和DML操作) 7、MySQL最低支持5.5版本 8、SQL Server最低支持2005版本 9、增删监控项非常方便,只需要提供相关SQL即可 10、一次购买,所有脚本终身免费升级 11、检查内容非常全面 12、针对每种数据库,只有1个SQL脚本,不存在嵌套调用脚本等其它问题 13、最终生成html文件格式的健康检查结果 14、Oracle数据库对巡检结果进行过滤,列出了数据库有问题的内容 15、对OS的信息提供了收集(单独脚本)
这里只列出部分结果,其它的详细内容可以参考:https://share.weiyun.com/5lb2U2M
鼠标经过相关连接时会有相应的解释,如下图所示:
该脚本检查的内容较多,所以我对结果进行了过滤,如下:
点击链接即可查看结果:
数据库基本信息一目了然:
其它不再列举。
其它不再列举。
其它不再列举。
其它不再列举。
其它不再列举。
其它不再列举。
其它不再列举。
其它不再列举。
其它不再列举。
只要有sqlplus的客户端即可。
为了防止乱码,需要先配置环境变量。
# Linux环境设置
export LANG=en_US.GB2312
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
# Windows环境配置
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
服务器端直接运行:
sqlplus / as sysdba @DB_Oracle_HC_lhr_v7.0.0_12c.sql
sqlplus客户端运行:
sqlplus sys/lhr@192.168.59.130:1521/orcl as sysdba @DB_Oracle_HC_lhr_v7.0.0_12c.sql
只要有mysql客户端即可,使用MariaDB的客户端也可以,如下:
mysql -uroot -plhr -P3306 -s -f < DB_MySQL_HC_lhr_v7.0.0.sql > lhr_mysql_check.html
脚本DB_MSSQL_HC_lhr_v7.0.0_2005.sql和DB_MSSQL_HC_lhr_v7.0.0_2008R2.sql是SQL Server脚本,存在部分DDL和DML操作,执行后会产生SQL Server的健康检查html报告。脚本DB_MSSQL_HC_lhr_v7.0.0_2005.sql最低支持2005版本,而脚本DB_MSSQL_HC_lhr_v7.0.0_2008R2.sql最低支持2008R2版本。
-- 在本机直接运行
sqlcmd -d tempdb -y 0 -m 1 -i D:\DB_MSSQL_HC_lhr_v7.0.0_2008R2.sql -o D:\MSSQL_CHECK_LHR_20210914.html
-- 远程运行
sqlcmd -S 192.168.1.28 -U sa -P lhr -d tempdb -y 0 -m 1 -i D:\DB_MSSQL_HC_lhr_v7.0.0_2008R2.sql -o D:\MSSQL_CHECK_LHR_20210914.html
需要使用SQL Server Management Studio (SSMS)或Navicat for SQLServer客户端软件,直接运行脚本,然后将输出结果保存为html文件即可。
需要有psql客户端,运行方式如下:
psql -U postgres -h 192.168.66.35 -p 54324 -d postgres -W -H -f D:\DB_PG_HC_lhr_v7.0.0.sql > d:\a.html
输入密码,回车即可。
注意: 1、该脚本的字符集为utf8,请使用utf8格式打开该文件。
在Windows下运行:
disql -S SYSDBA/SYSDBA@192.168.1.35 `d:\DB_DM_HC_lhr_v7.0.0.sql
在Linux下运行:
disql -S SYSDBA/SYSDBA \`/home/dmdba/DB_DM_HC_lhr_v7.0.0.sql > /dev/null
只要有mysql客户端即可,使用MariaDB的客户端也可以,如下:
mysql -uroot -plhr -P4000 -s -f < DB_MySQL_HC_lhr_v7.0.0.sql > lhr_mysql_check.html
需要有华为的gsql客户端,或PostgreSQL数据库的psql客户端都可以,运行方式如下:
若是openGauss或华为的GaussDB数据库的gsql客户端,则执行:
gsql -U gaussdb -h 192.168.66.35 -p 15432 -d postgres -W'lhr@123XXT' -H -f D:\DB_openGauss_HC_lhr_v7.0.0.sql > d:\a.html
若是PostgreSQL数据库的psql客户端,则执行:
psql -U gaussdb -h 192.168.66.35 -p 54324 -d postgres -W -H -f D:\DB_openGauss_HC_lhr_v7.0.0.sql > d:\a.html
psql需要输入密码,回车即可。
注意:
1、该脚本的字符集为utf8,请使用utf8格式打开该文件。
2、建议使用omm用户在服务器本地跑脚本。
需要有db2数据库客户端,运行方式如下:
① 客户端在Windows平台,连接到本地db2数据库:
db2cmd
db2 connect to lhrdb && db2 -txf D:\DB_DB2_HC_lhr_v7.0.0.sql > d:\lhr_db2_health_check.html
② 客户端在Linux平台,连接到本地db2数据库:
db2 connect to lhrdb; db2 -txf DB_DB2_HC_lhr_v7.0.0.sql > lhr_db2_health_check_`date +'%Y%m%d%H%M%S'`.html
③ 客户端在Windows平台,需要连接到远程的linux服务器:
db2cmd
db2 connect to test user db2inst1 using lhr && db2 -txf D:\DB_DB2_HC_lhr_v7.0.0.sql > D:\lhr_db2_health_check.html
注意:
1、建议直接在服务端运行,因为个别巡检命令只支持在服务端运行。
2、该脚本只能对当前的数据库进行检测,若需要检查其它数据库,请重新跑脚本,并修改连接到的数据库名称,例如:db2 connect to test
;
有mysql客户端或者obclient都可以,如下:
-- 使用obclient客户端
obclient -uroot@sys#obdemo -p -h192.168.66.35 -P2883 -f --silent < DB_OceanBase_HC_lhr_v7.0.0.sql > lhr_OceanBase_check.html
-- 使用mysql客户端
mysql -uroot@sys#obdemo -p -h192.168.66.35 -P2883 -f --silent < DB_OceanBase_HC_lhr_v7.0.0.sql > lhr_OceanBase_check.html
操作系统信息的收集是perl脚本,运行方式如下所示。
[root@OCPLHR lhr]# ll
total 28
-rw-r--r-- 1 oracle oinstall 25791 Jul 10 17:15 DB_OS_HC_lhr_v7.0.0.pl
[root@OCPLHR lhr]# perl DB_OS_HC_lhr_v7.0.0.pl
[root@OCPLHR lhr]# ll
total 56
-rw-r--r-- 1 oracle oinstall 25791 Jul 10 17:15 DB_OS_HC_lhr_v7.0.0.pl
-rw-r--r-- 1 root root 26289 Jul 10 17:19 LHR_OSCHECK_REPORT_OCPLHR_20190710171939.html
[root@OCPLHR lhr]#
请看视频《小麦苗数据库健康检查脚本使用说明.wmv》或阅读《【DB健康巡检(Oracle+MySQL+MSSQL+OS)】小麦苗巡检脚本使用说明_LHR.pdf》,下载地址为:https://share.weiyun.com/5lb2U2M 。
视频观看地址:https://www.bilibili.com/video/BV1K54y1U7CE
小麦苗编写的该巡检系统已申请“中华人民共和国国家版权局计算机软件著作权登记证书”,请购买的朋友不要随意传播,否则将追究法律责任,并且收回脚本,不再提供免费更新,谢谢。
相关证书见下图:
对于小的bug更新不再此列出,直接修改脚本:
1、2015.10月推出Oracle巡检脚本,中间经过N次更新,2018.12.06更新一次,支持12c
2、2019.07.02重大更新,添加了10g、11g、12c版本的只读版本
3、2019.07.10加上了OS信息的收集
4、2019.07.12加上了对MySQL数据库的巡检
5、2019.09.24对Oracle的展示做了优化,修改了个别内容
6、2020.09.30加上了对SQL Server数据库的巡检
7、2020.12.16加上了对PostgreSQL数据库的巡检
8、2021.10.13加上了对达梦数据库的巡检
9、2021.10.18加上了对TiDB数据库的巡检
10、2021.10.23加上了对TiDB数据库的巡检
11、2021.10.29加上了对db2数据库的巡检
12、2021.10.31加上了对OceanBase数据库的巡检,并且去掉了MySQL和TiDB之前只能在Linux上运行的限制