ORACLE 12C RAC資料庫的啟停

wzq609發表於2018-07-18

【前言】Oracle 12c RAC已經慢慢開始普及使用了,這邊簡單整理了RAC服務的啟停操作。


【環境說明】

資料庫版本:12.2.0.1

作業系統:Center OS 7.0


【基礎知識】

Oracle RAC跟單節點的啟停有很大的不一樣,因為RAC是在叢集件上面構建起來的,針對叢集件Oracle增加了幾個工具和命令,所以RAC的啟停更多的是這幾個工具的使用而已;

工具的分類,按照功能的區分簡單可以分成兩類:對於Oracle例項的管理srvctl和對於叢集的管理crsctl。


【一】CRSCTL命令介紹

【1】crsctl命令的功能

Oracle Clusterware 11 g release 2 (11.2) introduces cluster-aware commands with which you can perform check, start, and stop operations on the cluster. You can run these commands from any node in the cluster on another node in the cluster, or on all nodes in the cluster, depending on the operation.

You can use CRSCTL commands to perform several operations on Oracle Clusterware, such as:

  • Starting and stopping Oracle Clusterware resources

  • Enabling and disabling Oracle Clusterware daemons

  • Checking the health of the cluster

  • Managing resources that represent third-party applications

  • Integrating Intelligent Platform Management Interface (IPMI) with Oracle Clusterware to provide failure isolation support and to ensure cluster integrity

  • Debugging Oracle Clusterware component


【2】命令的使用

$ crsctl -help
Usage: crsctl add       - add a resource, type or other entity
       crsctl check     - check the state or operating status of a service, resource, or other entity
       crsctl config    - display automatic startup configuration
       crsctl debug     - display or modify debug state
       crsctl delete    - delete a resource, type or other entity
       crsctl disable   - disable automatic startup
       crsctl discover  - discover DHCP server
       crsctl enable    - enable automatic startup
       crsctl eval      - evaluate operations on resource or other entity without performing them
       crsctl get       - get an entity value
       crsctl getperm   - get entity permissions
       crsctl lsmodules - list debug modules
       crsctl modify    - modify a resource, type or other entity
       crsctl query     - query service state
       crsctl pin       - make the leases of specified nodes immutable
       crsctl relocate  - relocate a resource, server or other entity
       crsctl replace   - change the location of voting files
       crsctl release   - release a DHCP lease
       crsctl request   - request a DHCP lease or an action entry point
       crsctl setperm   - set entity permissions
       crsctl set       - set an entity value
       crsctl start     - start a resource, server or other entity
       crsctl status    - get status of a resource or other entity
       crsctl stop      - stop a resource, server or other entity
       crsctl unpin     - make the leases of previously pinned nodes mutable
       crsctl unset     - unset an entity value, restoring its default

這個命令可以看到crsctl的所有功能,還可以繼續對更加詳細的功能進行了解,比如:crsctl start -help


【3】進行叢集件的常用操作

叢集狀態的檢查

[grid@dbrac1 ~]$ crsctl check -help
Usage:
  crsctl check crs
     Check status of OHAS and CRS stack

  crsctl check cluster [[-all]|[-n <server>[...]]]
     Check status of CRS stack

  crsctl check ctss
    Check status of Cluster Time Synchronization Services

  crsctl check resource {<resName> [...]|-w <filter>} [-n <server>] [-k <cid>] [-d <did>]
     Check status of resources

  crsctl check css
     Check status of Cluster Synchronization Services

  crsctl check evm
     Check status of Event Manager

[grid@dbrac1 ~]$ crsctl check cluster -all
**************************************************************
dbrac1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
dbrac2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************

透過以上命令就可以檢查整個叢集件的狀態, oline 說明都是啟動狀態


【叢集的停止操作】

If you intend to stop Oracle Clusterware on all or a list of nodes, then use the command, because it prevents certain resources from being relocated to other servers in the cluster before the Oracle Clusterware stack is stopped on a particular server. If you must stop the Oracle High Availability Services on one or more nodes, then wait until the crsctl stop cluster command completes and then run the crsctl stop crs command on any particular nodes, as necessary.


crsctl stop cluster -all可以關閉叢集件的叢集服務

crsctl stop cluster -n node1 是關閉單臺的叢集服務

如果要關閉單臺的的高可用服務用crsctl stop crs即可,關閉了高可用服務後,構建在高可用服務上的叢集服務也會跟著關閉;


【叢集的啟動操作】

預設的情況下,啟動作業系統後整個叢集會跟著啟動的,但是叢集在啟動的狀態下進行了手工的關閉,那麼就需要進行啟動了。啟動的命令其實也很簡單:

啟動整個叢集的服務:crsctl start cluster -all

啟動單臺的叢集服務:crsctl start cluster

如果這個時候高可用服務也被關了的話,執行命令:crsctl start crs,雖然表面上只啟動OHAS服務,但是相關的叢集服務也會跟著啟動。


【自啟動服務的配置】

剛才說了,叢集服務會自動跟著作業系統的啟用而啟動的,如果作業系統啟動後叢集沒有啟動,要麼叢集有問題,或者叢集的自啟動服務沒啟用,透過下面的命令可以檢查。

[root@dbrac1 ~]# crsctl config crs
CRS-4622: Oracle High Availability Services autostart is enabled.#這個狀態說明是自動啟用的

如果上面檢查出來的狀態是disable,那麼可以透過以下命令進行啟用;
crsctl enable crs


以上是簡單的CRSCTL命令的常用介紹,後續會繼續進行SRVCTL常用命令的介紹。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-2158094/,如需轉載,請註明出處,否則將追究法律責任。

相關文章