> 历史信息查看请查看个人网页www.zhaibibei.cn > 这是一个坚持Oracle,Python原创内容的公众号,欢迎关注 ------ 这个专题讲一些日常运维的异常处理 今天讲一个DG环境中给主库增加数据文件时的报错 ------- ##1. 现象 今天给DG环境中给主库增加数据文件时的报错 提示无权限建立数据文件并关闭了同步 ``` Fetching gap sequence for thread 1, gap sequence 3236-3236 Trying FAL server: mesft Media Recovery Log /mesft/arch/1_3236.log File #31 added to control file as 'UNNAMED00031'. Originally created as: '/oralog/mesft/oradata/mesft19.dbf' Recovery was unable to create the file as: '/oralog/mesft/mesft/oradata19.dbf' MRP0: Background Media Recovery terminated with error 1274 Errors in file /u01/app/oracle/admin/mesftdg/bdump/mesftdg_mrp0_17570.trc: ORA-01274: cannot add datafile '/oralog/mesft/oradata/mesft19.dbf' - file could not be created ORA-01119: error in creating database file '/oralog/mesft/mesft/oradata19.dbf' ORA-27054: Message 27054 not found; product=RDBMS; facility=ORA Linux-x86_64 Error: 13: Permission denied Some recovered datafiles maybe left media fuzzy Media recovery may continue but open resetlogs may fail MRP0: Background Media Recovery process shutdown ``` ------ ##2. 原因查找 该错误是由于主库建立的数据文件无法同步在备库建立所致 由于db_file_name_convert 参数配置不当导致转换过去的文件路径在备库中无法建立 关于db_file_name_convert这里有三点需要说明 - 权限足够的情况下,如路径不存在会自动创建 - 路径转换只作用于新增数据文件,如主库新建数据文件和备库RMAN还原时,switchover不起作用 - 如有多个键值对,第一个匹配的生效后不会继续匹配 ##3. 问题解决 ### 3.1 找出系统生成文件的路径 ``` SQL> select name from v$datafile where name like '%UNNAMED%'; NAME -------------------------------------------------------------------------------- /u01/app/oracle/product/9.2.0/db_1/dbs/UNNAMED00031 ``` ### 3.2 关闭自动文件管理 ``` alter system set standby_file_management='manual'; ``` ### 3.2 在正确位置生成需要的数据文件 ``` alter database create datafile '/u01/app/oracle/product/9.2.0/db_1/dbs/UNNAMED00031' as '/mesft/oralog/mesft19.dbf'; ``` ### 3.3 启动自动文件管理 ``` alter system set standby_file_management='auto'; ``` ### 3. 启动同步进程 ``` alter database recover managed standby database disconnect from session; ``` ------ ##4.参考链接 [https://www.realdbamagic.com/fixing-dataguard-wrong-file-location-problem/](https://www.realdbamagic.com/fixing-dataguard-wrong-file-location-problem/) --------