Re: crsctl check resource on Rac

  • From: mvshelton@xxxxxxxxxxxxx
  • To: jure.bratina@xxxxxxxxx
  • Date: Thu, 13 Mar 2014 13:11:38 -0400 (EDT)


 I first tried running the following srvctl commands:

srvctl status diskgroup -g DBFS_DG -a -- this one came back with no error but did not resolve the issue srvctl status diskgroup -g DBFS_DG -v -- this one came back with the error and did not resolve the issue

Thanks, Matt

On Thu, Mar 13, 2014 at 12:27 PM, Jure Bratina wrote:

Others on the list will probably know better the reason for this, but for now maybe these two references:

1) Expert Oracle RAC 12c:
To manage a database, it is advisable to use the srvctl command. While it is possible to manage databases as Clusterware objects using crsctl commands, you should try to use the srvctl command whenever possible. The srvctl command provides an additional layer of security and avoids unnecessary activity in the Clusterware owner account.

2) MOS Doc ID 1053147.1:
Srvctl and crsctl are used to manage clusterware resources.  The general rule is to use srvctl for whatever resource management you can.  Crsctl should only be used for things that you cannot do with srvctl (like start the cluster).

Regards,
Jure Bratina

On Thu, Mar 13, 2014 at 4:55 PM, < mvshelton@xxxxxxxxxxxxx <javascript:parent.wgMail.openComposeWindow('mvshelton@xxxxxxxxxxxxx')>
wrote:
I had a disk group on a node in a RAC cluster go in the intermediate state which prevented srvctl from starting the database because there was a dependency on the diskgroup.  To resolve the issue I ran a crsctl check resource ora.DBFS_DG.dg  which resolved the issue and then the database was able to start just fine through srvctl. 

My question is in the oracle documentation it says not to run crsctl check resource on an ora  resource. Why is that?

From 11.2 documentation see notes in bold  

crsctl check resource
Use the crsctl check resource command to initiate the check action inside the application-specific agent of a particular resource. Oracle Clusterware only provides output if something prevents the system from issuing the check request, such as a bad
resource name.

Usage Notes
■ You must have read and execute permissions on the specified resources to check
them
■  Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources
■ If this command is successful, it only means that a check was issued; it does not
mean the CHECK action has been completed

What I did and results:

oracle@thx2db01 trace]$ crsctl stat res -t

--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS

--------------------------------------------------------------------------------
Local Resources

--------------------------------------------------------------------------------
ora.DATA_THX2.dg
               ONLINE  ONLINE       thx2db01
               ONLINE  ONLINE       thx2db02
ora.DBFS_DG.dg
               ONLINE  INTERMEDIATE thx2db01                 CHECK TIMED OUT
               ONLINE  ONLINE       thx2db02

[oracle@thx2db01 trace]$ crsctl check resource ora.DBFS_DG.dg

[oracle@thx2db01 trace]$ crsctl stat res -t

--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS

--------------------------------------------------------------------------------
Local Resources

--------------------------------------------------------------------------------
ora.DATA_THX2.dg
               ONLINE  ONLINE       thx2db01
               ONLINE  ONLINE       thx2db02
ora.DBFS_DG.dg
               ONLINE  ONLINE       thx2db01
               ONLINE  ONLINE       thx2db02

Other related posts: