文档解释
ORA-16642: DB_UNIQUE_NAME mismatch
Cause: The expected DB_UNIQUE_NAME value did not match the actual DB_UNIQUE_NAME value for the database that the broker contacted using the connect identifier that was associated with that database.
Action: Verify that the connect identifier correctly connects to the intended database. Verify that the name of the database the broker expects to find by that connect identifier matches the actual DB_UNIQUE_NAME for that database.
ORA-16642错误表示数据库注册的唯一名称不匹配。
官方解释
当后台数据库用于标识特定实例的唯一名称在注册表中找到时,发生此错误。
常见案例
该错误常见于对应性登录任务或连接用于单位数据库恢复操作者准备尝试冗余数据库时发生。例如,如果用户在应急恢复操作期间强制复制(frcopy)数据文件,则可能会发生这种情况。另外,如果单个数据库的静态配置注册出现故障,也会导致此错误。
一般处理方法及步骤
1.根据错误消息确认数据库唯一名称,并查看当前的数据库状态,以及它在注册表中的全路径位置;
2.确认从此处开始操作的是否正确。
3.如果发现register.xml 中的唯一名称与实际数据库名称不同,则可以尝试使用“alter system set db_name=”命令重新注册数据库,然后重新配置单位恢复。
4.使用DBMS_REGISTRY删除要恢复的对应性数据库中原有的静态配置;
5.尝试重新注册该数据库,并根据提示调整register.xml文件;
6.重新启动单位恢复过程,检查其正常运行;
7.如果仍然不正常,可以尝试重新创建该数据库,并利用唯一名称重新注册;
8.最后,切记在正式环境中进行所有操作,以避免对生产环境造成的潜在损失。