DG ORA-01274:cannot add datafile ”-file could not be created

如果数据库建立了Datagurad
首先要查一下 STANDBY_FILE_MANAGEMENT这个参数
SQL> show parameter STANDBY_FILE_MANAGEMENT;

NAME                                 TYPE        VALUE
———————————— ———– ——————————
standby_file_management      string     AUTO

STANDBY_FILE_MANAGEMENT=AUTO的情况下,主库创建的数据文件在备份端应用日志时会自动创建(如果是正常路径的数据文件会根据convert参数在备库创建相对应的数据文件,如果是其他路径(即没有配置参数的路径)的数据文件,则会在备库创建与主库路径一致的数据文件(即使没有该路径,也会创建).同样 如果主库是drop,备库也会drop。

STANDBY_FILE_MANAGEMENT=MANUAL的情况下,主库如果添加了一个数据文件,备库在应用日志时会报错

File #24 added to control file as ‘UNNAMED00024′ because
the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL
The file should be manually created to continue.
Errors with log /data/test/1_4609_811774267.dbf
MRP0: Background Media Recovery terminated with error 1274
Errors in file /opt/oracle/diag/rdbms/test/trace/test_00_5104.trc:
ORA-01274: cannot add datafile ‘/data/oradata/test/test.dbf’ – file could not be created
Recovery interrupted!
Recovery stopped due to failure in applying recovery marker (opcode 17.30).
Datafiles are recovered to a consistent state at change 17175104292 but controlfile could be ahead of datafiles.

因为standby_file_management=MANUAL,所以不会自动创建该数据文件,但是其信息会记录在控制文件中:

此时查看控制文件信息

因为standby_file_management=MANUAL,所以不会自动创建该数据文件,但是其信息会记录在控制文件中:、
SQL> select name from v$datafile;
/u01/oracle/dbs/UNNAMED00024

除了常规的数据文件外 多了一个UNNAMED的文件,
根据/u01/oracle/dbs/UNNAMED00024在备库手工创建该数据文件,具体命令如下:
SQL>alter database create datafile ‘/u01/oracle/dbs/UNNAMED00024′ as ‘/u01/oradata/orcl/test_1′;
Database altered.
SQL> recover standby database;
如果是drop 数据文件,备库应用日志时不会报错,会在控制文件中drop掉该数据文件,但是物理上的文件仍然存在。

共有 0 条评论

Top