We have a reporting user used by executives for real time
reporting on one of our OLTP databases. Some of the queries were getting
resource intensive so we decided to move those queries to our Active Data Guard
instance.
But then the reports started failing with
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access
on database logon.
I found an old bug in MOS that pointed me in the right
direction. After a failed login on Production, the same userid will get this
error on the Active Data Guard instance, until the “logon counter” gets reset
by a successful logon on production.
On Active Data Guard:
SQL >select * from v$version;
BANNER
------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit
Production
...
SQL> select OPEN_MODE, DATABASE_ROLE from v$database;
OPEN_MODE DATABASE_ROLE
---------- ----------------
READ ONLY PHYSICAL STANDBY
SQL> conn infoweb/correctpwd
Connected.
On Production:
SQL >select * from v$version;
BANNER
------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit
Production
...
SYS@casprd>select OPEN_MODE, DATABASE_ROLE from v$database;
OPEN_MODE DATABASE_ROLE
---------- ----------------
READ WRITE PRIMARY
now login as infoweb with a wrong password on Production:
SQL>connect infoweb/wrongpwd
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
Back to Active Data Guard, logon as infoweb with the correct
password:
SQL> conn infoweb/correctpwd
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access
Warning: You are no longer connected to ORACLE.
Back to Production, logon as infoweb with the correct password to reset the logon counter:
SQL> conn infoweb/correctpwd
Connected.
Back to Active Data Guard, logon as infoweb with the correct
password:
SQL> conn infoweb/correctpwd
Connected.
This is similar to a 10.2.0.4 bug, Bug 5847453 Failed logon counter with read only DB throws
ORA-16000 on failed logon [ID 5847453.8]. The note states that the issue was
fixed in 10.2.0.5 and 11.1.0.6.
2 comments:
Found the same problem in 11.1.0.7.7.
Thanks for the info, worked a charm after a couple of log switches on the primary.
Thaank you sir
Post a Comment