from:

常用的crs命令如下:

$ORA_CRS_HOME/bin/crs_stat –t

此命令主要用来检查crs资源状态

例如

[oracle@rac2 css]$ $ORA_CRS_HOME/bin/crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....CL1.srv application ONLINE ONLINE rac1

ora....CL2.srv application ONLINE ONLINE rac2

ora....TEST.cs application ONLINE ONLINE rac1

ora....L1.inst application ONLINE ONLINE rac1

ora....L2.inst application ONLINE ONLINE rac2

ora.ORCL.db application ONLINE ONLINE rac1

ora....SM1.asm application ONLINE ONLINE rac1

ora....C1.lsnr application ONLINE ONLINE rac1

ora.rac1.gsd application ONLINE ONLINE rac1

ora.rac1.ons application ONLINE ONLINE rac1

ora.rac1.vip application ONLINE ONLINE rac1

ora....SM2.asm application ONLINE ONLINE rac2

ora....C2.lsnr application ONLINE ONLINE rac2

ora.rac2.gsd application ONLINE ONLINE rac2

ora.rac2.ons application ONLINE ONLINE rac2

ora.rac2.vip application ONLINE ONLINE rac2

[oracle@rac2 css]$

$ORA_CRS_HOME/bin/crs_start –all

此命令用来启动所有的集群服务,但是启动的前提是 资源状态State不能是UNKNOWN。

$ORA_CRS_HOME/bin/crs_start 集群服务名(集群服务名可以通过$ORA_CRS_HOME/bin/crs_stat得到)

$ORA_CRS_HOME/bin/crs_stop -all

$ORA_CRS_HOME/bin/crs_stop 集群服务名(集群服务名可以通过$ORA_CRS_HOME/bin/crs_stat得到)

上面的一组crs命令是用来启动关闭crs服务的,下面通过一个真实的环境,具体讲解这些命令的使用。

举例如下:

Oracle RAC在安装完毕后,重启RAC,一些服务不能启动,手动启动也没用。

下面是系统自动启动以后的情况;

[oracle@rac1 ~]$ crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....CL1.srv application ONLINE UNKNOWN rac1

ora....CL2.srv application ONLINE UNKNOWN rac2

ora....TEST.cs application ONLINE UNKNOWN rac2

ora....L1.inst application ONLINE OFFLINE

ora....L2.inst application ONLINE OFFLINE

ora.ORCL.db application ONLINE UNKNOWN rac1

ora....SM1.asm application ONLINE UNKNOWN rac1

ora....C1.lsnr application ONLINE UNKNOWN rac1

ora.rac1.gsd application ONLINE UNKNOWN rac1

ora.rac1.ons application ONLINE UNKNOWN rac1

ora.rac1.vip application ONLINE ONLINE rac1

ora....SM2.asm application ONLINE UNKNOWN rac2

ora....C2.lsnr application ONLINE UNKNOWN rac2

ora.rac2.gsd application ONLINE UNKNOWN rac2

ora.rac2.ons application ONLINE UNKNOWN rac2

ora.rac2.vip application ONLINE ONLINE rac2

[oracle@rac1 ~]$

可以看到,只有vip是能自动启动的!其它资源都处于UNKNOWN状态下。

手工用srvctl启动试试!

$ srvctl start nodeapps -n rac1

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.gsd' has placement error.

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.vip' has placement error.

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.ons' has placement error.

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.LISTENER_RAC1.lsnr' has placement error.

测试crs:

$crsctl check crs

CSS appears healthy

CRS appears healthy

EVM appears healthy

[oracle@rac1 bin]$ crsctl start resources

Starting resources.

Successfully started CRS resources

[oracle@rac1 bin]$ pwd

/oracle/app/oracle/oracle/product/10.2.0/crs/bin

[oracle@rac1 bin]$ gsdctl stop

[oracle@rac1 bin]$ gsdctl status

[oracle@rac1 bin]$ ./gsdctl status

[oracle@rac1 bin]$ gsdctl start

[oracle@rac1 bin]$ srvctl start nodeapps -n rac1

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.gsd' has placement error.

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.vip' has placement error.

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.ons' has placement error.

CRS-1028: Dependency analysis failed because of:

CRS-0223: Resource 'ora.rac1.LISTENER_RAC1.lsnr' has placement error.

[oracle@rac1 ~]$ crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....CL1.srv application ONLINE UNKNOWN rac1

ora....CL2.srv application ONLINE UNKNOWN rac2

ora....TEST.cs application ONLINE UNKNOWN rac2

ora....L1.inst application ONLINE OFFLINE

ora....L2.inst application ONLINE OFFLINE

ora.ORCL.db application ONLINE UNKNOWN rac1

ora....SM1.asm application ONLINE UNKNOWN rac1

ora....C1.lsnr application ONLINE UNKNOWN rac1

ora.rac1.gsd application ONLINE UNKNOWN rac1

ora.rac1.ons application ONLINE UNKNOWN rac1

ora.rac1.vip application ONLINE ONLINE rac1

ora....SM2.asm application ONLINE UNKNOWN rac2

ora....C2.lsnr application ONLINE UNKNOWN rac2

ora.rac2.gsd application ONLINE UNKNOWN rac2

ora.rac2.ons application ONLINE UNKNOWN rac2

ora.rac2.vip application ONLINE ONLINE rac2

可以看到,仍然是启动后的原始状态。

从上面的显示可以知道,每个资源的State显示为UNKNOWN,应该是由于两个节点时间不同步,进而造成crs在启动的时候无法认到系统已经注册的资源造成的。

解决方法:

首先,保证两个节点时间保持同步,ORACLE 10g RAC两个节点之间有10几秒的时间误差,不会对应用造成影响。但是过分大的时间误差可能导致某个节点down机,或者节点不断重启。

然后执行如下操作:

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop –all

Attempting to stop `ora.rac1.vip` on member `rac1`

Attempting to stop `ora.rac2.vip` on member `rac2`

Stop of `ora.rac2.vip` on member `rac2` succeeded.

Stop of `ora.rac1.vip` on member `rac1` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....CL1.srv application ONLINE UNKNOWN rac1

ora....CL2.srv application ONLINE UNKNOWN rac2

ora....TEST.cs application ONLINE UNKNOWN rac2

ora....L1.inst application OFFLINE OFFLINE

ora....L2.inst application OFFLINE OFFLINE

ora.ORCL.db application OFFLINE UNKNOWN rac1

ora....SM1.asm application OFFLINE UNKNOWN rac1

ora....C1.lsnr application OFFLINE UNKNOWN rac1

ora.rac1.gsd application ONLINE UNKNOWN rac1

ora.rac1.ons application ONLINE UNKNOWN rac1

ora.rac1.vip application OFFLINE OFFLINE

ora....SM2.asm application OFFLINE UNKNOWN rac2

ora....C2.lsnr application OFFLINE UNKNOWN rac2

ora.rac2.gsd application ONLINE UNKNOWN rac2

ora.rac2.ons application ONLINE UNKNOWN rac2

ora.rac2.vip application OFFLINE OFFLINE

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stat (此命令可以查看各个资源的完整服务名称)

NAME=ora.ORCL.ORATEST.ORCL1.srv

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

NAME=ora.ORCL.ORATEST.ORCL2.srv

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

NAME=ora.ORCL.ORATEST.cs

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac2

NAME=ora.ORCL.ORCL1.inst

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

NAME=ora.ORCL.ORCL2.inst

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

NAME=ora.ORCL.db

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

NAME=ora.rac1.ASM1.asm

TYPE=application

TARGET=OFFLINE

STATE=UNKNOWN on rac1

NAME=ora.rac1.LISTENER_RAC1.lsnr

TYPE=application

TARGET=OFFLINE

STATE=UNKNOWN on rac1

NAME=ora.rac1.gsd

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac1

NAME=ora.rac1.ons

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac1

NAME=ora.rac1.vip

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac1

NAME=ora.rac2.ASM2.asm

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

NAME=ora.rac2.LISTENER_RAC2.lsnr

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

NAME=ora.rac2.gsd

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac2

NAME=ora.rac2.ons

TYPE=application

TARGET=ONLINE

STATE=UNKNOWN on rac2

NAME=ora.rac2.vip

TYPE=application

TARGET=OFFLINE

STATE=OFFLINE

$ORA_CRS_HOME/bin/crs_stop –all只能停掉State为ONLINE的服务,状态为UNKNOWN的资源不能通过这个命令关闭,因此可以通过$ORA_CRS_HOME/bin /crs_stop 服务名 的方式单独停止那些状态为UNKNOWN的资源。

下面是通过$ORA_CRS_HOME/bin/crs_stop命令依次停止资源状态State为UNKNOWN的服务。

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.ORCL.ORATEST.cs

Attempting to stop `ora.ORCL.ORATEST.cs` on member `rac2`

Stop of `ora.ORCL.ORATEST.cs` on member `rac2` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.rac1.ASM1.asm

Attempting to stop `ora.rac1.ASM1.asm` on member `rac1`

Stop of `ora.rac1.ASM1.asm` on member `rac1` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.rac1.LISTENER_RAC1.lsnr

Attempting to stop `ora.rac1.LISTENER_RAC1.lsnr` on member `rac1`

Stop of `ora.rac1.LISTENER_RAC1.lsnr` on member `rac1` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.rac1.ons

Attempting to stop `ora.rac1.ons` on member `rac1`

Stop of `ora.rac1.ons` on member `rac1` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.rac1.vip

Attempting to stop `ora.rac1.vip` on member `rac1`

Stop of `ora.rac1.vip` on member `rac1` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.rac2.gsd

Attempting to stop `ora.rac2.gsd` on member `rac2`

Stop of `ora.rac2.gsd` on member `rac2` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.rac2.ons

Attempting to stop `ora.rac2.ons` on member `rac2`

Stop of `ora.rac2.ons` on member `rac2` succeeded.

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stop ora.rac1.gsd

Attempting to stop `ora.rac1.gsd` on member `rac1`

Stop of `ora.rac1.gsd` on member `rac1` succeeded.

………….

把所有状态为UNKNOWN的资源全部停止以后,再次查看资源状态:

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....CL1.srv application OFFLINE OFFLINE

ora....CL2.srv application OFFLINE OFFLINE

ora....TEST.cs application OFFLINE OFFLINE

ora....L1.inst application OFFLINE OFFLINE

ora....L2.inst application OFFLINE OFFLINE

ora.ORCL.db application OFFLINE OFFLINE

ora....SM1.asm application OFFLINE OFFLINE

ora....C1.lsnr application OFFLINE OFFLINE

ora.rac1.gsd application OFFLINE OFFLINE

ora.rac1.ons application OFFLINE OFFLINE

ora.rac1.vip application OFFLINE OFFLINE

ora....SM2.asm application OFFLINE OFFLINE

ora....C2.lsnr application OFFLINE OFFLINE

ora.rac2.gsd application OFFLINE OFFLINE

ora.rac2.ons application OFFLINE OFFLINE

ora.rac2.vip application OFFLINE OFFLINE

此时可以重启所有crs资源了

[oracle@rac1 ~]$ $ORA_CRS_HOME/bin/crs_start –all(注意,这里是在oracle用户下操作)

Attempting to start `ora.rac1.vip` on member `rac1`

Attempting to start `ora.rac2.vip` on member `rac2`

Start of `ora.rac2.vip` on member `rac2` succeeded.

Attempting to start `ora.rac2.ASM2.asm` on member `rac2`

Start of `ora.rac1.vip` on member `rac1` succeeded.

Attempting to start `ora.rac1.ASM1.asm` on member `rac1`

Start of `ora.rac2.ASM2.asm` on member `rac2` succeeded.

Attempting to start `ora.ORCL.ORCL2.inst` on member `rac2`

Start of `ora.rac1.ASM1.asm` on member `rac1` succeeded.

Attempting to start `ora.ORCL.ORCL1.inst` on member `rac1`

Start of `ora.ORCL.ORCL2.inst` on member `rac2` succeeded.

Attempting to start `ora.rac2.LISTENER_RAC2.lsnr` on member `rac2`

Start of `ora.rac2.LISTENER_RAC2.lsnr` on member `rac2` succeeded.

Start of `ora.ORCL.ORCL1.inst` on member `rac1` succeeded.

Attempting to start `ora.rac1.LISTENER_RAC1.lsnr` on member `rac1`

Start of `ora.rac1.LISTENER_RAC1.lsnr` on member `rac1` succeeded.

Attempting to start `ora.ORCL.ORATEST.ORCL1.srv` on member `rac1`

CRS-1002: Resource 'ora.rac1.ons' is already running on member 'rac1'

CRS-1002: Resource 'ora.ORCL.db' is already running on member 'rac1'

CRS-1002: Resource 'ora.rac2.ons' is already running on member 'rac2'

Attempting to start `ora.ORCL.ORATEST.ORCL2.srv` on member `rac2`

Attempting to start `ora.ORCL.ORATEST.cs` on member `rac2`

Attempting to start `ora.rac1.gsd` on member `rac1`

Attempting to start `ora.rac2.gsd` on member `rac2`

Start of `ora.ORCL.ORATEST.cs` on member `rac2` succeeded.

Start of `ora.rac2.gsd` on member `rac2` succeeded.

Start of `ora.ORCL.ORATEST.ORCL2.srv` on member `rac2` succeeded.

Start of `ora.rac1.gsd` on member `rac1` succeeded.

Start of `ora.ORCL.ORATEST.ORCL1.srv` on member `rac1` succeeded.

CRS-0223: Resource 'ora.ORCL.db' has placement error.

CRS-0223: Resource 'ora.rac1.ons' has placement error.

CRS-0223: Resource 'ora.rac2.ons' has placement error.

[oracle@rac1 ~]$ crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora....CL1.srv application ONLINE ONLINE rac1

ora....CL2.srv application ONLINE ONLINE rac2

ora....TEST.cs application ONLINE ONLINE rac2

ora....L1.inst application ONLINE ONLINE rac1

ora....L2.inst application ONLINE ONLINE rac2

ora.ORCL.db application ONLINE ONLINE rac1

ora....SM1.asm application ONLINE ONLINE rac1

ora....C1.lsnr application ONLINE ONLINE rac1

ora.rac1.gsd application ONLINE ONLINE rac1

ora.rac1.ons application ONLINE ONLINE rac1

ora.rac1.vip application ONLINE ONLINE rac1

ora....SM2.asm application ONLINE ONLINE rac2

ora....C2.lsnr application ONLINE ONLINE rac2

ora.rac2.gsd application ONLINE ONLINE rac2

ora.rac2.ons application ONLINE ONLINE rac2

ora.rac2.vip application ONLINE ONLINE rac2

此时,看到crs所有资源全部启动,问题解决。

其它一些常用命令:

$ORA_CRS_HOME/bin/crsctl check crs 用于检查后台进程状态

$ORA_CRS_HOME/bin/crsctl start resources 启动crs资源

$ORA_CRS_HOME/bin/crsctl start crs 启动crs,需要超级用户操作。

$ORA_CRS_HOME/bin/crsctl stop crs 关闭crs,需要超级用户操作。

$ORA_CRS_HOME/bin/crs_unregister 取消注册crs

$ORA_CRS_HOME/bin/ocrcheck 检查ocr设置信息用ocrcheck

$ORA_CRS_HOME/bin/crsctl query css votedisk 检查表决磁盘信息

举例:

[oracle@rac2 css]$ ocrcheck

Status of Oracle Cluster Registry is as follows :

Version : 2

Total space (kbytes) : 104344

Used space (kbytes) : 4568

Available space (kbytes) : 99776

ID : 328160432

Device/File Name : /dev/raw/raw4

Device/File integrity check succeeded

Device/File Name : /dev/raw/raw5

Device/File integrity check succeeded

Cluster registry integrity check succeeded

[oracle@rac2 css]$ $ORA_CRS_HOME/bin/ocrcheck

Status of Oracle Cluster Registry is as follows :

Version : 2

Total space (kbytes) : 104344

Used space (kbytes) : 4568

Available space (kbytes) : 99776

ID : 328160432

Device/File Name : /dev/raw/raw4

Device/File integrity check succeeded

Device/File Name : /dev/raw/raw5

Device/File integrity check succeeded

Cluster registry integrity check succeeded

[oracle@rac2 css]$ crsctl query css votedisk

0. 0 /dev/raw/raw6

1. 0 /dev/raw/raw7

2. 0 /dev/raw/raw8

located 3 votedisk(s).

注意:

执行crsctl命令的可以是root用户,也可以是oracle用户,如果是root用户要指定绝对路径,但是对于crsctl start crs和crsctl stop crs必须是root用户来执行。

crs主要进程

(1)crsd

负责管理ha操作

管理crs资源,如linstener,vip,ons,gsn等

由root用户管理、启动

(2)ocssd

管理各节点的关系,用于节点间通信

由oracle用户运行管理

(3)oprocd

集群进程管理 —Process monitor for the cluster.

仅在没有使用vendor的集群软件状态下运行

(4)evmd

事件检测进程,由oracle用户运行管理

(5)主要log位置

$ORA_CRS_HOME/log/节点主机名/racg

$ORA_CRS_HOME/log/节点主机名/crsd

$ORA_CRS_HOME/crs/init

$ORA_CRS_HOME/css/log

$ORA_CRS_HOME/css/init

$ORA_CRS_HOME/evm/log

$ORA_CRS_HOME/evm/init

$ORA_CRS_HOME/srvm/log

oracle集群crs,oracle rac集群 crs常用命令(转)相关推荐

  1. oracle同机单实例加入集群,将oracle同机单实例加入rac集群的操作步骤

    [导读] 最近做了一个迁移项目,将同机单实例数据库添加到集群中.当时由于建实例的时候,没有将数据库建成rac,而是建成了一个单实例 最近做了一个迁移项目,将同机单实例数据库添加到集群中.当时由于建实例 ...

  2. adg oracle 架构_基于 Oracle RAC/ADG/OGG 等设计数据库双活方案,必须掌握五方面知识点...

    原标题:基于 Oracle RAC/ADG/OGG 等设计数据库双活方案,必须掌握五方面知识点 上周,社区组织活动就数据库(Oracle)双活方案进行了深入探讨,包括如何选择双活方案.具体方案的复杂度 ...

  3. oracle 课程目录,cuug oracle DBA课程目录及简介

    代码 课程名称 先修课程 天數 Oracle 功夫DBA项目实战班 Oracle Database 9i/10g TO-01 SUN Solaris系统与网络管理 计算机基础 10 Oracle 数据 ...

  4. oracle rman 实例,Oracle数据库rman常用命令的使用示例

    Oracle数据库rman常用命令的使用是本文我们主要要介绍的内容,接下来我们就开始介绍这一部分内容,希望能够对您有些收获! 连接到rman 1.连接到目标数据库(不使用恢复目录) [oracle@l ...

  5. Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理

    1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...

  6. linux crs,linux上oracle rac集群 crs常用命令

    常用的crs命令如下: $ORA_CRS_HOME/bin/crs_stat –t? 此命令主要用来检查crs资源状态 例如 [oracle@rac2 css]$ $ORA_CRS_HOME/bin/ ...

  7. ORACLE 11g RAC 集群的管理与维护(3) —— crsctl 命令之(三) :管理 crs

    ORACLE 11g RAC 集群的管理与维护(3) -- crsctl 命令之(三) :管理 crs CRS(Cluster Ready Service,集群就绪服务).CRS 主要完成集群成员管理 ...

  8. 转载:oracle RAC集群启动和关闭

    http://www.cnblogs.com/yhfssp/p/8184761.html oracle 11G RAC集群启动和关闭: 1.停止数据库 $srvctl stop database –d ...

  9. Oracle RAC集群体系结构

    一. Oracle集群体系结构 Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Ora ...

最新文章

  1. php打印负载函数、Linux awk打印负载
  2. Educational Codeforces Round 80 (Rated for Div. 2) E. Messenger Simulator 思维 + 树状数组
  3. 外部jar包_大数据系列之PySpark读写外部数据库
  4. 西建大历年电子与通信工程复试真题_学姐分享2020年西安电子科技大学电子与通信工程考研初复试经验指导...
  5. Android -- 自定义ScrollView实现放大回弹效果
  6. 在Web中实现C/S模式的Tab
  7. php tp5.3,[李景山php]每天TP5-20161226|thinkphp5-Console.php-3
  8. angularjs框架
  9. 如何才能一统编程语言的江湖?
  10. iOS链式动画、Spring动画,TimingFunction扩展
  11. Django的Model上都有些什么
  12. 为用户设计良好的接口
  13. VMware Harbor现已加入Rancher社区Catalog
  14. java思维导图 - -13张思维导图带你快速入门 --
  15. 招生 | 高级项目经理沙盘演练培训课程
  16. python 股票回测系统_Python爬虫回测股票的实例讲解
  17. 最值得爸爸妈妈学习的儿童教育书籍推荐
  18. (转)loff_t *ppos是什么东东
  19. 华为鸿蒙到底是不是安卓系统套了个壳?
  20. [转]Anders Hejlsberg谈C#、Java和C++中的泛型

热门文章

  1. C++春招实习和秋招面试过程记录
  2. mysql语句批量更新数据库_sql 更新批量数据库语句
  3. 自动控制系统实验总结
  4. 苹果应用上架被拒各种原因
  5. Android连接逍遥模拟器
  6. C#利用控件拖拽技术制作拼图游戏
  7. 2020年iOS如何申请苹果公司开发者账号流程详细图文介绍
  8. seo关键词优化的技巧
  9. pygame坦克大战
  10. 怎么_如何制作h5页面?