ORA-16782 – instance not open for read and write access

1.) TEXTE AUS OERR UNTER LINUX

16782, 00000, „instance not open for read and write access“

// *Cause: The database was mounted on an instance but not opened for read

//        and write access.

// *Action: For more details, check the status of the database using either

//         Enterprise Manager or the DGMGRL CLI SHOW DATABASE command.

//         If possible, open the instance manually.

2.) ERKLÄRUNG

Dieser Fehler tritt nach einem unvollständigem Switchover bei einer physikalischen Dataguard Installation auf. Um mehr Informationen zur Ursache des Problems zu bekommen sollten in der View (G)V$DATABASE die Werte folgender Spalten bei beiden Datenbanken abgefragt werden OPEN_MODE und DATABASE_ROLE

DGMGRL > switchover to standby

Data Guard Error > DGM-17017: unable to determine configuration status

Error: ORA-16782: instance not open for read and write access, …..

Beide Datenbanken haben nun die „standby db role“.

Anzeige mit:

DGMGRL> show configuration

SQL> select database_role from gv$database;

DATABASE_ROLE
—————-
PHYSICAL STANDBY

PHYSICAL STANDBY

3.) Lösungsvorschläge

Primäre Datenbank stoppen

Primäre Datenbank starten mit mount

SQL> alter database recover managed standby database cancel;
SQL> alter database recover managed standby database finish;
SQL> ALTER database commit to switchover to primary with session shutdown;
SQL> alter database open;
SQL> select database_role from v$database;

Details zur Lösung: http://djkaveesh.blogspot.de/2013/06/data-guard-switch-over-fail.html