转至:https://blog.51cto.com/ixdba/901545

CRS提供了很多命令可以管理和查看集群服务状态,常用的有crs_stat、crs_start、crs_stop、crsctl等,这里依次介绍。

1、 查看集群状态
 通过crs_stat命令可以查看集群中所有资源的状态,包括资源状态、资源运行在哪个节点上、资源类型等信息。例如:

[oracle@node-rac1 ~]$ crs_stat –t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE node-rac1
ora....C1.lsnr application ONLINE ONLINE node-rac1
ora....ac1.gsd application ONLINE ONLINE node-rac1
ora....ac1.ons application ONLINE ONLINE node-rac1
ora....ac1.vip application ONLINE ONLINE node-rac1
ora....SM2.asm application ONLINE ONLINE node-rac2
ora....C2.lsnr application ONLINE ONLINE node-rac2
ora....ac2.gsd application ONLINE ONLINE node-rac2
ora....ac2.ons application ONLINE ONLINE node-rac2
ora....ac2.vip application ONLINE ONLINE node-rac2
ora.racdb.db application ONLINE ONLINE node-rac2
ora....b1.inst application ONLINE ONLINE node-rac1
ora....b2.inst application ONLINE ONLINE node-rac2
ora....test.cs application ONLINE ONLINE node-rac2
ora....db1.srv application ONLINE ONLINE node-rac1
ora....db2.srv application ONLINE ONLINE node-rac2

如果要更详细的了解每个资源的名称及状态,还可以使用“crs_stat -l”命令,例如:

[oracle@node-rac2 ~]$crs_stat -l|head -n 15
NAME=ora.node-rac1.ASM1.asm
TYPE=application
TARGET=ONLINE
STATE=ONLINE on node-rac1 NAME=ora.node-rac1.LISTENER_NODE-RAC1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINE on node-rac1 NAME=ora.node-rac1.gsd
TYPE=application
TARGET=ONLINE
STATE=ONLINE on node-rac1

可以看到,这个输出中包含了每个服务完整的名称和运行状态。通过了解节点运行状态,有助于对RAC集群的管理和维护。
还可以使用crs_stat -p <resource_name> 来查看资源的属性情况,包括依赖关系等等,例如:

[oracle@node-rac1 ~]$crs_stat -p  ora.node-rac2.LISTENER_NODE-RAC2.lsnr  

2.1 crs_stop与crs_start命令
通过crs_stop可以方便的关闭某个服务资源,例如:

[oracle@node-rac1 admin]$ crs_stop  ora.node-rac1.LISTENER_NODE-RAC1.lsnr
Attempting to stop `ora.node-rac1.LISTENER_NODE-RAC1.lsnr` on member `node-rac1`
Stop of `ora.node-rac1.LISTENER_NODE-RAC1.lsnr` on member `node-rac1` succeeded.

此时,查看node-rac1节点的LISTENER服务状态:

[oracle@node-rac1 ~]$ crs_stat -t|grep  lsnr
ora....C1.lsnr application OFFLINE OFFLINE
ora....C2.lsnr application ONLINE ONLINE node-rac2

从输出可知,node-rac1节点的LISTENER服务已经处于OFFLINE状态了。
接着启动node-rac1节点的LISTENER服务:

[oracle@node-rac1 ~]$crs_start  ora.node-rac1.LISTENER_NODE-RAC1.lsnr
Attempting to start `ora.node-rac1.LISTENER_NODE-RAC1.lsnr` on member `node-rac1`
Start of `ora.node-rac1.LISTENER_NODE-RAC1.lsnr` on member `node-rac1` succeeded.

其实RAC数据库的监听还可以通过如下方式启动和关闭:

[oracle@node-rac1 ~]$lsnrctl start LISTENER_NODE-RAC1
[oracle@node-rac1 ~]$lsnrctl stop LISTENER_NODE-RAC1

有时候,可能需要将集群资源全部关闭,可以通过如下命令完成:

[oracle@node-rac1 ~]$ crs_stop  -all  

也通过一个命令将集群所有资源全部启动,操作如下:

[oracle@node-rac2 ~]$ crs_start  -all  

2.2 crsctl命令


 crsctl命令功能非常强大,它可以检查CRS后台进程运行状态、可以添加/删除表决磁盘、可以启动/关闭集群所有资源、可以启动/关闭CRS服务等等,下面简单介绍下此命令的几个常用参数组合。
 检测node-rac1节点的状态:
[oracle@node-rac2 ~]$crsctl check cluster -node node-rac1          
node-rac1 is ONLINE
 检查cssd服务的运行状态:
[oracle@node-rac2 ~]$crsctl check cssd
Cluster Synchronization Services appears healthy
 检查CRS的运行版本:
[oracle@node-rac2 ~]$crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.1.0.6.0]
 查看css加载的模块:
[oracle@node-rac2 ~]$ crsctl  lsmodules css
The following are the Cluster Synchronization Services modules:: 
    CSSD
    COMMCRS
    COMMNS

停止本节点所有CRS资源:
[oracle@node-rac1 ~]$crsctl stop resources
Stopping resources. 
This could take several minutes.
Successfully stopped Oracle Clusterware resources 
启动本节点所有CRS资源:
[oracle@node-rac1 ~]$crsctl start resources
Starting resources. 
Successfully started CRS resources

在本节点关闭CRS服务,此操作需要root用户身份:

[root@node-rac1 ~]#/app/oracrs/product/11.0.6/crs/bin/crsctl stop crs
Stopping resources.
This could take several minutes.
Successfully stopped Oracle Clusterware resources
Stopping Cluster Synchronization Services.
Shutting down the Cluster Synchronization Services daemon.
Shutdown request successfully issued.

3、启动与关闭CRS

在RAC数据库中,CRS接管了数据库的启动和关闭等操作,集群节点的实例随着CRS服务的启动而自动启动,但是crs也可以进行手工启动和关闭。
管理CRS服务的命令如下:
[root@node-rac1 ~]# /etc/init.d/init.crs {stop|start|enable|disable}
例如,要关闭某个节点的CRS服务,可以执行如下操作:

[root@node-rac1 ~]# /etc/init.d/init.crs  stop
Shutting down Oracle Cluster Ready Services (CRS):
Sep 08 10:57:14.806 | INF | daemon shutting down
Stopping resources.
This could take several minutes.
Successfully stopped Oracle Clusterware resources
Stopping Cluster Synchronization Services.
Shutting down the Cluster Synchronization Services daemon.
Shutdown request successfully issued.
Shutdown has begun. The daemons should exit soon.

CRS服务关闭后,与此节点相关的集群实例也将随之停止,同时此节点的vip地址也将转移到另一个节点。

接着启动CRS服务,执行如下操作:
[root@node-rac1 ~]# /etc/init.d/init.crs  start
Startup will be queued to init within 30 seconds.
CRS启动后,主要有以下四个后台进程:

[oracle@node-rac1 ~]$ ps -ef|grep d.bin
root 5166 4186 0 Sep07 ? 00:02:33 /app/oracrs/product/11.0.6/crs/bin/crsd.bin reboot
oracle 5176 5170 0 Sep07 ? 00:00:05 /app/oracrs/product/11.0.6/crs/bin/evmd.bin
oracle 5840 5309 0 Sep07 ? 00:01:04 /app/oracrs/product/11.0.6/crs/bin/ocssd.bin
oracle 6306 1 0 Sep07 ? 00:00:00 /app/oracrs/product/11.0.6/crs/bin/oclskd.bin
oracle 30233 30185 0 10:01 pts/1 00:00:00 grep d.bin

下面简单介绍下每个进程的含义:
    ocssd:用于管理与协调集群中各节点的关系,并用于节点间通信。该进程非常重要,如果这个进程异常中止,会导致系统自动重启。在某些极端情况下,如果ocssd无法正常启动,就会导致操作系统循环重启。
    crsd:监控节点各种资源,当某个资源发生异常时,自动重启或者切换该资源。
    evmd:是一个基于后台的事件检测程序。
    oclskd:该守护进程是Oracle 11g(11.1.0.6)新增的一个后台进程,主要用于监控RAC数据库节点实例,当某个实例挂起时,就重启该节点。

4、管理Voting disk
 Voting disk(表决磁盘)主要用于记录节点成员信息,例如包含哪些节点成员、节点添加删除信息的记录等。
(1)查看Voting disk
要查看Voting disk信息,可执行如下命令:
crsctl query css votedisk
例如:

[oracle@node-rac1 ~]$ crsctl query css votedisk
0. 0 /dev/raw/raw3
1. 0 /dev/raw/raw4
2. 0 /dev/raw/raw5
Located 3 voting disk(s).

(2)备份Voting disk
Voting disk的信息很重要,需要定期备份votedisk,例如:
[oracle@node-rac1 ~]$dd if=/dev/raw/raw3 of=/tmp/votedisk.bak
这样就把备份到了/tmp目录下。
(3)恢复Voting disk
例如:
[oracle@node-rac1 ~]$dd if=/tmp/votedisk.bak of=/dev/raw/raw3

(4)删除voting disk镜像盘
如果要删除一块表决磁盘,可以执行如下命令:
crsctl delete css votedisk /dev/raw/raw5 -force
这个操作需要root用户身份,例如:

[root@node-rac1 ~]#/app/oracrs/product/11.0.6/crs/bin/crsctl \
>delete css votedisk /dev/raw/raw5
Successful deletion of voting disk /dev/raw/raw5.
[oracle@node-rac1 ~]$ crsctl query css votedisk
0. 0 /dev/raw/raw3
1. 0 /dev/raw/raw4

(5)添加voting disk镜像盘
添加一块表决磁盘时,执行如下命令:
crsctl add css votedisk /dev/raw/raw5 -force
这个操作需要root用户身份,例如:

[root@node-rac1 ~]#/app/oracrs/product/11.0.6/crs/bin/crsctl add css votedisk /dev/raw/raw5  
Now formatting voting disk: /dev/raw/raw5.
Successful addition of voting disk /dev/raw/raw5.
[oracle@node-rac1 ~]$ crsctl query css votedisk
crsctl query css votedisk
0. 0 /dev/raw/raw3
1. 0 /dev/raw/raw4
2. 0 /dev/raw/raw5

5、管理OCR


 OCR磁盘主要用于记录节点成员的配置信息,如数据库、服务、实例、vip地址、监听器、应用进程等CRS资源配置信息,OCR可以存储在裸设备或者群集文件系统上。
(1)检查ocr设置
可以通过如下命令查看当前的OCR设置:

[oracle@node-rac1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version: 2
Total space (kbytes): 4000280
Used space (kbytes): 3840
Available space (kbytes) : 3996440
ID: 1806962807
Device/File Name: /dev/raw/raw1
Device/File integrity check succeeded
Device/File Name: /dev/raw/raw2
Device/File integrity check succeeded
Cluster registry integrity check succeeded

(2)OCR的备份与恢复
 默认情况下,Oracle每四个小时自动备份一次OCR,并保存三个有效版本,但是仅保存在集群的某一个节点上。
要查看自动备份OCR文件的路径,执行如下命令:

[oracle@node-rac1 ~]$ocrconfig -showbackup
node-rac2 2011/03/11 13:10:27 /app/crs/product/11.0.6/crs/cdata/rac-cluster/backup00.ocr
node-rac2 2011/03/11 09:10:25 /app/crs/product/11.0.6/crs/cdata/rac-cluster/backup01.ocr
node-rac2 2011/03/11 05:10:24 /app/crs/product/11.0.6/crs/cdata/rac-cluster/backup02.ocr
node-rac2 2011/03/10 21:10:20 /app/crs/product/11.0.6/crs/cdata/rac-cluster/day.ocr
node-rac2 2011/03/10 21:10:20 /app/crs/product/11.0.6/crs/cdata/rac-cluster/week.ocr

恢复OCR的方法也很简单,例如:
[oracle@node-rac1 ~]$ocrconfig –restore \
> /app/oracrs/product/11.0.6/crs/cdata/rac-cluster/backup01.ocr
其实OCR也可以通过手动的方式导出、导入,方法如下:
手动导出:ocrconfig -export /tmp/ocr_bak 
手动导入:ocrconfig -import /tmp/ocr_bak

(3)添加OCR镜像盘
向磁盘组中添加OCR磁盘的基本步骤如下:
    执行命令crsctl stop crs停掉CRS服务
    创建用于镜像OCR的RAW设备,例如:/dev/raw/raw11
    执行“ocrconfig –export”命令导出OCR的信息
    修改/etc/oracle/ocr.loc文件,添加新增的raw设备,例如:

[oracle@node-rac1 ~]$more /etc/oracle/ocr.loc
ocrconfig_loc=/dev/raw/raw1
ocrmirrorconfig_loc=/dev/raw/raw2
ocrmirrorconfig_loc=/dev/raw/raw11
local_only=FALSE

执行命令“ocrconfig -import”将OCR备份信息导入磁盘
    检查ocr设置信息,看是否增加成功
    最后用“crsctl start crs”启动CRS服务

6、快速卸载CRS


 CRS安装非常简单,但是如果CRS出现问题,需要重新安装时,卸载CRS并不是一件轻松的事情,下面就重点讲述下如何在Linux下卸载CRS程序。
(1)关闭CRS服务
在卸载CRS之前,必须要停止CRS服务,即执行:
/etc/init.d/init.crs stop
如果无法停止crs服务,那么就将CRS服务禁用,即:
/etc/init.d/init.crs disable
然后重启系统。
(2)执行删除脚本
 首先在集群中的所有节点上执行$ORA_CRS_HOME/install/rootdelete.sh,这里以节点node-rac1为例

 [root@node-rac1 install]# /app/oracrs/product/11.0.6/crs/install/rootdeinstall.sh
Verifying existence of ocr.loc file
Removing contents from OCR mirror device
2560+0 records in
2560+0 records out
10485760 bytes (10 MB) copied, 3.90308 seconds, 2.7 MB/s
Removing contents from OCR device
2560+0 records in
2560+0 records out
10485760 bytes (10 MB) copied, 3.84383 seconds, 2.7 MB/s

接着,在机(集)群中的任意一个节点上执行$ORA_CRS_HOME/install/rootdeinstall.sh。

(3)用图形界面OUI卸载crs
 首先在CRS安装包目录下启动CRS安装欢迎界面,然后在欢迎界面点击“Installed Products”,接着会弹出如下界面: 在这个界面中可以看到已经安装的CRS信息,点击右下角的“Remove”按钮,开始卸载CRS。

(4)删除剩余其它文件
CRS卸载程序可以删除大部分安装程序,但是并不能完全卸载,所以需要手动删除未卸载的一些文件,在集群所有节点上执行如下删除命令:

rm -rf /app/oracrs/product/11.0.6/crs/
/bin/rm -rf /var/tmp/.oracle
/bin/rm -f /etc/oraInst.loc
rm -rf /etc/oracle/
rm -f /etc/oratab

所有操作执行完毕后,重启集群的每个节点,重新安装CRS即可。

ORACLE 12c RAC日常维护命令的更多相关文章

  1. RAC日常维护命令

    olsnodes -n   查看节点个数 crs_stat   -t    查看RAC中各节点的资源状态 crs_stat   -p   查看RAC的节点的配置 crsctl命令: 对于crsctl命 ...

  2. 程序员必备:Oracle日常维护命令

        上一篇讲了Linux的日常维护命令,这篇讲讲Oracle的日常维护命令.工作中需要使用Oracle数据库的童鞋们,相信或多或少都需要对Oracle做一些基本的维护操作,例如导入导出总该有吧?( ...

  3. ORACLE 12c RAC的常用管理命令

    ORACLE 12c RAC的常用管理命令 一.查询 1.RAC查询 1.1.查询节点 [grid@swnode1 ~]$ su - grid [grid@swnode1 ~]$ /u01/app/1 ...

  4. Oracle 12c RAC 静默安装文档

    参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...

  5. 2.goldengate日常维护命令(转载)

    goldengate日常维护命令 发表于 2013 年 7 月 4 日 由 Asysdba 1.查看进程状态 GGSCI (PONY) 2> info all 2.查看进程详细状态,有助于排错 ...

  6. svn服务配置和日常维护命令

    Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux AS3  AS 4   ContOS AS 4 安装包获取: 下载[url]ht ...

  7. mha日常维护命令

    mha日常维护命令 http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml 1.查看ssh登陆是否成功masterh ...

  8. MHA 日常维护命令集

    MHA 日常维护命令集 1.查看ssh登陆是否成功 masterha_check_ssh --global_conf=/etc/masterha/masterha_default.conf --con ...

  9. (转)Oracle RAC日常管理命令

    转自:http://www.xuebuyuan.com/1206937.html 一.查看RAC环境 RAC架构,2节点信息 节点1 SQL> show parameter instance N ...

随机推荐

  1. golang中数组指针和指针数组当做函数参数如何修改数组中的值

    先理解:数组指针它的类型时指针,指针数组它的类型时数组 1. 数组指针当做函数的参数 package main import "fmt" func changeData(dataA ...

  2. 只要一行代码,实现五种 CSS 经典布局

    常用的页面布局,其实就那么几个.下面我会介绍5个经典布局,只要掌握了它们,就能应对绝大多数常规页面. 这几个布局都是自适应的,自动适配桌面设备和移动设备.代码实现很简单,核心代码只有一行,有很大的学习 ...

  3. Kubernetes:故障排查(Trouble Shooting)方法总结

    Blog:博客园 个人 本文部分内容源自网络,侵删. 概述 为了跟踪和发现在Kubernetes集群中运行的容器应用出现的问题,我们常用如下排查方法: 查看Kubernetes对象的当前运行时信息,特 ...

  4. 第03讲:Flink 的编程模型与其他框架比较

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 本课时我们主要介绍 ...

  5. 学习JAVAWEB第八天

    1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 * 如: html,c ...

  6. 幸运转轮(Cakra)

    题目描述 lxx参加了某卫视举办的一场选秀节目,凭借曼妙的舞姿和动人的歌声,他在众多idol中脱颖而出.现在在他的面前,有四个大转轮,这四个转轮将决定他能否赢得最终大奖--出道,机会只有一次!   每 ...

  7. django之百度Ueditor富文本编辑器后台集成

    Python3 + Django2.0 百度Ueditor 富文本编辑器的集成 百度富文本编辑器官网地址:http://fex.baidu.com/ueditor/ 疑问:为什么要二次集成? 答案:因 ...

  8. springboot实战小项目-简要介绍、vue项目创建

    因为菜,所以要好好学习! 一.项目介绍:这是一个后台管理系统,准备实现的功能: 1.登录.注册.个人信息查看.退出登录 2.根据关键字查询用户.新增用户.根据id或者其他字段排序.编辑用户信息.删除用 ...

  9. js源码-自定义数组的pop和shift方法

    本文将自定义_pop和_shift来模拟数组的pop和shift方法 _pop: /* *js中数组的pop方法:删除数组的最后一个元素,把数组的长度减1,并且返回删除的这个元素:如果数组为空,则po ...

  10. Java-打印杨辉三角

    记录下哈 import java.util.Scanner; public class YangHuiTriangle { public static void main(String[] args) ...