加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle CRS简介

发布时间:2020-12-12 16:31:23 所属栏目:百科 来源:网络整理
导读:OracleCRS简介 从Oracle 10gR1 RAC 开始,Oracle推出了自身的集群软件,这个软件的名称叫做Oracle Cluster Ready Service(Oracle集群就绪服务),简称CRS。从Oracle 10gR2开始,包括最新的11g,Oracle将其更名为Clusterware(集群件),但通常意义上我们认为C


从Oracle 10gR1 RAC 开始,Oracle推出了自身的集群软件,这个软件的名称叫做Oracle Cluster Ready Service(Oracle集群就绪服务),简称CRS。从Oracle 10gR2开始,包括最新的11g,Oracle将其更名为Clusterware(集群件),但通常意义上我们认为CRS = Clusterware = Oracle Cluster Ready Service = Oracle Cluster Software.

CRS一般用来搭建Oracle的并行数据库,即RAC,但除了与RAC的接口之外,CRS还提供了一组高可用性的应用程序接口(API),用来搭建一般应用程序的高可用集群,即一般我们常说的双机热备,比如使用CRS实现MySQL的双机热备。

Oracle10g New Feature:CRS(Cluster Ready Services)

作者:eygle |English Version【转载时请以超链接形式标明文章出处和作者信息及本声明
链接:http://www.eygle.com/archives/2005/10/oracle10g_new_feature_crs.html

Oracle10g CRS(Cluster Ready Services)是Oracle10g RAC的一个新特性,用以提供标准的群集服务接口。
在以前的版本中,Oracle RAC必须借助第三方Cluster软件,但是从Oracle10g开始,我们有了新的选择。
CRS就是这样一个替代产品,用以提供RAC环境中的群集服务。

CRS是一个单独的产品,在构建RAC环境中,需要单独安装。

(在Oracle刚推出CRS时,Oracle还没发明ClusterWare这个词。
所以最初的CRS就是指现在的Clusterware,如果你注意过的话最初Oracle的安装盘上装Clusterware的时候,都说的是CRS。

所以提到Cluster Ready Services,大家都知道指的是Oracle的Clusterware而不是crs daemon.

只不过从10gR2开始,ClusterWare被引入,CRS这个词的含义被Oracle偷偷的缩小了。)

系统启动以后,CRS会自动启动,启动主要由/etc/init.d中的几个脚本完成:


[eygle@raclinux1init.d]$llinit*
-r-xr-xr-x1rootroot1951Jun2713:27init.crs
-r-xr-xr-x1rootroot4735Jun2720:32init.crsd
-r-xr-xr-x1rootroot35401Jun2713:27init.cssd
-r-xr-xr-x1rootroot3197Jun2713:27init.evmd



CRS启动的三个主要的后台进程为:

[oracle@raclinux1bin]$ps-ef|grepd.bin
root31401023:1300:00:00/u01/app/oracle/product/10.2.0/crs/bin/crsd.bin
oracle38843062023:1400:00:00/u01/app/oracle/product/10.2.0/crs/bin/evmd.bin
oracle40173983023:1400:00:00/u01/app/oracle/product/10.2.0/crs/bin/ocssd.bin
oracle2111713799023:29pts/100:00:00grepd.bin




这几个进程的主要作用如下:

CRSD:
-EngineforHAoperation
-Manages'applicationresources'
-Starts,stops,andfails'applicationresources'over
-Spawnsseparate'actions'tostart/stop/checkapplicationresources
-MaintainsconfigurationprofilesintheOCR(OracleConfigurationRepository)
-StorescurrentknownstateintheOCR.
-Runsasroot
-Isrestartedautomaticallyonfailure

OCSSD:
-OCSSDispartofRACandSingleInstancewithASM
-Providesaccesstonodemembership
-Providesgroupservices
-Providesbasicclusterlocking
-Integrateswithexistingvendorclusteware,whenpresent
-Canalsorunswithoutintegrationtovendorclustware
-RunsasOracle.
-Failureexitcausesmachinereboot.
---Thisisafeaturetopreventdatacorruptionineventofasplitbrain.

注意,ocssd进程在单实例ASM系统中也可以见到,以下是我的一个单实例ASM系统,ocssd进程同样存在:

bash-2.03#ps-ef|grep_+ASM
oracle326410Aug25?0:01asm_lgwr_+ASM
root126698167011:58:56pts/10:00grep_+ASM
oracle327010Aug25?0:00asm_rbal_+ASM
oracle326610Aug25?0:05asm_ckpt_+ASM
oracle326810Aug25?0:00asm_smon_+ASM
oracle326210Aug25?0:00asm_dbw0_+ASM
oracle325810Aug25?0:00asm_pmon_+ASM
oracle326010Aug25?0:00asm_mman_+ASM
bash-2.03#ps-ef|grepocssd
root126728167011:59:01pts/10:00grepocssd
oracle537410Apr07?0:01/opt/oracle/product/10.1.0/bin/ocssd.bin
bash-2.03#


ocssd进程非常重要,如果该进程异常中止,会导致系统crash。
在某些极端情况下,如果ocssd无法正常启动,会导致操作系统循环重启。这时候需要DBA介入进行一些特殊处理。(解决循环重启的问题是修改/etc/init.d/init.cssd文件,注释掉其中FAST_REBOOT语句)

EVMD:
-Generateseventswhenthingshappen
-Spawnsapermanentchildevmlogger
-Evmlogger,ondemand,spawnschildren
-Scanscalloutdirectoryandinvokescallouts.
-RunsasOracle.
-Restartedautomaticallyonfailure



我们可以通过CRS工具来查看CRS状态:

[oracle@raclinux1~]$cd$ORA_CRS_HOME/bin
[oracle@raclinux1bin]$pwd
/u01/app/oracle/product/10.2.0/crs/bin
[oracle@raclinux1bin]$./crs_stat
NAME=ora.RACDB.RACDB1.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.RACDB.RACDB2.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.RACDB.db
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.raclinux1.ASM1.asm
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.raclinux1.LISTENER2_RACLINUX1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.raclinux1.LISTENER_RACLINUX1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.raclinux1.gsd
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.raclinux1.ons
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

NAME=ora.raclinux1.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINEonraclinux1

[oracle@raclinux1bin]$

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

OracleCRS简介



    推荐文章
      热点阅读