前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据库巡检】支持Oracle、MySQL、MSSQL、PG等11种数据库

【数据库巡检】支持Oracle、MySQL、MSSQL、PG等11种数据库

作者头像
小麦苗DBA宝典
发布2022-04-11 20:32:37
2.7K0
发布2022-04-11 20:32:37
举报

一、巡检脚本简介

该套数据库巡检脚本多数为纯SQL脚本开发,如下所示:

  • 目前一共包含16个脚本,若脚本的扩展名为“.sql”则表示该脚本为sql脚本;若脚本的扩展名为“.pl”则表示该脚本为perl脚本;若脚本的扩展名为“.sh”则表示该脚本为shell脚本。
  • 对于Oracle的SQL脚本而言,脚本DB_Oracle_HC_lhr_v7.0.0_10g.sql适用于Oracle 10g数据库,脚本DB_Oracle_HC_lhr_v7.0.0_11g.sql适用于Oracle 11g的数据库,脚本DB_Oracle_HC_lhr_v7.0.0_12c.sql适用于Oracle 12c及其以上版本,这3个脚本都是只读版本,这3个脚本只会对数据库做查询操作,不会做DML和DDL操作,这也是很多朋友所期待的功能。
  • 脚本DB_OS_HC_lhr_v7.0.0.pl是perl脚本,执行后会对OS的信息进行收集,并且输出到html中。脚本DB_OS_HC_lhr_v7.0.0.sh是shell脚本,执行后会对OS的信息进行收集。
  • 脚本DB_MySQL_HC_lhr_v7.0.0.sql是MySQL脚本,执行后会产生MySQL的健康检查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版本。
  • 脚本DB_PG_HC_lhr_v7.0.0.sql是PG数据库脚本,执行后会产生PostgreSQL数据库的健康检查html报告。
  • 脚本DB_GP_HC_lhr_v7.0.0.sql是Greenplum数据库脚本,执行后会产生Greenplum数据库的健康检查html报告。
  • 脚本DB_DM_HC_lhr_v7.0.0是达梦数据库脚本,执行后会产生达梦数据库的健康检查html报告。
  • 脚本DB_TiDB_HC_lhr_v7.0.0.sql是TiDB数据库脚本,执行后会产生TiDB数据库的健康检查html报告。
  • 脚本DB_openGauss_HC_lhr_v7.0.0.sql是openGauss数据库脚本,执行后会产生openGauss数据库的健康检查html报告。
  • 脚本DB_DB2_HC_lhr_v7.0.0.sql是DB2数据库脚本,执行后会产生DB2数据库的健康检查html报告。
  • 脚本DB_OceanBase_HC_lhr_v7.0.0.sql是DB2数据库脚本,执行后会产生OceanBase数据库的健康检查html报告。
  • 脚本DB_kingbase_HC_lhr_v7.0.0.sql是人大金仓数据库脚本,执行后会产生人大金仓数据库的健康检查html报告。

二、巡检脚本特点

1、可以巡检Oracle、MySQL、SQL Server、PostgreSQL、Greenplum、OceanBase、TiDB、openGauss、DB2和国产达梦、人大金仓11个数据库,也可以巡检Linux操作系统(后续会免费逐步增加MongoDB、PolarDB、TDSQL、GBase等数据库) 2、脚本为绿色版、免安装、纯SQL文本 3、跨平台,只要有SQL*Plus(Oracle)、mysql(MySQL、TiDB、OceanBase)、MSSQL客户端(SSMS、Navicat皆可)、psql(PG、Greenplum、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

1、Oracle数据库

鼠标经过相关连接时会有相应的解释,如下图所示:

该脚本检查的内容较多,所以我对结果进行了过滤,如下:

点击链接即可查看结果:

数据库基本信息一目了然:

其它不再列举。

2、MySQL数据库

其它不再列举。

3、SQL Server数据库

其它不再列举。

4、PG数据库

其它不再列举。

5、达梦数据库

其它不再列举。

6、TiDB数据库

其它不再列举。

7、openGauss数据库

其它不再列举。

8、DB2数据库

其它不再列举。

9、OceanBase数据库

10、OS信息

其它不再列举。

11、Greenplum数据库

其它不再列举。

12、人大金仓数据库

其它不再列举。

四、脚本运行方式

1、Oracle数据库

只要有sqlplus的客户端即可。

为了防止乱码,需要先配置环境变量。

代码语言:javascript
复制
# Linux环境设置
export LANG=en_US.GB2312
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

# Windows环境配置
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

服务器端直接运行:

代码语言:javascript
复制
sqlplus / as sysdba @DB_Oracle_HC_lhr_v7.0.0_12c.sql

sqlplus客户端运行:

代码语言:javascript
复制
sqlplus sys/lhr@192.168.59.130:1521/orcl as sysdba @DB_Oracle_HC_lhr_v7.0.0_12c.sql

2、MySQL数据库

只要有mysql客户端即可,使用MariaDB的客户端也可以,如下:

代码语言:javascript
复制
mysql -uroot -plhr -P3306 -s -f <  DB_MySQL_HC_lhr_v7.0.0.sql  > lhr_mysql_check.html

3、SQL Server数据库

脚本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版本。

3.1、命令行方式

代码语言:javascript
复制
-- 在本机直接运行
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

3.2、SSMS图形界面

需要使用SQL Server Management Studio (SSMS)或Navicat for SQLServer客户端软件,直接运行脚本,然后将输出结果保存为html文件即可。

4、PG数据库

需要有psql客户端,运行方式如下:

代码语言:javascript
复制
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格式打开该文件。

5、达梦数据库

在Windows下运行:

代码语言:javascript
复制
disql -S SYSDBA/SYSDBA@192.168.1.35 `d:\DB_DM_HC_lhr_v7.0.0.sql

在Linux下运行:

代码语言:javascript
复制
disql -S SYSDBA/SYSDBA \`/home/dmdba/DB_DM_HC_lhr_v7.0.0.sql > /dev/null

6、TiDB数据库

只要有mysql客户端即可,使用MariaDB的客户端也可以,如下:

代码语言:javascript
复制
mysql -uroot -plhr -P4000 -s -f <  DB_TiDB_HC_lhr_v7.0.0.sql  > lhr_mysql_check.html

7、openGauss数据库

需要有华为的gsql客户端,或PostgreSQL数据库的psql客户端都可以,运行方式如下:

若是openGauss或华为的GaussDB数据库的gsql客户端,则执行:

代码语言:javascript
复制
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客户端,则执行:

代码语言:javascript
复制
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用户在服务器本地跑脚本。

8、DB2数据库

需要有db2数据库客户端,运行方式如下:

① 客户端在Windows平台,连接到本地db2数据库:

代码语言:javascript
复制
db2cmd
db2 connect to lhrdb && db2 -txf D:\DB_DB2_HC_lhr_v7.0.0.sql >  d:\lhr_db2_health_check.html

② 客户端在Linux平台,连接到本地db2数据库:

代码语言:javascript
复制
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服务器:

代码语言:javascript
复制
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;

9、OceanBase数据库

有mysql客户端或者obclient都可以,如下:

代码语言:javascript
复制
-- 使用obclient客户端
obclient -uroot@sys -p -h192.168.66.35 -P2883  -f --silent  <  DB_OceanBase_HC_lhr_v7.0.0.sql > lhr_OceanBase_check.html

-- 使用mysql客户端
mysql -uroot@sys -p -h192.168.66.35 -P2883  -f --silent  <  DB_OceanBase_HC_lhr_v7.0.0.sql > lhr_OceanBase_check.html

10、OS信息

操作系统信息的收集是perl脚本,运行方式如下所示。

代码语言:javascript
复制
[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]# 

11、Greenplum数据库

和PostgreSQL数据库相似,需要有psql客户端,运行方式如下:

代码语言:javascript
复制
psql -U gpadmin -h 192.168.66.35 -p 64340 -d lhrgpdb -W -H -f D:\DB_GP_HC_lhr_v7.0.0.sql > d:\a.html

输入密码,回车即可。

注意: 1、该脚本的字符集为utf8,请使用utf8格式打开该文件。

12、人大金仓

和PostgreSQL数据库相似,需要有psql客户端或者有人大金仓的ksql客户端都可以,运行方式如下:

代码语言:javascript
复制
ksql -U kingbase -h 192.168.66.35 -p 54321 -d test -W -H -f D:\DB_kingbase_HC_lhr_v7.0.0.sql > d:\a.html
psql -U kingbase -h 192.168.66.35 -p 54321 -d test -W -H -f D:\DB_kingbase_HC_lhr_v7.0.0.sql > d:\a.html

输入密码,回车即可。

注意: 1、该脚本的字符集为utf8,请使用utf8格式打开该文件。

五、其它问题

请看视频《小麦苗数据库健康检查脚本使用说明.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上运行的限制

13、2022.3.8加上了对Greenplum数据库的巡检

14、2022.3.28加上了对人大金仓数据库的巡检

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、巡检脚本简介
  • 二、巡检脚本特点
  • 三、巡检结果展示
    • 1、Oracle数据库
      • 2、MySQL数据库
        • 3、SQL Server数据库
          • 4、PG数据库
            • 5、达梦数据库
              • 6、TiDB数据库
                • 7、openGauss数据库
                  • 8、DB2数据库
                    • 9、OceanBase数据库
                      • 10、OS信息
                        • 11、Greenplum数据库
                          • 12、人大金仓数据库
                          • 四、脚本运行方式
                            • 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信息
                                              • 11、Greenplum数据库
                                                • 12、人大金仓
                                                • 五、其它问题
                                                • 六、软件著作权登记证书
                                                • 七、版本重大更新历史
                                                相关产品与服务
                                                云数据库 SQL Server
                                                腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                                                领券
                                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档