1.1. ORA-16664,ORA-16625,TNS-12537
主库:
16664, 0000, "unable to receive theresult from a database"
// *Cause: During execution of a command, a databasein the Data Guard
// broker configuration failed to return a result.
// *Action: Check Data Guard broker logsfor the details of the failure.
// Ensure network communication is working properly amongst the
// members of the configuration. Fix any possible network problems
// and reissue the command.
备库:
16625, 0000, "cannot reach database\"%s\""
// *Cause: The command could not be executed becausethe database noted
// in the error text was not reachable from the database where
// the command was issued.
// *Action: See accompanying messages formore information. Check the network
// connections to the specified database. Alternatively, connect to
// a different database in the Data Guard broker configuration and
// retry the command.
主/备库:
12537, 00000, "TNS:connectionclosed"
// *Cause: "End of file"condition has been reached; partner has disconnected.
// *Action: None needed; this is aninformation message.
【报错信息】
主库上DGMGRL查看DG信息:
DGMGRL> show configuration;
Databases:
........
sorcldb- Physical standby database
Error: ORA-16664: unable to receive the result from a database
......
Configuration Status:
ERROR
主库上DGMGRL查看备库信息:
Database Status:
DGM-17016: failed to retrieve status fordatabase "sorcldb"
ORA-16664: unable to receive the resultfrom a database
主库的drcorcldb.log日志:
03/30/2014 17:23:03
Site sorcldb returned ORA-16664.
Data Guard Broker Status Summary:
Type Name Severity Status
Configuration orcl_dg Warning ORA-16607
Primary Database orcldb Success ORA-00000
Physical Standby Database sorcldb Error ORA-16664
备库上DGMGRL查看DG信息:
DGMGRL> show configuration;
Configuration Status:
ORA-12537: TNS:connection closed
ORA-16625: cannot reach database "orcldb"
DGM-17017: unable to determineconfiguration status
备库上DGMGRL查看主库信息:
DGMGRL> show database verbose orcldb;
Database Status:
DGM-17016: failed to retrieve status fordatabase "orcldb"
ORA-12537: TNS:connection closed
ORA-16625: cannot reach database "orcldb"
备库的drcorcldb.log日志:
03/30/2014 17:21:07
Failed to connect to remote database orcldb.Error is ORA-12537
Failed to send message to site orcldb.Error code is ORA-12537.
【解决方法】
修改$ORACLE_HOME/bin/oracle文件的权限。
修改之前的权限:
[oracle@orclbin]$ ls -l oracle
-rwxr-x--x1 oracle oinstall 232399083 May 12 2013oracle
修改之后的权限:
[oracle@orclbin]$ chmod 6751 oracle
[oracle@orclbin]$ ls -l oracle
-rwsr-s--x1 oracle oinstall 232399083 May 12 2013oracle
【问题原因】
未知。服务器发生过外部电源断电故障,但是修改完bin/oracle文件权限之后,尝试了reboot服务器,没有发生异常。
【参考信息】
1. Check and correct the permission on/var/tmp/.oracle directory. Permissions on this directory should be 777 withsticky bit set.
# chmod 01777 /var/tmp/.oracle
2. Check and correct permissions on$ORACLE_HOME/bin/oracle binary and make sure that it is set to 6751.
$ chmod 6751 $ORACLE_HOME/bin/oracle