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