磨刀不误砍柴工,ORAchk健康检查好帮手

ORAchk 之前被称为RACcheck,后来它的检查范围进行了扩展,改名为了ORAchk,它是在数据库系统进行健康检查的一个专用工具,这个工具主要用来检查软件的配置是否符合要求以及一些最佳实践是否被应用了。通过这个工具,用户可以很方便地、自动化地对自己的系统进行健康检查和评估。

 

目录

 

  • ORAchk 基本情况介绍
  • 如何下载和安装ORAchk
  • 如何执行orachk
  • ORAchk生成的报告
  • ORAchk 升级检查功能
  • 什么时候适宜运行ORAchk

一. ORAchk 基本情况介绍

ORAchk 能够检查的软件主要有:OS、Oracle Clusterware (CRS)、 Grid Infrastructure environment(GI)、Automatic Storage Management (ASM)以及Real Application Clusters (RAC)、单机的数据库、Golden Gate。

检查的项目包括:

 

  • OS kernel 参数
  • OS 包/补丁
  • OS上其它和RAC相关的配置
  • CRS/Grid Infrastructure
  • RDBMS
  • ASM
  • 数据库参数
  • 对于RAC数据库影响较大的设置
  • 升级到11.2.0.3/11.2.0.4/12c时的升级检查
  • Maximum Availability Architecture (MAA)检查

 

目前支持的平台:

 

  •  Linux x86-64* (Enterprise Linux, RedHat and SuSE 9, SuSE 10 & SuSE 11)
  • Oracle Solaris SPARC (64-bit)(Solaris 10 and 11)
  • Oracle Solaris x86-64 (Solaris 10 and 11)
  • IBM AIX on POWER Systems (64-bit) **
  • HP-UX PA-RISC (64-bit)**
  • HP-UX Itanium **

*  不支持32位平台,不支持 Linux Itanium
** 需要安装BASH Shell 3.2 或之上

目前支持的数据库版本:

 

  • 10gR2
  • 11gR1
  • 11gR2
  • 12cR1

注:自版本 2.2.0 起,ORAchk 支持单实例、Oracle Restart 以及 RAC(包括 RAC One)   

 

我们推荐使用最新版本的ORAchk,这是因为ORAchk基于最佳实践,这些最佳实践会不断更新,另一方面ORAchk会检查补丁的安装情况,PSU 是按季度推出的,所以ORAchk也会至少每两到三个月更新一次。
 

二.首先看一下如何下载和安装ORAchk
 

ORAchk是从下面的My Oracle Support 文档中下载:
    

ORAchk - Health Checks for the Oracle Stack (Doc ID 1268927.1)

对于RAC环境,只需要在任意一个节点执行ORAchk就可以,它会通过SSH连接到别的节点收集数据,由于它会以sysdba身份登录到数据库中做很多检查,所以要求用数据库软件的属主来执行ORAchk,而且要对oracle用户配置用户等效性,使它能够无需密码就连接到远程节点。

下载之后的文件为orachk.zip。 将这个文件用数据库软件属主上传到RAC集群的任一节点,比如节点1的一个目录:

 

 

三. 接下来看一下如何执行orachk

它的执行也是非常简单的,用oracle用户执行:

 

 

 

两个节点一般需要运行10多分钟,每个节点大概需要5分钟。ORAchk占用的资源很少,在我的测试库上大概占用了10%左右的CPU。另外,ORAchk生成的结果一般在5M左右,自动压缩生成的.zip文件大概几百K。
 

四. 再看一下ORAchk生成的报告

ORAchk 检查完成之后会生成一个html报告,这个报告的命名为:orachk_节点名_数据库名_时间.html,比如orachk_rac1_RACDB_111013_185118.html。同时,它还会把所有的输出文件都打包为一个.zip文件,比如orachk_rac1_RACDB_111013_185118.zip,可以把这个.zip文件从RAC服务器上下载到本地的windows,解压后查看其中的生成的orachk_节点名_数据库名_时间.html 这一个文件就可以。

生成的报告也非常简单、清晰,在报告最上部会列出这次检查的分数,满分是100分。

 

 

在html报告中会列出下面的内容:

 

 

对于每一项失败的项目,点击对应的“View"按钮会,会列出这项检查为何失败、这个问题会导致的影响、 推荐的解决方案,相关文档等。

 

 

五. ORAchk 升级检查功能

ORAchk 还有一个很赞的功能就是升级前和升级后的检查,当前的ORAchk版本2.2.3_20131007已经支持升级到版本11.2.0.3/11.2.0.4/12c时的升级检查。进行升级检查的目的是为了保障集群和RAC升级的过程尽量平稳和顺利,尽量避免遇到已知的问题。使用ORAchk进行升级检查的好处是它整合了许多升级方面常用的文档,这样就可以统一入口,用ORAchk这个工具进行检查就可以。

 

升级检查分两个阶段:

 

升级前:
    $./orachk -u -o pre  
升级后:
    $./orachk -u -o post 

 

六. 什么时候适宜运行ORAchk呢?

 

  • 在系统负载较低的时候运行,这样对系统影响最小。ORAchk 不会对系统的性能状况进行分析,因此不需要在系统发生性能情况时执行。
  • 另外在RAC环境部署完毕之后推荐运行一下来检查一下系统的配置健康情况。
  • 还推荐在计划内的维护前和维护后都执行一下
  • 在升级前和升级后也要执行
  • 在日常维护中,至少每三个月执行一次,因为ORAchk每两到三个月会更新一次

 默认方式执行 ./orachk 后只会执行一次,但是可以在执行ORAchk时以自动任务的方式让它定期执行,并发送邮件通知。具体的配置方式请参考ORAchk的用户手册章节“ORAchk Daemon Mode Operation”(也是在MOS文档 1268927.1中下载)。  
 

比如:

 

 

ORAchk 不会像OSWatcher一样自动维护它的输出文件,需要手工清除或者设置cron等自动任务来清除。

另外,不可以在一台server上同时启动多个ORAchk,同一时刻只能执行一个ORAchk。

需要注意的是,ORAchk不是诊断工具,不是性能调优工具,也不是数据收集工具,比如RAC节点发生了重启,那么ORAchk不能告诉你重启的原因,它也不会收集诊断重启问题的数据,所以它不能代替RDA ,diagcollection等工具。另外,ORAchk也不能代替cluster verification utility,这是因为他们两个工具是互补的。CVU 是集群自带的工具,而且GI会定时调用CVU来进行一些RAC的检查,但是CVU的版本是确定的,不像ORAchk会定期被更新。

ORAchk的支持是通过MOS的社区来进行的,在RAC/Scalability 这个社区中有一个专门用于ORAchk的帖子RAC/Scalability Community Forum,如果有ORAchk的问题,可以在个帖子提问,注意这个帖子是英文的。还可以在中文数据库社区进行讨论。

 

我们在2013年11月份进行了一个关于RACcheck的网上讲座,讲座的录像和讲义可以在在MOS文档1456176.1=》“Archived 2013”=》使用RACCheck诊断和预防RAC问题=》点击Recording 或者 .pdf 进行下载.

 

附:我用目前最新的ORAchk版本进行了测试,单实例上也可以运行ORAchk,下面是在AIX上利用ORAchk对10.2.0.5的单实例数据库进行检查的过程:

 


时间: 2024-11-05 22:39:41

磨刀不误砍柴工,ORAchk健康检查好帮手的相关文章

《高效能程序员的修炼》一磨刀不误砍柴工

磨刀不误砍柴工 高效能程序员的修炼作为一名软件开发人员,你该如何磨快你的锯子? "磨锯子"实际上是一个代名词,泛指一切编程以外的活动(不必编写代码),而这些活动(从理论上来说)能使你成为一名更出色的程序员.这个词源自于Covey的一本书:<高效能人士的7个习惯>(<The 7 Habits of Highly Effective People>).1 有个人在山间漫步,偶遇一位伐木工.他便停下来观察这位伐木工,看他热火朝天地锯一棵很大的树.他发现这位伐木工干得大

磨刀不误砍柴工 建站前选好虚拟主机是关键

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 做事不能急于求成这是我们做好一件事的基本原则,建站亦是如此.俗话说,磨刀不误砍柴工,刀子磨锋利了,柴砍得自然比人家快,同样选择好了虚拟主机会让你的建站事半功倍,不要小看虚拟主机的选择,其实,选择虚拟主机也是一门学问,我们共同学习一下吧. 选规模较大的主机商 规模大的至少是正规的公司,比较靠谱,不像一些小的主机商,总是敷衍了事,国内大的主机商一

磨刀不误砍柴工——模板方法模式

1.定义   定义一个操作中的算法骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可以重新定义该算法的某些特定步骤. 2.理解   提到模板,我们大家都很熟悉,说白了它就是一个骨架或者样式,只需要我们去填充内容就可以了.把这种思想散发到编程中,就是我们的模板方法模式. 3.举例   老师给学生出考试题,老师先要把考题写在黑板上然后学生抄下来才能答题,相信大家都这样考试过.很显然这种方式效率很低,本来考试一个小时内就可以完成,现在抄题就要花费半个小时,班里每个学生都花费半

ORAchk-数据库健康检查

ORAchk-数据库健康检查  原文地址:ORAchk-数据库健康检查 作者:paulyibinyi ORAchk 之前被称为RACcheck,后来它的检查范围进行了扩展,改名为了ORAchk,它是在数据库系统进行健康检查的一个专用工具,这个工具主要用来检查软件的配置是否符合要求以及一些最佳实践是否被应用了.通过这个工具,用户可以很方便地.自动化地对自己的系统进行健康检查和评估.  ORAchk 能够检查的软件主要有:OS.Oracle Clusterware (CRS). Grid Infra

阿里云SLB健康检查的日志特殊处理

SLB健康检查的频率比较高,每秒都有好几个.日积月累就带来了大量web service的日志.一来浪费存储空间,二来消耗磁盘性能.除了官方建议的降低健康检查频率外,或许有一些变通的思维 1.如果对HTTP或者TCP转发协议不挑剔,换成TCP转发并不开启http健康检查就OK了. 优势:方便,控制台操作下就好了. 劣势:只是这样也失去了应用层异常的发现能力. 2.为健康检查单独建立一个没有开启日志的virtualhost,通过不同的端口或者hostname,让健康检查请求不会请求到业务host.

SLB配置健康检查/会话保持

  现在,您已经定义好了一个SLB实例的名称.服务协议及服务端口号.接下来进行健康检查及会话保持的相关配置.整个负载均衡服务将依照您的配置自动运行,并对作为负载均衡服务的云服务器进行健康检查.如果某一云服务器出现故障,它会自动将该云服务器从您的负载均衡服务中移除,而当该云服务器恢复正常运行时,健康检查服务会将其自动加入您的负载均衡服务.为了为了保证用户会话能转发到固定的云服务上,您可以开启会话保持功能,负载均衡服务将会把来自同一客户端的访问请求分发到同一台云服务器上进行处理. HTTP协议配置

【业务不裸奔系列】10秒创建本地健康检查(支持VPC环境)

应用场景 定期探测本地指定路径或端口是否正常响应,当出现响应超时或状态码错误时,发送报警通知.快速发现进程存活但不再正常响应的情况. 偷偷告诉你对进程挂掉.不响应假死特别有效果. 使用步骤 首先要按照业务创建应用分组哦,这样可以快速将散乱的资源有序管理起来.友情传送>>如何创建应用分组? 进入云监控应用分组的"可用性监控"页面, 点击页面右上角的新建配置按钮,进入编辑页面.选择HTTP请求填写探测路径或者选择Telnet请求填写端口号. 点击确认保存任务,探测不通发生报警时

Docker 容器健康检查机制

在分布式系统中,经常需要利用健康检查机制来检查服务的可用性,防止其他服务调用时出现异常. 对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活.Docker Daemon会自动监控容器中的PID1进程,如果docker run命令中指明了restart policy,可以根据策略自动重启已结束的容器.在很多实际场景下,仅使用进程级健康检查机制还远远不够.比如,容器进程虽然依旧运行却由于应用死锁无法继续响应用户请求,这样的问题是无法通过进程监控发现的. 在Kubernetes提供了

负载均衡健康检查的使用误区和最佳实践

本期分享专家:隽勇, 曾就职微软,擅长网络.Windows相关技术,网络问题的终结者,现就职阿里云专注于弹性计算方面的技术研究,"对技术负责,更对用户负责" 针对客户反馈的问题,不但要解决,还要总结分析,隽勇针对SLB问题进行了分析总结,发现大家遇到的很多负载均衡(简称 SLB)异常问题都与健康检查配置相关.不合理的健康检查策略可能会导致很多问题出现: 例如: · 健康检查间隔设置过长,无法准确发现后端 ECS 出现服务不可用,造成业务中断. · 使用 HTTP 模式健康检查,未合理配