Today i was experimenting with services to make them run on a preferred node and with an available node in case of issues.

I created the service as follows

srvctl add service -d   PRDCLU -s myservice -r PRDN2 -a PRDN1 -y AUTOMATIC 

for some reason the service didn’t failover to the other service when i performed a shutdown abort.

I experimented a bit with the different options to create a service but the results remained the same.

I googled a bit and came on the site of Freek  and found this interesting article Freek noticed the same behaviour as I.

his article pointed to note 1324574.1 – “11gR2 RAC Service Not Failing Over To Other Node When Instance Is Shut Down”.

This made me think that i hit a bug or something. 

But then I  saw that there was a parameter with srvctl add service to indicate the role of the database the -l option .

I had a look in the 

oraagent_oracle.log

2012-09-11 17:14:14.685: [ora.prd.myservice.xxx.xxx.svc][45] {2:39545:58589} [start] SvcAgent::start: not starting service myservice.xxx.xxx. Role mismatch – Service role: PRIMARY, current DB role: LOGICAL_STANDBY

and my assumptions were confirmed

just creating the service with the -l option solved my problem

srvctl add service -d   PRDCLU -s myservice -r PRDN2 -a PRDN1 -y AUTOMATIC -l logical_standby

The service fails now over correctly.

Thanks Freek for the nice article

Leave a Reply