Voting disk is the file that does store cluster and node membership information that is being used by cluster synchronization services (CSS) in Oracle RAC environment. Voting disk and OCRaretypically storedin shared storage location in Oracle RAC. The shared storage can be of type OCFS, OCFS2, Oracle ASM cluster File system (ACFS) and NFS that is certified on NAS and that is part of oracle compatability program list. Oracle Cluster File System (OCFS):
Oracle Cluster File System (OCFS) is an open source cluster file system provided by Oracle for use with Linux, Solaris, Windows.OCFS Version2 is the latest version from Oracle corporation.
OCFS can be used to store shared Oracle Home directories and nondatabase files. This option can be used if we use Oracle database 10g standard edition with RAC option.
Oracle ASM is the storage location onto which RAC critical files like oracle cluster registry (OCR), voting disk can be stored. As per oracle best practice OCR can be stored with external redundancy. When it comes to storing the voting disk at any point-in-time three copies of voting disk needs to be maintained in three different disk drive location. Oracle ASM high redundancy can be made use of to accomplish three way mirroring of voting disk
SRVCTL Tool – Server Control Utility is a command-line tool.It can perform many of the tasks that are performed by the GUI tool Oracle Enterprise Manager (OEM).In Oracle 9.0.1 and 9.2 srvctl stored its information in the server management file – SRVM
In Oracle 10.1 and higher versions srvctl’s configuration information and status information is stored in the Oracle Cluster Registry (OCR).The information maintained by srvctl is used by several other tools like EM.
SRVCTL performs starting and stopping instances.
SRVCTL calls SQL*PLUS option in each node and performs the above mentioned operations.
srvctl(Server Control) Tool is used to manage various cluster resources. Cluster resources include database instance,ASM instance,nodeapps,Oracle database,services to name a few.Various usage of srvctl tool has been discussed below.
srvctl command object [options]
srvctl – is the command to start the SRVCTL utility.
command – is a verb such as start, stop, or remove.
object – is an object or target on which SRVCTL performs the command, such as database or instance. We can also use object abbreviations.
options – extend the use of a preceding command combination to include additional parameters for the command. For example, the -i option indicates that a comma-delimited list of preferred instance names follows; sometimes the -i option only permits one value and not a list of names. The -n option indicates that a node name or a comma-delimited list of node names.
srvctl must be run from the $ORACLE_HOME of the Oracle RAC (Real application Cluster) we are administering.The basic format of a srvctl command is :
command is one of
target/object can be a database, instance, service, ASM instance, nodeapps
While configuring the RAC, when we attempt to start the cluster using crsctl, we might encounter the error CRS-4535 Cannot communicate with Cluster Ready Services. This is a typical issue that does happen for one of the following two reasons
1) Networking issue between the nodes involved in RAC clustering
2) Permission issue at the storage level
In either of the above to cases there will be an issue with the cluster
As a first step issue ping command among nodes. Make sure the nodes involved in clustering can be communicated via public IP, private IP, virtual IP
If it turns out that the issue is not owing to IP, investigate the issue from storage level permission
Once the luns from SAN/NAS has been allocated for usage as ASM disks, they are assigned permissions. This is available under
ls -l /dev/oracleasm/disks
If you would have installed grid infrastructure as root user these disks should have user:group privilege root:rot. In case the grid infrastructure is installed as oracle user the permission should be set accordingly. Change the needed permission.
Start the crs using crsctl start crs
Check the status crsctl check crs
In case of UNIX, check for cssd process as follows:
ps -ef|grep css
In case of automation using scripting in a windows environment it is a good practice to check the existence of OracleServiceSID before performing start, stop, deletion,creation of a service related to Oracle. Here is the simple commands in windows environment that helps us perform this search
E:>sc query|find “Oracle”