linux - 如何在恢复实例时删除丢失的 dbf

标签 linux oracle11g enterprise dataguard

同事(真的!)试图在主 prod DG 实例上创建 dbf。这有效(虽然文件随后被删除),但 db_file_convert 没有设置文件位置辅助,因此创建失败并且在 $OH/dbs 中创建“丢失”dbf。

警报日志中的错误:

ORA-01119: error in creating database file '/<path>/<file>.dbf'
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
Linux-x86_64 Error: 13: Permission denied
File #1124 added to control file as 'UNNAMED01124'.
Originally created as:
'/<path>/<file>.dbf'
Recovery was unable to create the file as:
'/<path>/<file>.dbf'
MRP0: Background Media Recovery terminated with error 1274
Errors in file /<path>/trace/<instance>_pr00_33046.trc:
ORA-01274: cannot add datafile '/<path>/<file>.dbf' - file could not be
created

这会导致 HA 实例上的 DG 失败并显示:

ORA-01111: name for data file 1124 is unknown - rename to correct file

ORA-01110: data file 1124: '/$OH/dbs/UNNAMED'

ORA-01157: cannot identify/lock data file 1124 - see DBWR trace file

ORA-01111: name for data file 1124 is unknown - rename to correct file

ORA-01110: data file 1124: '/$OH/dbs/UNNAMED'

关于非恢复 DG 数据库的 prod 和阅读中不存在文件状态创建文件或删除它。这些选项在辅助数据库中都不可用。我有哪些选择?在 HA 上重新创建控制文件而不引用丢失的文件然后重新启动?我的 DG 知识有点生疏,这无济于事 - 我的意思是固体氧化铁。

最佳答案

从不存在丢失文件的源复制控制文件

关于linux - 如何在恢复实例时删除丢失的 dbf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40398667/

相关文章:

java - 定义错误代码,数字或字符串?

c - 在 C 中设置 TCP 接收窗口并在 Linux 中使用 tcpdump

java - 如何换行 <af :commandLink> in Oracle ADF 11g application 的文本

linux - 甲骨文表格 11gR2 : FRM-10039: Unable to start up the Form Builder

sql-server - 查询在 Oracle SQL Developer 中运行很快,但在 SSRS 2008 R2 中运行缓慢

oracle - 对象类型中 %ROWTYPE 的解决方法

iphone - iOS 配置文件过期

java - 调试客户防火墙问题

linux - bash 创建一个将名称作为参数并递增结果的函数

c - MPI 中如何共享工作区?