Archive

Posts Tagged ‘dataguard error’

Oracle – Logical Standby Dataguard Error


The following error is thrown up when any user other than sys tries to log onto the database. The third and fourth lines of the error are a red herring which made me investigate the package. After comparing the package in the reporting (logical standby) database and finding it to be exactly the same as that in the production database, I investigated the database guard error.

SQL> conn /
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-16224: Database Guard is enabled
ORA-06512: at "OASIS.OASLOGONCHECK_PACKAGE", line 377
ORA-06512: at line 8
Warning: You are no longer connected to ORACLE.

There are three options for dataguard status – all, standby, or none. I queried v$database to see which option was set for my logical standby:

SQL> select guard_status from v$database;
GUARD_S
-------
ALL

Guard_status protects the data from being changed.

  • ALL – All users other than SYS are prevented from making changes to any data in the database.
  • STANDBY – All users other than SYS are prevented from making changes to any database object being maintained by logical standby.
  • NONE – Indicates normal security for all data in the database.

Therefore the users could not log onto the database because the trigger being called on logon was unable to make updates to the database. I updated the guard_status to “standby” and the issue resolved.

SQL> alter database guard standby;
Database altered.
SQL> conn /
Connected.