A. List for All Databases Managed by Cluster
In the example, shows the listing of status for all databases managed by the cluster.
[oracle@lnx01] export ORACLE_SID=GRID; . oraenv
[oracle@lnx01] crsctl stat res -t -w "TYPE = ora.database.type"
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.salt.db
1 ONLINE ONLINE lnx01 Open
2 ONLINE ONLINE lnx02 Open
ora.pepper.db
1 ONLINE ONLINE lnx01 Open
2 ONLINE ONLINE lnx02 Open
NOTE: The filter from the example can be change from “ora.database.type” to “ora.service.type”. For more options see listing below.
[oracle@lnx01] crsctl stat res |grep "TYPE=" |uniq
TYPE=ora.diskgroup.type
TYPE=ora.listener.type
TYPE=ora.scan_listener.type
TYPE=ora.diskgroup.type
TYPE=application
TYPE=ora.asm.type
TYPE=ora.cluster_vip_net1.type
TYPE=ora.cvu.type
TYPE=ora.database.type
TYPE=ora.service.type
TYPE=ora.database.type
TYPE=ora.service.type
TYPE=ora.gsd.type
TYPE=ora.network.type
TYPE=ora.oc4j.type
TYPE=ora.ons.type
TYPE=ora.scan_vip.type
TYPE=ora.database.type
B. Check Cluster Resources that are offline
Example:
[oracle@lnx01] crsctl stat res -t -w "STATE = OFFLINE"
NOTE: If not using GSD, then it is ok for the following resource to be offline.
Sample Output:
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.gsd
OFFLINE OFFLINE lnx01
OFFLINE OFFLINE lxn02
C. Verifying local resources that are online
Example:
[oracle@lnx01] crsctl stat res -init -t -w "STATE = ONLINE"
NOTE: You can use “-init” to check Local Resources
Sample Output:
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
1 ONLINE ONLINE lnx01 Started
ora.cluster_interconnect.haip
1 ONLINE ONLINE lnx01
ora.crf
1 ONLINE ONLINE lnx01
ora.crsd
1 ONLINE ONLINE lnx01
ora.cssd
1 ONLINE ONLINE lnx01
ora.cssdmonitor
1 ONLINE ONLINE lnx01
ora.ctssd
1 ONLINE ONLINE lnx01 OBSERVER
ora.diskmon
1 ONLINE ONLINE lnx01
ora.drivers.acfs
1 ONLINE ONLINE lnx01
ora.evmd
1 ONLINE ONLINE lnx01
ora.gipcd
1 ONLINE ONLINE lnx01
ora.gpnpd
1 ONLINE ONLINE lnx01
ora.mdnsd
1 ONLINE ONLINE lnx01
D. To check for resources that are Not Online
When I run the “crsctl stat res -t” and it print lines and lines that go on forever of all the resources for your cluster, I find that at times you can easily oversee resources that are in a pending or bad status that need special attention. Don’t get me wrong, it is nice to know about all your resources. However, there is a better way that you can do a status check, and report only the pending or bad resources.
Note that the “crsctl stat res -t -w “((TARGET = OFFLINE) or (STATE = OFFLINE)” will only report resources with the OFFLINE target or state. It will not report other target or state information.
Hence I will show you below in an example on how to capture resources with pending (starting, intermediate) or bad (offline, unknown etc…) status. Therefore I want to report all resources with the target or state that is not ONLINE.
In addition, I want to also exclude that annoying gsd (ora.gsd) resource from the check, as we are not hosting any oracle 9i RAC database on this cluster, therefore the target and state for this resource will always show as being OFFLINE.
Example: [oracle@lnx01] crsctl stat res -t -w "((TARGET != ONLINE) or (STATE != ONLINE) and TYPE != ora.gsd))"
No comments:
Post a Comment