我是靠谱客的博主 快乐金针菇,最近开发中收集的这篇文章主要介绍Oracle Clusterware 工具集(1)!,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、Oracle Clusterware 工具集
节点层 olsnodes
网络层 oifcfg
集群层 crsctl、ocrcheck、ocrdump、ocrconfig

应用层 srvctl、onsctl、crs_stat


2、节点层

这一层面关注的是集群由哪些节点组成,olsnodes 这个命令用来显示集群节点列表,可用的参数如下,这些参数可以混合使用。

[grid@racnode1 ~]$ olsnodes -h
用法: olsnodes [ [-n] [-i] [-s] [-t] [<node> | -l [-p]] | [-c] ] [-g] [-v]
        where
                -n 输出节点编号和节点名
                -p 输出本地节点的专用互连地址
                -i 输出虚拟 IP 地址和节点名
                <node> 输出指定节点的信息
                -l 输出本地节点的信息 
                -s 输出节点状态 - 活动或不活动
                -t 输出节点类型 - 连接或未连接
                -g 启用事件记录 
                -v 在调试模式下运行; 仅用于 Oracle 技术支持用途。
                -c 输出集群件名称

[grid@racnode1 ~]$ olsnodes -n -t -s -t
racnode1        1       Active  Unpinned
racnode2        2       Active  Unpinned

3、网络层

oifcfg 命令用来定义和修改Oracle集群需要的网卡属性,Oracle的每个网络接口包括名称、网段地址、接口类型3个属性。

[grid@racnode1 ~]$ oifcfg -help

名称:
        oifcfg - Oracle 接口配置工具。

用法:  oifcfg iflist [-p [-n]]
        oifcfg setif {-node <nodename> | -global} {<if_name>/<subnet>:<if_type>}...
        oifcfg getif [-node <nodename> | -global] [ -if <if_name>[/<subnet>] [-type <if_type>] ]
        oifcfg delif [{-node <nodename> | -global} [<if_name>[/<subnet>]]]
        oifcfg [-help]

        <nodename> - 为通信网络所知的主机名
        <if_name>  - 系统中配置的接口的名称(网卡名字,如eth0)
        <subnet>   - 接口的子网地址
        <if_type>  - 接口类型 { cluster_interconnect | public }

[grid@racnode1 ~]$ oifcfg iflist
eth0  10.10.10.0
eth1  10.10.10.0
[grid@racnode1 ~]$ oifcfg iflist -p -n
eth0  10.10.10.0  PRIVATE  255.255.255.0
eth1  10.10.10.0  PRIVATE  255.255.255.0
[grid@racnode1 ~]$ oifcfg getif
eth0  10.10.10.0  global  public
eth1  10.10.10.0  global  cluster_interconnect
[grid@racnode1 ~]$ oifcfg getif -global
eth0  10.10.10.0  global  public
eth1  10.10.10.0  global  cluster_interconnect
[grid@racnode1 ~]$ oifcfg getif -if eth0
eth0  10.10.10.0  global  public
[grid@racnode1 ~]$ oifcfg getif -if eth1
eth1  10.10.10.0  global  cluster_interconnect
[grid@racnode1 ~]$ oifcfg getif -type public
eth0  10.10.10.0  global  public
[grid@racnode1 ~]$ oifcfg getif -type cluster_interconnect
eth1  10.10.10.0  global  cluster_interconnect
下面给一个实际操作的列子:

[grid@racnode1 ~]$ oifcfg getif                      --这里可以看见有两个网络配置
eth0  10.10.10.0  global  public
eth1  10.10.10.0  global  cluster_interconnect
[grid@racnode1 ~]$ oifcfg delif -global              --在两个节点上面删除它们
[grid@racnode1 ~]$ oifcfg getif                      --再次查看就什么也没有了
[grid@racnode1 ~]$ oifcfg setif -global eth0/10.10.10.0:public                  --设置
[grid@racnode1 ~]$ oifcfg setif -global eth1/10.10.10.0:cluster_interconnect    --设置
[grid@racnode1 ~]$ oifcfg setif -global eth2/10.10.10.0:public                  --设置(这里并没有eth2这块网卡存在)
[grid@racnode1 ~]$ oifcfg getif                      --可以看见刚才设置的网络配置
eth0  10.10.10.0  global  public
eth1  10.10.10.0  global  cluster_interconnect
eth2  10.10.10.0  global  public
[grid@racnode1 ~]$ oifcfg delif -global eth2         --删除eth2
[grid@racnode1 ~]$ oifcfg getif                      --又回到原样啦
eth0  10.10.10.0  global  public
eth1  10.10.10.0  global  cluster_interconnect

3、集群层

3.1 crsctl 命令可以用来检查CRS进程栈、每个CRS进程的状态,管理Votedisk、跟踪CRS进程等功能。

[grid@racnode1 ~]$ crsctl -help
用法: crsctl add       - 添加资源, 类型或其他实体
       crsctl check     - 检查服务, 资源或其他实体
       crsctl config    - 输出自动启动配置
       crsctl debug     - 获取或修改调试状态
       crsctl delete    - 删除资源, 类型或其他实体
       crsctl disable   - 禁用自动启动
       crsctl enable    - 启用自动启动
       crsctl get       - 获取实体值
       crsctl getperm   - 获取实体权限
       crsctl lsmodules - 列出调试模块
       crsctl modify    - 修改资源, 类型或其他实体
       crsctl query     - 查询服务状态
       crsctl pin       - 在节点列表中固定节点
       crsctl relocate  - 重新定位资源, 服务器或其他实体
       crsctl replace   - 替换表决文件的位置
       crsctl setperm   - 设置实体权限
       crsctl set       - 设置实体值
       crsctl start     - 启动资源, 服务器或其他实体
       crsctl status    - 获取资源或其他实体的状态
       crsctl stop      - 停止资源, 服务器或其他实体
       crsctl unpin     - 在节点列表中取消固定节点
       crsctl unset     - 取消设置实体值, 还原其默认值
[grid@linux ~]$ crsctl
用法: crsctl <command> <object> [<options>]
    命令: enable|disable|config|start|stop|relocate|replace|stat|add|delete|modify|getperm|setperm|check|set|get|unset|debug|lsmodules|query
有关完整的用法, 请使用:
    crsctl [-h | --help]
有关每个命令和对象及其选项的帮助详细信息, 请使用:
    crsctl <command> <object> -h  例如 crsctl relocate resource -h
[grid@linux ~]$ crsctl status resource -h
Usage:
  crsctl status resource [<resName>[...]|-w <filter>] [<-p|-v> [-e]] | [[-f|-l|-g]] | [[-k <cid>|-n <server>] [-d <did>]] | [-s -k <cid> [-d <did>]]
     检查指定资源的状态

  crsctl stat resource [<resName>[...]|-w <filter>] -t
     按表格格式打印资源状态
其中 
     resName [...]     一个或多个用空白分隔的资源名称
     -w                资源过滤器 (例如 'TYPE = ora.db')
     -p                打印静态配置
     -v                打印运行时配置
     -e                评估资源实例的特殊值
     -f                打印完整配置
     -l                打印所有基数成员和程度成员
     -g                检查资源是否已注册
     -k                基数 ID
     -d                程度 ID
     -n                服务器名称
     -s                获取要重新定位到的目标服务器
     -t                表格显示

例子:

[grid@racnode1 ~]$ crsctl check crs                                    --检查CRS栈状态
CRS-4638: Oracle High Availability Services 联机
CRS-4537: 集群就绪服务联机
CRS-4529: 集群同步服务联机
CRS-4533: 事件管理器联机
[root@racnode1 ~]# /u01/grid/bin/crsctl disable crs                    --禁用CRS开机自动启动
CRS-4621: Oracle High Availability Services autostart is disabled.
[root@racnode1 ~]# /u01/grid/bin/crsctl enable crs                     --启用CRS开机自动启动
CRS-4622: Oracle High Availability Services autostart is enabled.      
[root@racnode1 ~]# /u01/grid/bin/crsctl check crs                      --检查CRS栈状态
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@racnode1 ~]# /u01/grid/bin/crsctl stop crs                       --停止CRS
CRS-2791: 正在启动用于关闭 'racnode1' 上 Oracle High Availability Services 管理的资源的操作
... ...
CRS-4133: Oracle High Availability Services has been stopped.
[root@racnode1 ~]# /u01/grid/bin/crsctl start crs                      --启动CRS
CRS-4123: Oracle High Availability Services has been started.

[grid@racnode1 ~]$ crsctl query css votedisk                           --查看votedisk磁盘位置
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   660450b5dcce4f2dbff0710c018ee835 (/dev/raw/raw1) [OCR_VOTE]
 2. ONLINE   a1fe3ce9ee114f61bf35874d642db9b5 (/dev/raw/raw2) [OCR_VOTE]
 3. ONLINE   4831bafd23404fb2bf89c2825afb9dfa (/dev/raw/raw3) [OCR_VOTE]
找到了 3 个表决磁盘。
[grid@racnode1 ~]$ crsctl get css misscount                            --获取参数值(修改用set)
30

3.2 ocrdump 命令能以ASCII的方式打印出OCR的内容。
[grid@racnode1 racnode-cluster]$ ocrdump -help
名称:
        ocrdump - 将 Oracle 集群/本地注册表的内容转储到文件。

概要:
        ocrdump [-local] [<filename>|-stdout] [-backupfile <backupfilename>] [-keyname <keyname>] [-xml] [-noheader]

说明:
        默认文件名为 OCRDUMPFILE。例如:

        prompt> ocrdump
        将集群注册表内容写入当前目录中的 OCRDUMPFILE

        prompt> ocrdump MYFILE
        将集群注册表内容写入当前目录中的 MYFILE

        prompt> ocrdump -stdout -keyname SYSTEM
        将集群注册表中的 SYSTEM 的子树写入 stdout

        prompt> ocrdump -local -stdout -xml
        将本地注册表内容以 xml 格式写入 stdout

        prompt> ocrdump -backupfile /oracle/CRSHOME/backup.ocr -stdout -xml
        将备份文件中的注册表内容以 xml 格式写入 stdout

注:
        将尽力检索文件头信息。
        将在
        $ORACLE_HOME/log/<hostname>/client/ocrdump_<pid>.log 中创建日志文件。 在运行此工具前, 请确保
        您具有在以上目录中创建文件的
        权限。
        使用选项 '-local' 指示该操作要在 Oracle 本地注册表上执行。

3.3 ocrcheck 命令用于检查OCR内容的一致性。

[grid@racnode1 racnode-cluster]$ ocrcheck -help
名称:
        ocrcheck - 显示 Oracle 集群/本地注册表的健康状况。

概要:
        ocrcheck [-config] [-local]

  -config       显示 Oracle 集群注册表的配置位置。
                此选项可以与 -local 选项一起使用来显示
                Oracle 本地注册表的配置位置
  -local        该操作将在 Oracle 本地注册表上执行。

注:
        将在以下位置创建日志文件:
        $ORACLE_HOME/log/<hostname>/client/ocrcheck_<pid>.log。
        运行此工具时需要具有在以上目录中
        创建文件的权限。

[grid@racnode1 racnode-cluster]$ ocrcheck
Oracle 集群注册表的状态如下:
         版本                  :          3
         总空间 (KB)     :     262120
         已用空间 (KB)      :       2800
         可用空间 (KB):     259320
         ID                       : 1047799877
         设备/文件名         :  +OCR_VOTE
                                    设备/文件完整性检查成功

                                    设备/文件尚未配置

                                    设备/文件尚未配置

                                    设备/文件尚未配置

                                    设备/文件尚未配置

         集群注册表完整性检查成功

         由于用户未经授权, 因此忽略逻辑损坏检查

3.4 ocrconfig 命令用于维护OCR磁盘。

[grid@racnode1 racnode-cluster]$ ocrconfig -help
名称:
        ocrconfig - Oracle 集群/本地注册表的配置工具。

概要:
        ocrconfig [option]
        option:
                [-local] -export <filename>
                                                    - 将 OCR/OLR 内容导出到文件
                [-local] -import <filename>         - 从文件导入 OCR/OLR 内容
                [-local] -upgrade [<user> [<group>]]
                                                    - 从早期版本升级 OCR
                -downgrade [-version <version string>]
                                                    - 将 OCR 降级到指定版本
                [-local] -backuploc <dirname>       - 配置 OCR/OLR 备份位置
                [-local] -showbackup [auto|manual]  - 显示 OCR/OLR 备份信息
                [-local] -manualbackup              - 执行 OCR/OLR 备份
                [-local] -restore <filename>        - 从物理备份中还原 OCR/OLR
                -replace <current filename> -replacement <new filename>
                                                    - 将 OCR 设备/文件 <filename1> 替换为 <filename2>
                -add <filename>                     - 添加新 OCR 设备/文件
                -delete <filename>                  - 删除 OCR 设备/文件
                -overwrite                          - 覆盖磁盘上的 OCR 配置
                -repair -add <filename> | -delete <filename> | -replace <current filename> -replacement <new filename>
                                                    - 修复本地节点上的 OCR 配置
                -help                               - 输出此帮助信息

注:
        * 将在
        $ORACLE_HOME/log/<hostname>/client/ocrconfig_<pid>.log 中创建日志文件。 在运行此工具前, 请确保
        您具有在以上目录中创建文件的
        权限。
        * 仅支持 -local -showbackup [manual]。
        * 使用选项 '-local' 指示该操作要在 Oracle 本地注册表上执行。

[grid@racnode1 ~]$ ocrconfig -showbackup          --查看自动备份

racnode1     2012/02/27 21:23:15     /u01/grid/cdata/racnode-cluster/backup00.ocr

racnode1     2012/02/25 01:28:28     /u01/grid/cdata/racnode-cluster/backup01.ocr

racnode1     2012/02/24 21:28:24     /u01/grid/cdata/racnode-cluster/backup02.ocr

racnode1     2012/02/27 21:23:15     /u01/grid/cdata/racnode-cluster/day.ocr

racnode1     2012/02/24 21:28:24     /u01/grid/cdata/racnode-cluster/week.ocr
PROT-25: Oracle 集群注册表的手动备份不可用

Oracle推荐在对集群作调整时,比如增加、删除节点之前,应对OCR做一个备份。

--导出OCR进行备份
[root@rac1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrconfig -export /u01/ocr.exp
--导入OCR进行恢复
[root@rac1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrconfig -import /u01/ocr.exp

--移动OCR
[root@rac1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrconfig -replace ocr /dev/raw/raw3
--添加Mirror OCR
[root@rac1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/ocrconfig -replace ocrmirror /dev/raw/raw2

最后

以上就是快乐金针菇为你收集整理的Oracle Clusterware 工具集(1)!的全部内容,希望文章能够帮你解决Oracle Clusterware 工具集(1)!所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部