小麦苗健康检查脚本有如下的特点:
1、 绿色版、免安装、纯SQL文本
2、 跨平台,只要有SQL*Plus环境即可运行
3、 兼容Oracle 10g、11g及12c版本
4、 一次购买,终身免费升级
5、 检查内容非常全面
6、 脚本可视化,可以看到脚本内容,因此可供学习使用
7、 只有1个SQL脚本,不存在嵌套调用等其它问题
8、 生成html文件的健康检查结果
9、 对结果进行过滤,列出了数据库有问题的内容
列出部分结果,其它的内容可以参考:http://blog.itpub.net/26736162/viewspace-2129512/
鼠标经过时有相应的解释,如下图所示:
该脚本检查的内容较多,所以我对结果进行了过滤,如下:
点击链接即可查看结果:
数据库基本信息一目了然:
① 首先查看系统是否支持中文环境,执行locale -a | grep zh_CN,若有zh_CN则支持中文,如果不支持则需要系统安装中文语言包,这个最好找系统管理员,如果是客户的环境,一般不让随意安装软件的,那我们就只好采用windows客户端来执行健康检查了,效果是一样的。
② 设置LANG=zh_CN
③ 设置NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
④ 设置客户端SSH软件终端界面的字符集为中文字符集,以SecureCRT为例,如下图:
XSHELL的位置:
执行过程如下:
[ZFZHLHRDB2:root]:/>locale -a | grep zh_CN
zh_CN.IBM-eucCN
zh_CN
[ZFZHLHRDB2:root]:/>su - oracle
[ZFZHLHRDB2:oracle]:/oracle>echo $LANG
en_US
[ZFZHLHRDB2:oracle]:/oracle>LANG=zh_CN
[ZFZHLHRDB2:oracle]:/oracle>NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
[ZFZHLHRDB2:oracle]:/oracle>sqlplus / as sysdba @DB_healthcheck_lhr_11g_v4.9.sql
SQL*Plus: Release 11.2.0.4.0 Production on 星期三 1月 20 14:14:39 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
+------------------------------------------------------------------------------------------------------------+
| Oracle Database health Check script |
|------------------------------------------------------------------------------------------------------------+
| Copyright (c) 2015-2100 lhr. All rights reserved. (My Blog Address: http://blog.itpub.net/26736162) |
+------------------------------------------------------------------------------------------------------------+
| About Me: lihuarong lhrbest xiaomaimiao QQ: 642808185 |
+------------------------------------------------------------------------------------------------------------+
Note: Do not modify any inspection results
Please send the file of DB_healthcheck_by_lhr_dbname_YYYYMMDD.html to lhrbest@qq.com or QQ(642808185)
数据库巡检脚本 编写者:小麦苗 网名:小麦苗 [版权所有 侵权必究] QQ: 642808185
说明:
用于检查Oracle 10g、11g数据库各项指标,包括数据库主要参数、主要对象情况、存储空间配置、数据库性能(AWR、ASH、ADDM)、RMAN备份情况等。
注意事项:
① 若使用非sys用户执行脚本,则需要用sys用户赋予检查用户对x$bh的查询权限,否则热块不能查询 create or replace view bh as select * from sys.xbh;createorreplacepublicsynonymx bh;createorreplacepublicsynonymx bh for bh
② 若有乱码可以设置下环境变量:NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
③ 执行脚本的用户至少应该赋予DBA角色,且赋予可以查询任何数据字典的权限 grant select any dictionary to XXX
+----------------------------------------------------------------------------+
巡检脚本执行过程将持续数分钟,随库的大小不同而变化。
开始执行......
+----------------------------------------------------------------------------+
-----Oracle Database Check STRAT,Starting Collect Data Dictionary Information----
请等待......
start.....设置环境变量、配置html表头....
。。。。。。 省略。。。。。。
可以看到已经正确的支持中文了。
① 首先查看系统是否支持中文环境,执行locale -a | grep zh_CN,若有zh_CN则支持中文,如果不支持则需要系统安装中文语言包,这个最好找系统管理员,如果是客户的环境,一般不让随意安装软件的,那我们就只好采用windows客户端来执行健康检查了,效果是一样的。
② 设置LANG=zh_CN.gbk
③ 设置NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
④ 设置客户端SSH软件终端界面的字符集为中文字符集,以SecureCRT为例,如下图:
XSHELL的位置:
若是虚拟机内部执行,则需要设置:
执行过程如下:
[oracle@redhat4 ~]$ locale -a | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
[oracle@redhat4 ~]$ export LANG=zh_CN.gbk
[oracle@redhat4 ~]$ echo $LANG
zh_CN.gbk
[oracle@redhat4 ~]$ NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
[oracle@redhat4 ~]$ sqlplus / as sysdba @DB_healthcheck_lhr_11g_v4.9.sql
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 1月 20 18:52:59 2016
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
+------------------------------------------------------------------------------------------------------------+
| Oracle Database health Check script |
|------------------------------------------------------------------------------------------------------------+
| Copyright (c) 2015-2100 lhr. All rights reserved. (My Blog Address: http://blog.itpub.net/26736162) |
+------------------------------------------------------------------------------------------------------------+
| About Me: lihuarong lhrbest xiaomaimiao QQ: 642808185 |
+------------------------------------------------------------------------------------------------------------+
Note: Do not modify any inspection results
Please send the file of DB_healthcheck_by_lhr_dbname_YYYYMMDD.html to lhrbest@qq.com or QQ(642808185)
数据库巡检脚本 编写者:小麦苗 网名:小麦苗 [版权所有 侵权必究] QQ: 642808185
说明:
用于检查Oracle 10g、11g数据库各项指标,包括数据库主要参数、主要对象情况、存储空间配置、数据库性能(AWR、ASH、ADDM)、RMAN备份情况等。
注意事项:
① 若使用非sys用户执行脚本,则需要用sys用户赋予检查用户对x$bh的查询权限,否则热块不能查询 create or replace view bh as select * from sys.xbh;createorreplacepublicsynonymx bh;createorreplacepublicsynonymx bh for bh
② 若有乱码可以设置下环境变量:NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
③ 执行脚本的用户至少应该赋予DBA角色,且赋予可以查询任何数据字典的权限 grant select any dictionary to XXX
+----------------------------------------------------------------------------+
巡检脚本执行过程将持续数分钟,随库的大小不同而变化。
开始执行......
+----------------------------------------------------------------------------+
-----Oracle Database Check STRAT,Starting Collect Data Dictionary Information----
请等待......
start.....设置环境变量、配置html表头....
。。。。。。 省略。。。。。。
可以看到已经正确的支持中文了。
若按照执行脚本的输出屏幕有乱码设置后生成的html文件打开是乱码的话,我们可以用文本打开工具(editplus,UE)打开html文件,然后将里边的第三行中的charset的值修改为GBK,如下:<meta http-equiv="Content-Type" content="text/html; charset=GBK"> ,