您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關has、ohasd、crs、cluster區別和聯系是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
has是高可用服務,用在restart環境,可以是單機環境也可以是RAC環境,不管單機環境還是RAC環境,都可以執行crsctl check has,在RAC環境下,可以簡單理解成cluster的一部分
ohasd是has后臺進程的概念
crs是集群就緒服務,用在RAC環境,單機環境不能執行crsctl check crs,crsctl start CRS不單單啟動CRSD了,等于啟動OHASD、CRSD、CSSD三者了
cluster就是集群的意思,用在RAC環境,單機環境不能執行crsctl check cluster
單機環境無法執行crsctl check crs、crsctl check cluster,但是可以執行crsctl stat res、crsctl check css、crsctl check has
Oracle high availability services(HAS)
Oracle Restart uses Oracle high availability services to start and stop automatically the components managed by Oracle Restart. For example, Oracle high availability services daemons automatically start databases, listeners, and Oracle ASM instances. When Oracle high availability services are disabled, none of the components managed by Oracle Restart are started when a node is rebooted.
Oracle Restart使用Oracle高可用性服務來自動啟動和停止由Oracle Restart管理的組件。 例如,Oracle高可用性服務守護進程自動啟動數據庫,偵聽器和Oracle ASM實例。 當Oracle高可用性服務被禁用時,重啟節點時將不啟動Oracle Restart管理的組件。
crsctl command has
where command is a verb such as start, stop, or enable. The has object indicates Oracle high availability services
check Displays the Oracle Restart status.
config Displays the Oracle Restart configuration.
disable Disables automatic restart of Oracle Restart.
enable Enables automatic restart of Oracle Restart.
start Starts Oracle Restart.
stop Stops Oracle Restart.
Oracle High Availability Services Daemon(OHASD)
This process anchors the lower part of the Oracle Clusterware stack, which consists of processes that facilitate cluster operations.
Oracle Restart improves the availability of your Oracle database. When you install OracleRestart, various Oracle components can be automatically restarted after ahardware or software failure or whenever your database host computer restarts.
此過程將固定Oracle Clusterware堆棧的較低部分,該堆棧由促進群集操作的進程組成。
Oracle Restart 能提高數據庫的可用性,當安裝了Oracle Restart 之后,在系統出現硬件或者軟件問題,或者主機重啟之后,OracleRestart管理的組件都能自動的進行啟動。
OHASD是一個后臺的守護進程,其可用來啟動和監控OracleRestart進程。該進程由/etc/init.d/ohasd 腳本來初始化,并由root用戶來執行ohasd.bin來啟動,如下
[root@pdba ~]# ps -ef|grep has|grep -v grep
root 5281 1 0 Jun25 ? 14:28:09 /u01/app/11.2.0/grid/bin/ohasd.bin reboot
root 13261 1 0 Jun25 ? 00:00:00 /bin/sh /etc/init.d/init.ohasd run
OHASD無法kill,一旦kill,立馬又會被拉起了(參考/etc/initab中的respawn含義)
[root@TEST ~]# cat /etc/inittab|grep init.ohasd
h2:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1
Note: Oracle Linux 6 (OL6) or Red Hat Linux 6 (RHEL6) has deprecated inittab, rather, init.ohasd will be configured via upstart in /etc/init/oracle-ohasd.conf, however, the process ""/etc/init.d/init.ohasd run" should still be up. Oracle Linux 7 (and Red Hat Linux 7) uses systemd to manage start/stop services (example: /etc/systemd/system/oracle-ohasd.service)
注意:Oracle Linux 6(OL6)或Red Hat Linux 6(RHEL6)已經棄用了inittab,相反,init.ohasd將通過/etc/init/oracle-ohasd.conf中的upstart配置,但是,進程“/etc/init.d/init.ohasd run“仍然應該啟動,Oracle Linux 7(和Red Hat Linux 7)使用systemd來管理啟動/停止服務(例如:/etc/systemd/system/oracle-ohasd.service)
[root@pdba ~]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@pdba ~]# cat /etc/init/oracle-ohasd.conf
# Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
#
# Oracle OHASD startup
start on runlevel [35]
stop on runlevel [!35]
respawn
exec /etc/init.d/init.ohasd run >/dev/null 2>&1
對于standalone server,使用OHASD來管理Oracle Restart,并且不需要CRSD進程的支持。可以使用OHASD管理的組件如下:
1.CSSD: This is used for Group Services as it was inprevious releases (when it was installed using “localconfig add“)
2.ASM Instance :if Automatic Storage Management is used.
3.ASM Disk Groups: if Automatic Storage Management is used.
4.Listeners
5.Database Instances
6.Database Services
7.ONS/EONS :Used for automatic failover of connections usingFast Application Notification (FAN) in a Data Guard environment
Cluster Ready Services (CRS)
Cluster Ready Services Daemon (CRSD)
The primary Oracle Clusterware process that performs high availability recovery and management operations, such as maintaining OCR. Also manages application resources and runs as root user (or by a user in the admin group on Mac OS X-based systems) and restarts automatically upon failure.
執行高可用性恢復和管理操作(如維護OCR)的主要Oracle Clusterware進程。 還管理應用程序資源并以root用戶(或基于Mac OS X的系統上的管理員組中的用戶)身份運行,并在失敗時自動重新啟動。
[root@pdb02 ~]# ps -ef|grep crs|grep -v grep
root 3672 1 0 13:15 ? 00:00:48 /u01/app/11.2.0/grid/bin/crsd.bin reboot
Cluster
Oracle Clusterware enables servers to communicate with each other, so that they appear to function as a collective unit. This combination of servers is commonly known as a cluster. Although the servers are standalone servers, each server has additional processes that communicate with other servers. In this way the separate servers appear as if they are one system to applications and end users.
Oracle集群件使服務器能夠相互通信,以使它們看起來像是一個集體單元。 這種服務器組合通常被稱為集群。 雖然服務器是獨立的服務器,但每臺服務器都有其他的進程與其他服務器通信。 通過這種方式,獨立服務器看起來好像是應用程序和最終用戶的一個系統。
CRS
crsctl start crs
Use the crsctl start crs command to start Oracle High Availability Services on the local server.
crsctl check crs
Use the crsctl check crs command to check the status of Oracle High Availability Services and the Oracle Clusterware stack on the local server.
crsctl stop crs
Use the crsctl stop crs command to stop Oracle High Availability Services on the local server.
cluster
crsctl start cluster
Use the crsctl start cluster command on any node in the cluster to start the Oracle Clusterware stack.
crsctl check cluster
Use the crsctl check cluster command on any node in the cluster to check the status of the Oracle Clusterware stack.
crsctl stop cluster
Use the crsctl stop cluster command on any node in the cluster to stop the Oracle Clusterware stack on all servers in the cluster or specific servers.
has
crsctl start has
Use the crsctl start has command to start Oracle High Availability Services on the local server
crsctl check has
Use the crsctl check has command to check the status of ohasd.
crsctl stop has
Use the crsctl stop has command to stop Oracle High Availability Services on the local server
RAC的一臺節點執行的結果
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl config has
CRS-4622: Oracle High Availability Services autostart is enabled.
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl config crs
CRS-4622: Oracle High Availability Services autostart is enabled.
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl config cluster
Parse error:
'cluster' is an invalid argument
[root@node1 grid]# crsctl check 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
----crsctl start CRS不單單啟動CRSD了,等于啟動OHASD、CRSD、CSSD三者了
[root@node1 grid]# crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@pdba ~]# crsctl check has
CRS-4638: Oracle High Availability Services is online
crsctl check cssd被crsctl check css取代了
[root@node1 ~]# crsctl check cssd
CRS-272: This command remains for backward compatibility only
Cluster Synchronization Services is online
crsctl check crsd被crsctl check crs取代了
[root@node1 grid]# crsctl check crsd
CRS-272: This command remains for backward compatibility only
Cluster Ready Services is online
但是沒有crsctl start cssd、crsctl start crsd這樣的命令
RAC的一臺節點執行的結果
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl start has
CRS-4123: Oracle High Availability Services has been started.
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl start has
CRS-4640: Oracle High Availability Services is already active
CRS-4000: Command Start failed, or completed with errors.
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl check has
CRS-4638: Oracle High Availability Services is online
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl stop has
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'pdb02'
CRS-2673: Attempting to stop 'ora.crsd' on 'pdb02'
CRS-2677: Stop of 'ora.crsd' on 'pdb02' succeeded
CRS-2673: Attempting to stop 'ora.mdnsd' on 'pdb02'
CRS-2673: Attempting to stop 'ora.ctssd' on 'pdb02'
CRS-2673: Attempting to stop 'ora.evmd' on 'pdb02'
CRS-2673: Attempting to stop 'ora.asm' on 'pdb02'
CRS-2677: Stop of 'ora.ctssd' on 'pdb02' succeeded
CRS-2677: Stop of 'ora.evmd' on 'pdb02' succeeded
CRS-2677: Stop of 'ora.mdnsd' on 'pdb02' succeeded
CRS-2677: Stop of 'ora.asm' on 'pdb02' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'pdb02'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'pdb02' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'pdb02'
CRS-2677: Stop of 'ora.cssd' on 'pdb02' succeeded
CRS-2673: Attempting to stop 'ora.crf' on 'pdb02'
CRS-2677: Stop of 'ora.crf' on 'pdb02' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'pdb02'
CRS-2677: Stop of 'ora.gipcd' on 'pdb02' succeeded
CRS-2673: Attempting to stop 'ora.gpnpd' on 'pdb02'
CRS-2677: Stop of 'ora.gpnpd' on 'pdb02' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'pdb02' has completed
CRS-4133: Oracle High Availability Services has been stopped
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl check has
CRS-4639: Could not contact Oracle High Availability Services
[root@pdb02 ~]# /u01/app/11.2.0/grid/bin/crsctl stop has
CRS-2796: The command may not proceed when Cluster Ready Services is not running
CRS-4687: Shutdown command has completed with errors.
CRS-4000: Command Stop failed, or completed with errors.
單機執行的結果
[root@GIOSONLY app]# /u01/app/oracle/product/11.2.0/grid/bin/crsctl start has
CRS-4123: Oracle High Availability Services has been started.
[root@GIOSONLY app]# /u01/app/oracle/product/11.2.0/grid/bin/crsctl start has
CRS-4640: Oracle High Availability Services is already active
CRS-4000: Command Start failed, or completed with errors.
[root@GIOSONLY app]# /u01/app/oracle/product/11.2.0/grid/bin/crsctl check has
CRS-4638: Oracle High Availability Services is online
[root@GIOSONLY app]# /u01/app/oracle/product/11.2.0/grid/bin/crsctl stop has
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'giosonly'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'giosonly'
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'giosonly'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'giosonly' succeeded
CRS-5022: Stop of resource "ora.DATA.dg" failed: current state is "UNKNOWN"
CRS-2675: Stop of 'ora.DATA.dg' on 'giosonly' failed
CRS-2679: Attempting to clean 'ora.DATA.dg' on 'giosonly'
CRS-2681: Clean of 'ora.DATA.dg' on 'giosonly' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'giosonly'
CRS-2677: Stop of 'ora.asm' on 'giosonly' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'giosonly'
CRS-2677: Stop of 'ora.cssd' on 'giosonly' succeeded
CRS-2673: Attempting to stop 'ora.evmd' on 'giosonly'
CRS-2677: Stop of 'ora.evmd' on 'giosonly' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'giosonly' has completed
CRS-4133: Oracle High Availability Services has been stopped.
[root@GIOSONLY app]# /u01/app/oracle/product/11.2.0/grid/bin/crsctl check has
CRS-4639: Could not contact Oracle High Availability Services
[root@GIOSONLY app]# /u01/app/oracle/product/11.2.0/grid/bin/crsctl stop has
CRS-4544: Unable to connect to OHAS
CRS-4000: Command Stop failed, or completed with errors.
關于has、ohasd、crs、cluster區別和聯系是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。