扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
日常数据库巡检,是运维人员经常需要完成的工作之一。对应复杂的软硬件和系统环境,以及越来越多的系统数目,常规手段进行一次巡检的成本压力越来越大。综合性的巡检方面,自动化的执行和信息收集,才是未来巡检的一个发展方向。
公司主营业务:成都做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出大武口免费做网站回馈大家。
Oracle Support内部的研发机构,会推出很多有用的小工具来辅助我们日常巡检诊断工具,比如OSWatcher、RDA、oratop。这些工具都从一定程度上解决了我们在使用Oracle数据库过程中遇到的管理和调优需求。本篇主要介绍oracheck,借助orachk,我们可以快速的进行系统巡检和故障排除。
1、从raccheck到oracheck
oracheck来源于Oracle为RAC环境准备的工具raccheck。最早的raccheck是用于自动化Oracle RAC环境巡检而开发的,之后不断推出新的版本和功能。这些新功能中,最有意义的要属于Oracle MAA(Oracle最大可用性体系架构)的引入。Oracle会将MAA的最佳实践策略,融入到raccheck检查项目里面,给用户提供更加全面的巡检项目。
目前,raccheck已经正式改名为oracheck,提供从单实例数据库实例到RAC、OGG等多个产品系列的巡检功能。
2、安装配置
oracheck是需要单独从MOS上下载的工具包。和其他Oracle产品不同,oracheck更新速度非常快,官方建议是90天就需要下载最新的oracheck版本。这样做的目的就是让用户可以获得最新的检查项目和建议,及时下载安装最新的安全补丁。
从MOS上下载的软件包很简单,就是一个zip包。上传到服务器上解压就可以使用。注意:目前oracheck只支持64bit系统,在32bit下不能使用。
创建专门目录,上传zip文件。
[root@CRSimpleLinux /]# mkdir /orachk
[root@CRSimpleLinux /]# cd /orachk/
[root@CRSimpleLinux orachk]# ls -l
total 5120
-rw-r--r-- 1 root root 5241976 May 20 08:44 orachk_224_beta2.zip
解压安装包。
[root@CRSimpleLinux orachk]# unzip orachk_224_beta2.zip
Archive: orachk_224_beta2.zip
inflating: orachk
creating: .cgrep/
inflating: .cgrep/lcgreps9
inflating: .cgrep/CollectionManager_App.sql
inflating: .cgrep/asrexacheck
inflating: .cgrep/utlusts.sql
(篇幅原因,有省略……)
检查脚本,是一系列的配置文件和oracheck执行文件。
[root@CRSimpleLinux orachk]# ls -l
total 28072
-rw-rw-r-- 1 root root 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 root root 1407669 Feb 14 03:23 orachk
-rwxr-xr-x 1 root root 1423197 Feb 11 03:50 raccheck
-rw-r--r-- 1 root root 2541 Feb 11 03:50 readme.txt
-rw-rw-r-- 1 root root 4700572 Feb 11 03:50 rules.dat
-rw-r--r-- 1 root root 296 Feb 11 03:50 UserGuide.txt
额外授权给oracle用户,另外修改权限755。
[root@CRSimpleLinux /]# chown -R oracle:oinstall orachk/
[root@CRSimpleLinux /]# chmod -R 755 /orachk/
[root@CRSimpleLinux /]# cd /orachk/
[root@CRSimpleLinux orachk]# ls -l
total 28072
-rwxr-xr-x 1 oracle oinstall 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 oracle oinstall 1407669 Feb 14 03:23 orachk
-rwxr-xr-x 1 oracle oinstall 1423197 Feb 11 03:50 raccheck
-rwxr-xr-x 1 oracle oinstall 2541 Feb 11 03:50 readme.txt
-rwxr-xr-x 1 oracle oinstall 4700572 Feb 11 03:50 rules.dat
-rwxr-xr-x 1 oracle oinstall 296 Feb 11 03:50 UserGuide.txt
注意:在执行oracheck用户上,根据不同的情况可以选择root或者oracle owner对象。在一些检查项目中,是需要root权限进行操作的。一种比较推荐的方式是使用owner用户执行,在需要root权限的时候按照提示输入root密码。
3、oracheck使用
oracheck脚本有默认的行为方式,通过参数可以控制执行行为。例如-v可以显示版本信息。
[oracle@CRSimpleLinux orachk]$ ./orachk -v
ORACHK VERSION: 2.2.4(BETA)_20140210
通常情况下,使用默认的profile配置,就可以进行大部分检查项目。
[oracle@CRSimpleLinux orachk]$ ./orachk -v
ORACHK VERSION: 2.2.4(BETA)_20140210
[oracle@CRSimpleLinux orachk]$ ./orachk
This computer is for [S]ingle instance database or part of a [C]luster to run RAC database [S|C] [C]:S
orachk did not find the RDBMS binaries on crsimplelinux from environment.
Please set RAT_ORACLE_HOME to ORACLE_HOME in current shell to override and re-run it.
eg export RAT_ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
默认配置环境变量中,要求RAT_ORACLE_HOME配置为ORACLE_HOME。
[oracle@CRSimpleLinux orachk]$ export RAT_ORACLE_HOME=$ORACLE_HOME
[oracle@CRSimpleLinux orachk]$ env | grep RAT_ORACLE_HOME
RAT_ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
[oracle@CRSimpleLinux orachk]$ ./orachk
This computer is for [S]ingle instance database or part of a [C]luster to run RAC database [S|C] [C]:S
(篇幅原因,有省略……)
Data collections completed. Checking best practices on crsimplelinux.
--------------------------------------------------------------------------------------
(发现问题列表……)
WARNING => net.core.wmem_max Is NOT Configured According to Recommendation
WARNING => net.core.rmem_max Is NOT Configured According to Recommendation
WARNING => The number of async IO descriptors is too low (/proc/sys/fs/aio-max-nr)
WARNING => kernel.shmmax parameter is NOT configured according to recommendation
WARNING => OSWatcher is not running as is recommended.
INFO => Consider increasing the COREDUMPSIZE size
Best Practice checking completed.Checking recommended patches on crsimplelinux.
---------------------------------------------------------------------------------
RDBMS homes patches summary report
---------------------------------------------------------------------------------
Total patches Applied on RDBMS Applied on ASM ORACLE_HOME
---------------------------------------------------------------------------------
Detailed report (html) - /orachk/orachk_crsimplelinux_052014_172942/orachk_crsimplelinux_052014_172942.html –结果报告文件
UPLOAD(if required) - /orachk/orachk_crsimplelinux_052014_172942.zip
在目录中,包括了一个zip文件和文件夹,包括了巡检结果报告。
[oracle@CRSimpleLinux orachk]$ ls -l
total 28228
-rwxr-xr-x 1 oracle oinstall 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 oracle oinstall 1407669 Feb 14 03:23 orachk
drwxr-xr-x 6 oracle oinstall 12288 May 20 17:30 orachk_crsimplelinux_052014_172942
-rw-r--r-- 1 oracle oinstall 145482 May 20 17:30 orachk_crsimplelinux_052014_172942.zip
-rwxr-xr-x 1 oracle oinstall 1423197 Feb 11 03:50 raccheck
-rwxr-xr-x 1 oracle oinstall 2541 Feb 11 03:50 readme.txt
-rwxr-xr-x 1 oracle oinstall 4700572 Feb 11 03:50 rules.dat
-rwxr-xr-x 1 oracle oinstall 296 Feb 11 03:50 UserGuide.txt
4、报告解析
打开html文件,可以看到报告。报告头是oracheck对于系统情况的一个评分,下面显示的是得到了87分。summary环节中包括了数据库基本信息情况。
首先是对于数据库需要关注问题,oracheck都给与特别的显示。在级别上,也有对应不同的类型。目前oracheck支持fail、warning、error和info几个类型。
后面包括Passed的检查项目。对于提醒的问题内容,我们点击Details,就可以跳转到详细信息部分进行解释检查。
上面提示的内容比较清楚。这个错误是针对内核kernal.shmmax参数确定的。在Oracle DBMS中,配置这个参数的原则是按照物理内存一般大小进行配置就可以。检查中发现实际大小:2147483648,建议大小是4088072192。并且提示了详细解析的MOS文章编号。
oracheck报告内容是结合了Oracle最佳实践内容而确定的,我们下面可以根据实际情况进行修改。
5、重新运行报告
按照提示信息将问题修改之后(修改过程详见后续文章),最好重新运行oracheck判断问题是否解决。
[oracle@CRSimpleLinux ~]$ cd /orachk/
[oracle@CRSimpleLinux orachk]$ export RAT_ORACLE_HOME=$ORACLE_HOME
[oracle@CRSimpleLinux orachk]$ ./orachk
This computer is for [S]ingle instance database or part of a [C]luster to run RAC database [S|C] [C]:
Collecting - Patches for RDBMS Home
Collecting - number of semaphore operations per semop system call
Data collections completed. Checking best practices on crsimplelinux.
--------------------------------------------------------------------------------------
WARNING => OSWatcher is not running as is recommended.
INFO => Consider increasing the COREDUMPSIZE size
(篇幅原因,有省略……)
---------------------------------------------------------------------------------
Detailed report (html) - /orachk/orachk_crsimplelinux_052014_180024/orachk_crsimplelinux_052014_180024.html
UPLOAD(if required) - /orachk/orachk_crsimplelinux_052014_180024.zip
生成新的报告文件。
[oracle@CRSimpleLinux orachk]$ ls -l
total 28380
-rwxr-xr-x 1 oracle oinstall 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 oracle oinstall 1407669 Feb 14 03:23 orachk
drwxr-xr-x 6 oracle oinstall 12288 May 20 17:30 orachk_crsimplelinux_052014_172942
-rw-r--r-- 1 oracle oinstall 145482 May 20 17:30 orachk_crsimplelinux_052014_172942.zip
drwxr-xr-x 6 oracle oinstall 12288 May 20 18:01 orachk_crsimplelinux_052014_180024
-rw-r--r-- 1 oracle oinstall 143227 May 20 18:01 orachk_crsimplelinux_052014_180024.zip
-rwxr-xr-x 1 oracle oinstall 1423197 Feb 11 03:50 raccheck
-rwxr-xr-x 1 oracle oinstall 2541 Feb 11 03:50 readme.txt
打开报告,可以看到检验得分已经提升。
6、报告对比功能
oracheck另一项重要功能是报告对比。一个报告可以提供和之前报告情况的对比,及时发现问题变化因素。
[oracle@CRSimpleLinux orachk]$ ./orachk -diff orachk_crsimplelinux_052014_172942 orachk_crsimplelinux_052014_180024
Summary
Total : 23
Missing : 0
New : 0
Changed : 4
Same : 19
File comparison is complete. The comparison report can be viewed in: /orachk/orachk_052014172942_052014180024_diff.html
报告文件中,可以看到对比情况和变化提示。
7、结论
oracheck来源于raccheck,从使用方式和功能上没有过多的变化。oracheck对于Oracle产品、操作系统的支持是比较广泛的。如果配合自动执行功能,完全可以支持多数据库服务器的日常自动化巡检工作。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流