起因:
1. 4月21日下午时给EFSDB创建了2个用户,并创建了同名的表空间(当然也创建了数据文件),下午时没报出来。22日凌晨时alert中才报出错误来。
Thu Apr 22 02:00:48 2010
Errors in file /u01/app/oracle/admin/efsdb/bdump/efsdg_mrp0_10899.trc:
ORA-01274: cannot add datafile '/u02/oradata/efsdb/fausr01.dbf' - file could not be created
2. 检查EFSDG,发现standby_file_management设置的是manual,手动模式数据文件当然不会被创建
解决:
1. 将standby_file_management设置为auto
SQL> alter system set standby_file_management=auto;
2. 此时再去alert文件中查看,出现如下错误:
Thu Apr 22 14:35:12 2010
Errors in file /u01/app/oracle/admin/efsdb/bdump/efsdg_mrp0_22115.trc:
ORA-01111: name for data file 5 is unknown - rename to correct file
ORA-01110: data file 5: '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00005'
此时control file已经更新了,但是数据文件并没有自动创建回来
3. 再将standby_file_management设置为manual
SQL> alter system set standby_file_management=manual;
4. 通过control file手工创建数据文件
SQL> alter database create datafile
'/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00005'
as '/u02/oradata/efsdb/sadausr01.dbf';
5. 再将standby_file_management设置为auto
SQL> alter system set standby_file_management=auto scope=both;
6. 启动恢复
SQL> alter database recover managed standby database disconnect from session;
7. 检查一下是否同步
SQL> select to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') from v$datafile;
结论:
standby_file_management参数,一般还是建议设置成为auto。这样在主库上创建数据文件时,从库会自动创建数据文件,省去了不必要的麻烦。来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11258275/viewspace-660559/ ,如需转载,请注明出处,否则将追究法律责任。