如果数据库建立了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,所以不会自动创建该数据文件,但是其信息会记录在控制文件中:
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掉该数据文件,但是物理上的文件仍然存在。
首先要查一下 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掉该数据文件,但是物理上的文件仍然存在。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29392174/viewspace-1063596/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29392174/viewspace-1063596/