STANDBY DATABASE + Error is 16191.

Last night I was demonstrating to my friends about standby database creation and its administration using Oracle10g, Release2 ( on Windows XP Operating System and at the end of standby database creation (creating on the same host) found out that log information is not shipping from the primary database to the standby location despite setting all the required parameters correctly on primary and standby.

After wasting an hour time, finally had a look at primary database alert log and found the following error messages:

Error 1017 received logging on to the standby
Check that the primary and standby are using a password file
and remote_login_passwordfile is set to SHARED or EXCLUSIVE,
and that the SYS password is same in the password files.
returning error ORA-16191
It may be necessary to define the DB_ALLOWED_LOGON_VERSION
initialization parameter to the value "10". Check the
manual for information on this initialization parameter.
Thu Jun 07 01:40:44 2007
Errors in file d:\oradata\ocm\bdump\ocm_arc0_876.trc:
ORA-16191: Primary log shipping client not logged on standby

PING[ARC0]: Heartbeat failed to connect to standby 'SDB'. Error is 16191.

Errors in file d:\oradata\ocm\bdump\ocm_arc0_876.trc:
ORA-01031: insufficient privileges

When searching in the metalink about 'DB_ALLOWED_LOGON_VERSION' found the following

Note: Bug 2981553, which is implemented in, removes the parameter db_allowed_logon_version. This is replaced by the sqlnet.ora parameter called sqlnet_allowed_logon_version.

As per note, setting SQLNET_ALLOWED_LOGON_VERSION doesn't solve the issues.

Looking more close of the error message, I then, realized that I gave the different password to standby database password file than the primary password file.

After recreating the password file of standby database with the similar password of primary database password file, automatically log shipping started transmitting from primary to standby.

Well, I don't realized that just having different passwords to primary and standby parameter files will leads to this problem.

The other change I noted in the 10g Standby versus 9i is that, in 9i, when you say simply say startup Oracle throws an error saying the the controlfile is standby, where as in 10g, upon using startup, it automatically opens the standby database in READ ONLY state. Umm...

Happy reading,




சுப.செந்தில் said...

Good informative post.As you said i read that happily :)


Sunil Bhola said...

In 10G, Oracle knows that the controlfile is being used by standby db or production db. So if you just do startup, oracle read controlfile and it gets to knows that the control file is for standby database. so it open it without any error.

Sunil Bhola

Anonymous said...

długo tego szukałem, ale się udało :)

Anonymous said...

Hey Jaffar,
I am creating the physical standby and I am getting the same error.Despite having the same password file with the same passwords and also setting the parameter allowed_logon_version,I amnot able to get the redo shipped.The output from V$archived_log is no row selected.If you can shed some more light where else I should go and check,it would be great.
PS:You mentioned the parameter as sqlnet_db_allowed_versions.I guess it should be sqlnet.db_allowed_versions.