在Oracle中,什么是ORAchk工具?
♣ 答案部分
ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用。ORAchk软件包很简单,就是一个zip包,上传到服务器上解压就可以使用。需要注意的是,目前ORAchk只支持64bit系统,在32bit下不能使用。ORAchk之前被称为RACcheck(针对自动化Oracle RAC环境巡检而开发),后来Oracle对它的检查范围进行了扩展,所以改名为ORAchk,它是在数据库系统进行健康检查的一个专用工具,这个工具主要用来检查软件的配置是否符合要求以及一些最佳实践是否被应用了。通过这个工具,用户可以很方便地、自动化地对自己的系统进行健康检查和评估。
ORAchk能够检查的软件主要有:OS、CRS(Cluster Ready Service)、GI(Grid Infrastructure environment)、ASM(Automatic Storage Management)以及RAC(Real Application Clusters)、单实例数据库、OGG(Oracle GoldenGate)。
ORAchk支持所有主流平台,当然,对有些平台的支持并不是很完美,比如,对windows平台的支持是限定版本,而且需要安装Cygwin这样的软件。最新版本的ORAchk对Oracle数据库的版本支持是:10gR2,11gR1,11gR2,12cR1,12cR2。
ORAchk是一个命令行工具,运行后收集系统配置信息,同时按照预定义的规则,评估配置是否符合Oracle的最佳实践,评估结果输出为一份html格式的健康检查报告,报告中会有所有检查项的细节数据,以及根据规则给被检查系统的一个综合评分。虽然这个评分规则比较“简单粗暴”(所有检查项的分值都一样),但这个分数还是有一定意义的,起码给领导或甲方看的时候,可以给出一个量化指标了,而且可以在不同的系统之间,或不同时间的同一个系统之间进行比较。对于报告只需要关注FAIL和WARNING的检查项就可以了。
ORAchk支持自定义检查项,用户只要按照一定的规则,创建对应的XML配置文件,就可以让ORAchk进行自定义检查。ORAchk的软件包里面提供了一个sample_user_defined_checks.xml,给出了几个例子,而且有详细的注释,只要按照这个规则,生成user_defined_checks.xml,放在orachk所在的目录,就可以让orachk进行自定义检查了。自定义检查项目前支持两种类型:OS命令和SQL语句。
ORAchk的一个重要特性是升级检查,可以分别检查升级前和升级后的数据库情况。对于升级前检查,可以查看系统是否已经满足了升级所需要的条件,升级后检查用于检查系统是否已经成功升级到新版本,是否还有升级后的工作需要完成。升级前和升级后的检查命令如下所示:
1升级前检查: ./orachk -u -o pre 2升级后检查: ./orachk -u -o post
MOS文档“ORAchk - Health Checks for the Oracle Stack (文档 ID 1268927.2)”对ORAchk有详细的说明。