DBA备忘录:Data Guard之添加数据文件
常用标签:

DBA备忘录:Data Guard之添加数据文件

一般情况下,如果数据文件采用的是裸设备,为了便于管理,会在裸设备上创建soft link,这样在data guard环境中就有个问题,必须在主备库同时执行创建相同的link,否则备库是auto standby file management的话,会导致数据文件创建失败(前提是去掉了文件系统的写权限,否则会加到文件系统中去,这样麻烦更麻烦了)。

加入在主库创建了soft link,添加了datafile,而备库没有创建对应的link多话,则会遇到以下错误:

Errors in file /u01/oracle/admin/comm/bdump/comm_mrp0_2380526.trc:
ORA-01274: cannot add datafile '/u01/oracle/oradata/comm/test.dbf' - file could not be created
ORA-01119: error in creating database file '/u01/oracle/oradata/comm/test_66.dbf'
ORA-27040: skgfrcre: create error, unable to create file
IBM AIX RISC System/6000 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

由于备库无法创建相应的datafile,恢复进程终止。此时如果尝试重启恢复进程:

Errors in file /u01/oracle/admin/test/bdump/test_mrp0_602168.trc:
ORA-01111: name for data file 397 is unknown - rename to correct file
ORA-01110: data file 397: '/u01/oracle/product/9.2/dbs/UNNAMED00397'
ORA-01157: cannot identify/lock data file 397 - see DBWR trace file
ORA-01111: name for data file 397 is unknown - rename to correct file
ORA-01110: data file 397: '/u01/oracle/product/9.2/dbs/UNNAMED00397'
MRP0: Background Media Recovery process shutdown

根据alert文件的提示,执行rename操作:

SQL> alter database rename file '/u01/oracle/product/9.2/dbs/UNNAMED00397' to '/u01/oracle/oradata/test/test_66.dbf';
alter database rename file '/u01/oracle/product/9.2/dbs/UNNAMED00397' to '/u01/oracle/oradata/test/test_66.dbf'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01275: Operation RENAME is not allowed if standby file management is
automatic.

在备库执行数据/日志文件相关操作时,必须先将standby file management改成手动模式:

SQL> alter system set standby_file_management=manual;

System altered.

SQL> alter database rename file '/u01/oracle/product/9.2/dbs/UNNAMED00397' to '/u01/oracle/oradata/test/test_66.dbf';

Database altered.

SQL> alter system set standby_file_management=auto;

System altered.

Rename成功,再次启动恢复进程,发现还是有问题:

Errors in file /u01/oracle/admin/comm/bdump/test_mrp0_2359904.trc:
ORA-01110: data file 397: '/u01/oracle/oradata/test/test_66.dbf'
ORA-01122: database file 397 failed verification check
ORA-01110: data file 397: '/u01/oracle/oradata/test/test_66.dbf'
ORA-01251: Unknown File Header Version read for file number 397
MRP0: Background Media Recovery process shutdown

由于最开始创建文件失败,后面的rename操作实际上只是修改了数据字典的信息,对应的裸设备上并没有执行创建数据文件的初始化动作,自然没有正确的数据文件头信息,只需要执行create datafile as即可:

SQL> alter system set standby_file_management=manual;

System altered.

SQL> alter database create datafile 397 as '/u01/oracle/oradata/test/test_66.dbf';

Database altered.

SQL> alter system set standby_file_management=auto;

System altered.

SQL> recover managed standby database disconnect from session;
Media recovery complete.

bookmark

本文网址:http://www.ningoo.net/html/2007/dba_memo_data_guard_add_data_file.html

如果您喜欢我的Blog,欢迎订阅到Google | 收藏到Del.icio.us | 推荐到鲜果

相关文章 随机文章

本文Tags: , ,

1 条评论


(Required)
(Required, will not be published)