Re: Checking if a RAC database has one or more node down

  • From: Andrew Kerber <andrew.kerber@xxxxxxxxx>
  • To: Mladen Gogala <gogala.mladen@xxxxxxxxx>
  • Date: Fri, 17 May 2019 10:35:22 -0500

Select thread#, status from gv$thread;

On Fri, May 17, 2019 at 9:15 AM Mladen Gogala <gogala.mladen@xxxxxxxxx>
wrote:

Essentially, RAC cluster is a dynamic thing. Instance can join the
cluster, leave the cluster or even be evicted. Granted, evictions are much
less frequent these days than with the previous releases, but they still do
happen. A RAC cluster is comprised of the instances which are currently in
the cluster. When an instance leaves the cluster, there is no certainty
that it will ever come back or the administrator may even use srvctl to
remove the instance. When an instance joins the cluster, a reconfiguration
will happen in order to distribute the lock resources between the nodes.
Cluster only knows about the current instances comprising it. Not just
that, if your CRS are deployed on more than 2 servers, it is entirely
possible to have the servers sub-divided into server pools and have
different databases running om separate server pools.
On 5/17/19 8:52 AM, Ls Cheng wrote:

Hi

How do we know the desired count of instance?Just because someone says so
or it can be obtained from somewhere? In your example
of cluster_database_instances is 8 but gv$instance returns 4 how do you
know 4 is the desired count?

BR




<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
 Virus-free.
www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>

On Fri, May 17, 2019 at 2:46 PM Luis Santos <lsantos@xxxxxxxxx> wrote:

Thanks for all replies!

Let's dig into my need. When I said *just SQL* I mean that my need is to
know if a RAC node is down while connected, and just connected, to the
database. No matter the node. Of course I'm aware of srvctl ou crsctl
commands, but they are out of my need scope.

And querying GV$INSTANCE alone will no work. If a node is down it will
be missing from GV$INSTANCE, but how much nodes is my goal?

Digging again: I'm talking about a simple monitoring script. With no
human (*or AI robot*) DBA querying.

Up to now I have been using, with relative sucess, the comparision of 
count(*)
from GV$INSTANCE to the value of cluster_database_instances database
parameter.

But now we have a Exadata machine with 8 nodes, but with only 4 nodes
actives for a specific RAC database. The count(*) from its GV$INSTANCE é
4 and the value from cluster_database_instances parameter is 8.

So, my qustion again: is it possible to design a simple query, while
connected to RAC databases, to show if one (or more) node(s) from the,
let's say, desired count of instances, is missing?


*--*
*Att*


*Luis Santos *



Em qui, 16 de mai de 2019 às 23:22, Suresh Rajagopal <sureshr7@xxxxxxxxx>
escreveu:

crsctl stat res -w "TYPE = ora.database.type"


On Thursday, May 16, 2019, 2:45:29 PM PDT, Mark W. Farnham <mwf@xxxxxxxx>
wrote:


select inst_id,status from gv$instance;



*From:* oracle-l-bounce@xxxxxxxxxxxxx [mailto:
oracle-l-bounce@xxxxxxxxxxxxx] *On Behalf Of *Luis Santos
*Sent:* Thursday, May 16, 2019 4:51 PM
*To:* ORACLE-L
*Subject:* Checking if a RAC database has one or more node down



Is there a way, using just SQL when connected to a RAC Oracle database
(whatever the version), to check if all nodes are up and runing?



*--*

*Att*

*Luis Santos*



<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
 Virus-free.
www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>

--
Mladen Gogala
Database Consultant
Tel: (347) 321-1217



-- 
Andrew W. Kerber

'If at first you dont succeed, dont take up skydiving.'

Other related posts: