Home » Server Options » Data Guard » Heartbeat failed to connect to standby 'DG2'. Error is 1031
Heartbeat failed to connect to standby 'DG2'. Error is 1031 [message #196526] Thu, 05 October 2006 16:49 Go to next message
dgmrtnz
Messages: 1
Registered: October 2006
Junior Member
I m getting this error in alert log.


Error 1031 attaching to destination LOG_ARCHIVE_DEST_2 standby host 'dg2'
ORA-01031: insufficient privileges
*** 2003-11-30 18:55:30.984 49871 kcrr.c
ARC1: Heartbeat failed to connect to standby 'dg2'. Error is 1031.

Database: Oracle 10g Release 2
Platform: Windows Server 2003

¿anything about authentication? I've seen in other forum about a new Oracle 10g parameter: DB_ALLOWED_LOGON_VERSION, but fail in the startup process because of this parameter is unknown.

Anybody can guide me how to solve it
Thanks,
Re: Heartbeat failed to connect to standby 'DG2'. Error is 1031 [message #196699 is a reply to message #196526] Fri, 06 October 2006 10:08 Go to previous messageGo to next message
ualual
Messages: 22
Registered: May 2005
Junior Member
try
removes the parameter db_allowed_logon_version.

This is replaced by the sqlnet.ora parameter called
sqlnet.allowed_logon_version=10

--
http://www.stanford.edu/dept/itss/docs/oracle/10g/network.101/b10773/authmeth.htm
--

Authentication by the Oracle Database

Oracle can authenticate users attempting to connect to a database, by using information stored in that database.

To set up Oracle to use database authentication, you create each user with an associated password that must be supplied when the user attempts to establish a connection. This process prevents unauthorized use of the database, since the connection will be denied if the user provides an incorrect password. Oracle stores a user's password in the data dictionary in an encrypted format to prevent unauthorized alteration, but a user can change his own password at any time.

To establish which authentication protocols are allowed by the client or database, a DBA can explicitly set the SQLNET.ALLOWED_LOGON_VERSION parameter in the server sqlnet.ora file. Then each connection attempt is tested, and if the client or server does not meet the minimum version specified by its partner, authentication fails with an ORA-28040 error. The parameter can take the values 10, 9, or 8, the default, representing database server versions. Oracle recommends the value 10.
icon5.gif  Re: Heartbeat failed to connect to standby 'DG2'. Error is 1031 [message #199382 is a reply to message #196699] Mon, 23 October 2006 20:58 Go to previous messageGo to next message
brechbuehler
Messages: 2
Registered: October 2006
Junior Member
That's right, 10g Release 1 introduced DB_ALLOWED_LOGON_VERSION, and 10g Release 2 dropped this database parameter again, replacing it with SQLNET.ALLOWED_LOGON_VERSION in sqlnet.ora.

But as ualual quotes, a DBA can set the parameter, and then each connection attempt is tested. I don't follow the logic.

Ualual suggests setting this minimum version. But if I don't set it, shouldn't I get the default, 8? And the "Then" clause may say that without the parameter, the version won't be checked at all. Either way, 10 >= 8, so it would succeed.

And if the allowed logon version really was the problem, we'd get an ORA-28040 error. However, "Error is 1031".

Now it makes sense that the standby database, who just rejected an "attacker", won't leak any further information to them (the "attacker" being the primary database). But does it maybe disclose the reasons for its authenticating (or not) in a log file?

(BTW, I use 10.2.0.1.0, and I tried adding the sqlnet.ora parameter, and it makes no difference.)

[Updated on: Mon, 23 October 2006 20:59]

Report message to a moderator

Re: Heartbeat failed to connect to standby 'DG2'. Error is 1031 [message #199388 is a reply to message #196526] Mon, 23 October 2006 22:24 Go to previous message
brechbuehler
Messages: 2
Registered: October 2006
Junior Member
It matters which password file you create. The fix:
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=mysecret

(By default, that's .../app/oracle/product/10.2.0/db_1/dbs/orapworcl .) Now instead of ORA-01031 I get:
Logged on to standby successfully
Client logon and security negotiation successful!


The docs don't tell you. "Data Guard" illustrates with "orapwd file=orapw ...", and refers to Database Administration, which has an equally useless example.

When you install Oracle, you could create a starter database. (But why would you, when your goal is set up a physical standby?) First time I did, and the redo transported all by itself (just couldn't get applied, because of other issues). Second time I did not, and didn't get the password file. But I didn't know, because virtually everything else went OK.
Previous Topic: ORA-01156: recovery in progress may need access to files
Next Topic: Can't start primary DB with ora-16649
Goto Forum:
  


Current Time: Tue Apr 16 07:03:07 CDT 2024