DG里面设定 STANDBY_FILE_MANAGEMENT

在Oracle 10.2.0.5环境中,当standby数据库的STANDBY_FILE_MANAGEMENT设为manual时,新增数据文件会引发错误。主库增加数据文件'E:ORADATATESTDGPTEST03.DBF'后,standby数据库无法自动创建对应文件并停止应用日志。解决方法包括在standby数据库上手动创建对应数据文件,如'C:ORACLEPRODUCT10.2.0DB_1DATABASEUNNAMED00007',转换为主库目录,并通过SQL命令重新启动apply log。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

database:10.2.0.5
 STANDBY_FILE_MANAGEMENT 这个参数只有在standby database上设定的时候就会对该Standby是否自动创建主库所新加的datafile。
另外文档里面提到裸设备的时候还是要人工干预,这个放在后面再看。如果主库是使用 Oracle Managed Files,那在这种情况下应如何处理??
下面是数据文件在filesystem,standby database的 STANDBY_FILE_MANAGEMENT设定为manual,此时应如何修正主库新增数据文件造成standby的错误情景:


在主库新增文件后,standby alert日志:

Media recovery may continue but open resetlogs may fail
Tue May 13 21:17:16 China Standard Time 2014
Errors in file c:\oracle\product\10.2.0\admin\testdgs\bdump\testdgs_mrp0_2772.trc:
ORA-01274: cannot add datafile 'E:\ORADATA\TESTDGP\TEST03.DBF' - file could not be created


此时在standby已经停止apply log了。需要修正该错误之后再开启apply log。查询该未能成功添加的数据文件是哪个。


SQL> select file#, name from v$datafile where name like '%UNNAMED00%';


     FILE#
----------
NAME
------------------------------------------------------------------------------


         7
C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNAMED00007


在主库上查找号码为7的文件名称是什么:


SQL> select name from v$datafile where file#=7;


NAME
-------------------------------------------------------------------


E:\ORADATA\TESTDGP\TEST03.DBF


在standby上手工创建该文件,注意文件的目录的转换


SQL> alter database create datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNA
MED00007' as 't:\testDGs\test03.dbf';


Database altered.

创建完毕之后,再开启apply log:


SQL> alter database recover managed standby database disconnect;

查看最新的日志时候被apply:

select  SEQUENCE#, APPLIED from v$archived_log order by  SEQUENCE# desc;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值