文档解释
ORA-16814: incorrect redo transport setting for AlternateLocation for standby database
Cause: The Data Guard broker detected an incorrect redo transport setting for a standby database AlternateLocation property. The incorrect setting could be one of the following:
– The AlternateLocation property was empty, but the redo transport to the standby database had an ALTERNATE setting.
– The AlternateLocation property was not empty and the redo transport to the standby database had no ALTERNATE setting.
– The AlternateLocation property did not match the ALTERNATE setting in the redo transport. The mismatch may include service string, directory specification of the alternate location, or the DB_UNIQUE_NAME attribute.
– The LOG_ARCHIVE_DEST_STATE_n parameter corresponding to the alternate location was not set to ALTERNATE.
– The flash recovery area was being used by the standby database for archived logs, but the redo transport to the standby database still had an ALTERNATE setting for the AlternateLocation property. Data Guard broker logs provide more details on which of the above cases caused the error.
Action: Reenable the primary database to clear the error.
ORA-16814触发错误,当一个备份数据库使用备份时出现此错误,表明主要数据库中的媒介控制文件中的归档位置变量与其备份数据库中使用的恢复控制文件中当前接收日志文件的位置发生了不一致,由此导致它们以不同的位置将日志文件保存以备恢复。
官方解释
常见案例
一般处理方法及步骤
1、首先检查主要数据库是否正确配置了归档位置变量:
SQL> archive log list;
2、备份数据库的归档位置变量也应该正确设置:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE using current logfile disconnect from session;
3、备份数据库设置了媒介控制文件中的归档位置变量,应匹配主要数据库中的归档位置变量,当有不一致时,需要对备份数据库重新恢复:
RECOVER DATABASE USING BACKUP CONTROLFILE;
4、重置AltarnateLocation变量:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
USING CURRENT LOGFILE
ALTER ALTERNATE LOCATION ‘destination’ ;
5、删除恢复数据库的旧归档日志。
6、切换恢复数据库:
ALTER DATABASE SWITCH LOGFILE;
7、按配置要求,恢复数据库接管主服务器:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;