如何安装独立版的CHM(Oracle Cluster Health Monitor)

来源:互联网 发布:高中数学讲解视频软件 编辑:程序博客网 时间:2024/04/28 12:39

Oracle官方博客 - 数据库产品技术支持
Oracle全球技术支持 - 数据库产品中文博客

如何安装独立版的CHM(Oracle Cluster Health Monitor)

     Cluster Health Monitor(以下简称CHM)是一个Oracle提供的工具,用来自动收集操作系统的资源(CPU、内存、SWAP、进程、I/O以及网络等)的使用情况。相对于OSWatcher,CHM直接调用OS的API来降低开销,而OSWatcher则是直接调用UNIX命令;另外,CHM的实时性更强,每秒收集一次数据(在11.2.0.3,改为了5秒一次)。 OSWatcher的优点是可以用traceroute命令检测私网间的连通性,而且生成的数据的保留时间可以设置得很长。如果可以的话,最好是两个工具都安装。

     对于CHM的更多解释,请参考之前的一篇博客:
11gR2 新特性:Oracle Cluster Health Monitor(CHM)简介

    在这篇文章中主要介绍如何安装独立版的CHM。

    CHM会自动安装在下面的软件:
    11.2.0.2 及更高版本的 Oracle Grid Infrastructure for Linux (不包括Linux Itanium) 、Solaris (Sparc 64 和 x86-64)
    11.2.0.3 及更高版本 Oracle Grid Infrastructure for AIX 、 Windows (不包括Windows Itanium)。

      在11.2.0.2之前的集群(10.2到11.2.0.1),可以安装独立版的CHM。目前支持的平台有Linux x86 和Linux x86-64,还有32位的Windows Server 2003 SP 2。独立版的CHM并不一定要安装在集群环境,单机环境也可以使用:
     o 在Linux平台上运行独立版的CHM,要求Linux kernel在2.6.9或之上。另外,一定不能在已经自动安装了CHM的集群环境上再安装单机版的。
     o 可以创建一个新的操作系统用户或者用oracle用户来进行安装,这个用户在RAC的节点间要建立用户等效性。
     o 安装完成后的CHM位于/usr/lib/oracrf,而且在/etc/init.d/init.crfd建立一个init脚本,这样在服务器重启后,只要crf是enabled,就可以自动启动。
     o CHM的数据保存在一个BDB数据库中,这个数据库所在的目录可以在安装CHM的时候用“-b”来指定。 


下面是在Linux平台上的10.2.0.4的双节点RAC安装CHM的过程。

1. 下载单机版的CHM:
http://www.oracle.com/technetwork/database/clustering/downloads/ipd-download-homepage-087212.html
下载文件后,仔细阅读附带的README.txt文件。

2. 确保安装CHM的用户配置了用户等效性,可以无需密码ssh到远程节点。

如果要创建独立的用户,请执行:
# useradd -d /opt/crfuser -s /bin/sh -g oinstall crfuser 

然后针对这个用户配置ssh,请参考:http://fedoranews.org/dowen/sshkeys/

在本文的例子中用oracle用户来安装。

3. 在一个节点,用oracle用户来解压CHM:
[oracle@rac1 ~]$su - oracle
[oracle@rac1 ~]$mkdir /home/oracle/chm 《==所有节点都要创建
[oracle@rac1 ~]$cd /home/oracle/chm
[oracle@rac1 jane]$ ls
1554900.zip
[oracle@rac1 jane]$ unzip 1554900.zip

4. 在一个节点用oracle用户来安装CHM:

首先要在所有节点都创建存放CHM db的目录:
#mkdir /opt/oracrfdb 《==用root 用户

确定在所有节点都有一个属主为oracle的目录/home/oracle/chm
/home/oracle/chm这个目录是临时用的,安装完后会这个临时目录中的CHM文件会被删除,真正安装完成的CHM在/usr/lib/oracrf。

用oracle安装:

[root@rac1 install]# su - oracle
[oracle@rac1 ~]$ cd /home/oracle/chm/install
[oracle@rac1 chm]$ perl /home/oracle/chm/install/crfinst.pl -i rac1,rac2 -b /opt/oracrfdb -m rac1

BDB path provided is on a root FS. Do you want to continue (Y/n):
Y

Performing checks on nodes: "rac1 rac2" ...
Assigning rac2 as replica

Generating cluster wide configuration file...

Creating a bundle for remote nodes...

Installing on nodes "rac2 rac1" ...

Configuration complete on nodes "rac2 rac1" ...

Please run "$CRFPERLBIN /home/oracle/chm/install/crfinst.pl -f, optionally specifying BDB location

with -b <bdb location> as root on each node to complete the install process.

5. 用root运行脚本:
节点1:
[oracle@rac1 chm]$ su -
Password:
[root@rac1 ~]# perl /home/oracle/chm/install/crfinst.pl -f

Installation completed successfully at /usr/lib/oracrf...

节点2:
[root@rac2 oracle]# perl /home/oracle/chm/install/crfinst.pl -f

Installation completed successfully at /usr/lib/oracrf...

CHM已经在所有节点安装成功。

6. 在所有节点用root身份enable CHM,这样在主机重启后,可以自动启动crf:

节点1:
[root@rac1 ~]# /etc/init.d/init.crfd enable

节点2:
[root@rac2]# /etc/init.d/init.crfd enable

7. 检查CHM状态:
节点1:
[root@rac1 ~]# /etc/init.d/init.crfd status 《==所有进程都已启动

osysmond running with PID=27793.
ologgerd running with PID=27895.

oproxyd running with PID=27910.

[root@rac1 ~]# ps -ef|grep osysmond
root     13234 26646  0 19:01 pts/0    00:00:00 grep osysmond
root     27793 27713  1 18:22 ?        00:00:42 /usr/lib/oracrf/bin/osysmond
[root@rac1 ~]# ps -ef|grep ologgerd
root     13274 26646  0 19:01 pts/0    00:00:00 grep ologgerd
root     27895     1  0 18:22 ?        00:00:04 /usr/lib/oracrf/bin/ologgerd -M -d /opt/oracrfdb
[root@rac1 ~]# ps -ef|grep oproxyd
root     13388 26646  0 19:01 pts/0    00:00:00 grep oproxyd
oracle   27910     1  0 18:22 ?        00:00:00 /usr/lib/oracrf/bin/oproxyd

节点2:
[root@rac2 oracle]# /etc/init.d/init.crfd status《==所有进程都已启动

osysmond running with PID=18321.
ologgerd running with PID=18455.

oproxyd running with PID=18479.

[root@rac2 oracle]# ps -ef|grep osysmond
root     18321 18234  1 18:49 ?        00:00:03 /usr/lib/oracrf/bin/osysmond
root     20065  4162  0 18:53 pts/0    00:00:00 grep osysmond
[root@rac2 oracle]# ps -ef|grep ologgerd
root     18455     1  1 18:49 ?        00:00:02 /usr/lib/oracrf/bin/ologgerd -m rac1 -r -d

/opt/oracrfdb
root     20086  4162  0 18:53 pts/0    00:00:00 grep ologgerd
[root@rac2 oracle]# ps -ef|grep oproxyd
oracle   18479     1  0 18:49 ?        00:00:00 /usr/lib/oracrf/bin/oproxyd
root     20113  4162  0 18:53 pts/0    00:00:00 grep oproxyd

8. 查看CHM的DB所在的目录:
节点1:
[root@rac1 chm]# ls -l  /opt/oracrfdb
total 92652
-rw-r----- 1 root root    643072 Mar 26 19:23 crfalert.bdb
-rw-r----- 1 root root  57147392 Mar 26 19:24 crfclust.bdb
-rw-r----- 1 root root      8192 Mar 26 18:58 crfconn.bdb
-rw-r----- 1 root root    823296 Mar 26 19:23 crfcpu.bdb
-rw-r----- 1 root root    548864 Mar 26 19:23 crfhosts.bdb
-rw-r----- 1 root root    925696 Mar 26 19:23 crfloclts.bdb
-rw-r----- 1 root root    487424 Mar 26 19:23 crfts.bdb
-rw-r----- 1 root root     24576 Mar 26 18:22 __db.001
-rw-r----- 1 root root    319488 Mar 26 18:22 __db.002
-rw-r----- 1 root root   2629632 Mar 26 18:22 __db.003
-rw-r----- 1 root root   2162688 Mar 26 18:22 __db.004
-rw-r----- 1 root root    778240 Mar 26 18:22 __db.005
-rw-r----- 1 root root     49152 Mar 26 18:22 __db.006
-rw-r----- 1 root root  16777216 Mar 26 19:19 log.0000000006
-rw-r----- 1 root root  16777216 Mar 26 19:23 log.0000000007
-rw-r--r-- 1 root root 120000000 Mar 26 18:22 rac1.ldb 《==========

节点2:
[root@rac2 chm]# ls -l  /opt/oracrfdb
total 92636
-rw-r----- 1 root root    397312 Mar 26 19:15 crfalert.bdb
-rw-r----- 1 root root  64159744 Mar 26 19:15 crfclust.bdb
-rw-r----- 1 root root    577536 Mar 26 19:15 crfcpu.bdb
-rw-r----- 1 root root    372736 Mar 26 19:15 crfhosts.bdb
-rw-r----- 1 root root   1011712 Mar 26 19:15 crfloclts.bdb
-rw-r----- 1 root root      8192 Mar 26 19:15 crfrep.bdb
-rw-r----- 1 root root    532480 Mar 26 19:15 crfts.bdb
-rw-r----- 1 root root     24576 Mar 26 18:49 __db.001
-rw-r----- 1 root root    319488 Mar 26 18:49 __db.002
-rw-r----- 1 root root   2629632 Mar 26 18:49 __db.003
-rw-r----- 1 root root   2162688 Mar 26 18:49 __db.004
-rw-r----- 1 root root    778240 Mar 26 18:49 __db.005
-rw-r----- 1 root root     49152 Mar 26 18:49 __db.006
-rw-r----- 1 root root  16777216 Mar 26 19:11 log.0000000006
-rw-r----- 1 root root  16777216 Mar 26 19:15 log.0000000007
-rw-r--r-- 1 root root 120000000 Mar 26 18:49 rac2.ldb 《==========
-rw-r----- 1 root root      8192 Mar 26 19:15 repdhosts.bdb 

如何卸载单机版的CHM:

在所有RAC节点分别执行:

1. 用root用户disable CHM:
# /etc/init.d/init.crfd disable

2. 卸载CHM:
/usr/lib/oracrf/install/crfinst.pl -d

3. 手工删除CHM存放数据用的BDB(这个库的地址在安装时指定���。

4. 如果卸载后/usr/lib/oracrf仍然存在,可以手工删除这个目录。

如何使用单机版的CHM来收集性能数据:

方法1:
$oclumon dumpnodeview -allnodes -v -s "2013-03-26 18:00:00" -e "2013-03-26 21:10:00" > /tmp/chm1.txt

方法2:
在使用diagcollection.pl收集数据时,crshome 需要指定CHM的目录而不是CRS的目录:
# /usr/lib/oracrf/bin/diagcollection.pl --collect --crshome /usr/lib/oracrf --chmos --incidenttime 

03/26/201312:00:00 --incidentduration 00:05

否则可能会报错:
# /usr/lib/oracrf/bin/diagcollection.pl --collect --crshome /oracle/app/product/10.2.0/crs_1 --chmos --

incidenttime 03/24/201325:00:00 --incidentduration 00:40
Production Copyright 2004, 2010, Oracle.  All rights reserved
Cluster Ready Services (CRS) diagnostic collection tool
Cannot parse master from output: sh: /oracle/app/product/10.2.0/crs_1/bin/oclumon: No such file or directory
diagcollection.pl

Oracle官方博客 - 数据库产品技术支持
Oracle全球技术支持 - 数据库产品中文博客
0 0