异常数据库
在从库发现DG同步有延迟时执行recover失败,后台日志会报以下异常:服务器
解决oracle
根据源端地址和本地数据文件存放路径,整理语句以下:app
alter system set STANDBY_FILE_MANAGEMENT='MANUAL' scope=both; alter database rename file '/data/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00243' to '/data/app/oracle/oradata/PSPROD/PSPRODDG/datafile/o1_mf_gpapp_h4dnw6m6_.dbf'
此时报错以下:ide
此时须要注意,o1_mf_gpapph4dnw6m6.dbf,这种命名数据文件的方式很奇怪,通常这种方式多出如今ASM磁盘中,由数据库定义名称,此时我就想到了OMF,查看相关参数,确认此库为OMF管理方式管理数据文件。操作系统
此处验证证实了个人猜测,因此修改语句从新执行,修复了此问题。日志
alter database create datafile '/data/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00243' as new; alter system set STANDBY_FILE_MANAGEMENT='AUTO' scope=both;
分析code
在备用数据库中建立文件为UNNAMED的缘由有不少,这次是由于备库上的磁盘空间不足致使的。blog
STANDBY_FILE_MANAGEMENT 在启用自动备用文件管理后,将在备用数据库上复制主数据库上的操做系统文件添加和删除。此时,咱们在主服务器上添加数据文件,而恢复过程(MRP)正在尝试应用存档,因为该参数设置,它将在$ ORACLE_HOME / dbs中建立一个未命名的文件将致使杀死MRP进程,错误以下所示。进程
当数据库由OMF管理时,修改路径时可使用 new 来代替路径的位置,修改 redo 除外。