standby not locally connectible after switchover
785045Sep 29 2010 — edited Sep 30 2010Sorry about the subject but I'm not sure how best to describe this but let me lay out the situation and hopefully someone might have a suggestion.
I am running an active dataguard setup with a single physical standby database running in maximum avaiability mode. I have the broker installed. I have built this setup on multiple test environments and everything works fine.
I now have the setup on our QA environment. Log transport and apply running great - no issues. I then did a switchover to the standby which in one sense worked fine - the standby became the primary, the primary became the standby, and logs started getting shipped and applied as expected.
BUT
a wierd thing happened and I do not believe it has anything to do directly with dataguard but I'm wondering if any of you have ever had a similar situation. The wierd thing is that although the former primary had become the standby and was working as expected, when I went to login to that database from it's home server - sqlplus sys / as sysdba - I got "connected to an idle instance". But the instance was actually up and running. I could connect to it through tns - sqlplus sys/xxxx@stage as sysdba - from anywhere and everything looked fine. Then looked at the database with srvctl:
oracle@splatter:~ $ srvctl status database -d stage
Database is not running.
But the database - stage - was running and I could connect to it fine but not directly from the server.
To get around this, tried to stop and then start with srvctl:
oracle@splatter:~ $ srvctl stop database -d stage
PRCC-1016 : stage was already stopped
oracle@splatter:~ $ srvctl start database -d stage
PRCR-1079 : Failed to start resource ora.stage.db
ORA-01012: not logged on
CRS-2674: Start of 'ora.stage.db' on 'splatter' failed
ORA-01090: shutdown in progress - connection is not permitted
Process ID: 0
Session ID: 0 Serial number: 0
Both command failed but the commands unhung whatever was hung up. I was then able to connect to the database normally - sqlplus sys / as sysdba - and do what I wanted.
Any thoughts on what to look at? I have created an SR but wondering if anyone has ever run into something similar.