使用oracheck进行系统巡检

简介:   日常数据库巡检,是运维人员经常需要完成的工作之一。对应复杂的软硬件和系统环境,以及越来越多的系统数目,常规手段进行一次巡检的成本压力越来越大。综合性的巡检方面,自动化的执行和信息收集,才是未来巡检的一个发展方向。

 

日常数据库巡检,是运维人员经常需要完成的工作之一。对应复杂的软硬件和系统环境,以及越来越多的系统数目,常规手段进行一次巡检的成本压力越来越大。综合性的巡检方面,自动化的执行和信息收集,才是未来巡检的一个发展方向。

Oracle Support内部的研发机构,会推出很多有用的小工具来辅助我们日常巡检诊断工具,比如OSWatcherRDAoratop。这些工具都从一定程度上解决了我们在使用Oracle数据库过程中遇到的管理和调优需求。本篇主要介绍oracheck,借助orachk,我们可以快速的进行系统巡检和故障排除。

 

1、从raccheckoracheck

 

oracheck来源于OracleRAC环境准备的工具raccheck。最早的raccheck是用于自动化Oracle RAC环境巡检而开发的,之后不断推出新的版本和功能。这些新功能中,最有意义的要属于Oracle MAAOracle最大可用性体系架构)的引入。Oracle会将MAA的最佳实践策略,融入到raccheck检查项目里面,给用户提供更加全面的巡检项目。

目前,raccheck已经正式改名为oracheck,提供从单实例数据库实例到RACOGG等多个产品系列的巡检功能。

 

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密码。

 

3oracheck使用

 

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支持failwarningerrorinfo几个类型。

 

 

后面包括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产品、操作系统的支持是比较广泛的。如果配合自动执行功能,完全可以支持多数据库服务器的日常自动化巡检工作。


相关文章
|
7月前
|
存储 Shell
巡检云平台的脚本
巡检云平台的脚本
65 1
|
1月前
|
Prometheus 运维 Java
|
9月前
|
运维 监控
WGCLOUD的巡检报告功能体验说明
作为一款专业的开源运维软件,巡检报告是必不可少的功能了,WGCLOUD也有巡检报告的
|
存储 安全 数据挖掘
设备巡检系统的好处 设备点巡检管理系统方案
设备管理是企业生产经营活动的重要环节,企业生产过程环环相扣,设备运行状况好坏,不仅直接影响到企业的生产效率、产品质量和成本费用,而且危及到重大设备损坏、人员伤亡等隐患。所以,做好设备的高效管理、保障设备稳定运行至关重要,是企业做好降本增效的基础。
设备巡检系统的好处 设备点巡检管理系统方案
|
运维 监控 安全
多监控系统产生的告警如何高效管理-运维事件中心
阿里云运维事件中心作为数字化运营企业业务连续性的一站式运维管理平台,提供丰富的监控集成、强大的报警降噪、可靠的通知、灵活的事件流转、基于ITIL的故障管理等功能,帮助企业完成数字化管理。
563 0
多监控系统产生的告警如何高效管理-运维事件中心
|
存储 运维 监控
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
运维自动化可以大大提高运维的主动性和准确性,减少技术人员的工作强度,将精力转到运维策略规划、问题分析等有价值的工作中
257 0
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
|
云安全 安全 数据库
基础巡检功能使用 | 学习笔记
快速学习基础巡检功能使用
130 0
|
运维 应用服务中间件 Python
服务巡检
项目经过层层测试,最终上线了,此时我们很多时候需要保证线上是OK的。如果线上哪个服务出了问题,带来的后果是可想而知的。那么做线上巡检就成了我们很多测试,或者运维考虑的了,我们巡检不是为了去发现bug,更多的时候是保证服务是OK的,是可以访问的,比如我们Tomcat下的一个站点,很少有首页挂了,其他页面是OK的情况,因此我们巡检的目的是验证服务是否OK,有时也关注下响应时间。在讯飞开放平台上有很多第三方的webapi服务提供给用户使用,服务的可用性、授权和计量的准确性等都需要得到很好的保障,服务不可用,用户会第一时间反馈,但授权和计量出错,很难被及时发现,所以定时服务巡检就很有必要。接下来我们就
513 0
|
运维 监控 调度
【Dataphin智能运维】智能基线,自动化预警代替人工监控
DataphinV3.6版本全新上线智能运维模块,支持基线监控和调度限流功能。基线监控能够快速捕捉导致基线上的任务无法按时完成的异常情况并提前预警,保障复杂依赖场景下重要数据能在预期时间内顺利产出,帮助您降低人工配置成本、提升监控及时性和准确性、避免无效报警,运维人员的好帮手,管理者的福音!
【Dataphin智能运维】智能基线,自动化预警代替人工监控

相关课程

更多