DataGuard主备库上修改redo大小

测试环境:RDBMS 11.2.0.4

步骤:

1 停掉备库的MRP
2 在备库上添加standby logfile,大小100M  (standby_file_management='manual';注意下这个参数)
3 在备库上删除standby logfile,删除掉50M的
4 在主库添加redo,大小为100M
5 在主库删除redo ,大小为50M
6 备库添加redo,大小为100M
7 备库删除redo ,大小为50M
8 主库添加standby ,大小为100M
9 主库删除standby,大小为50M

详细的步骤 。

1 备库上停止掉MRP ,主库上设置日志传输defer(其实这个可以不设置defer)

alter database recover managed standby database cancel;
alter system set log_archive_dest_state_2=defer;  -- 不设置,因为后面drop standby log的时候,要在主库切日志

2 备库上有4组standby redo,group#,4-7 ,新添加standby redo 8-11, 大小100M

alter database add standby logfile group 8 '/u01/app/oracle/oradata/testogg_stdby/stdby_redo08.log' size 100M;
alter database add standby logfile group 9 '/u01/app/oracle/oradata/testogg_stdby/stdby_redo09.log' size 100M;
alter database add standby logfile group 10 '/u01/app/oracle/oradata/testogg_stdby/stdby_redo10.log' size 100M;
alter database add standby logfile group 11 '/u01/app/oracle/oradata/testogg_stdby/stdby_redo11.log' size 100M;

3 备库上删除50M的standby redo ,删除group# 4-7

alter database drop logfile group 4;
alter database drop logfile group 5;
alter database drop logfile group 6;
alter database drop logfile group 7;  -- alter database drop standby logfile group 7; 也可以 

如果出现下面的错误,则需要在主库上切换几次日志。

ERROR at line 1:
ORA-00261: log 5 of thread 1 is being archived or modified
ORA-00312: online log 5 thread 1:
'/u01/app/oracle/oradata/testogg_stdby/stdby_redo02.log'  -- 在主库多次执行switch logfile 后,可以删除

4 在主库上添加redo ,大小100M ,原来有1-3 三组日志,添加4-6三组日志

alter database add logfile group 4 '/u01/app/oracle/oradata/testogg/redo04.log' size 100M ;
alter database add logfile group 5 '/u01/app/oracle/oradata/testogg/redo05.log' size 100M ;
alter database add logfile group 6 '/u01/app/oracle/oradata/testogg/redo06.log' size 100M ;

5 在主库删除日志1-3

alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;

6 在备库添加redo log ,备库原来的redo log 是1-3 三组,添加的组是4-6

alter database add logfile group 4 '/u01/app/oracle/oradata/testogg_stdby/redo04.log' size 100M;
alter database add logfile group 5 '/u01/app/oracle/oradata/testogg_stdby/redo05.log' size 100M;
alter database add logfile group 6 '/u01/app/oracle/oradata/testogg_stdby/redo06.log' size 100M;

7 在备库删除redo log,删除1-3 组

alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;

出现告警,一个原因是file_name_convert之类的参数设置有问题,我这里设置是没有问题的

SYS@testogg_stdby>alter database drop logfile group 2;  -- 这个和参数name convert 没关系。我已经设置了
alter database drop logfile group 2
*
ERROR at line 1:
ORA-01624: log 2 needed for crash recovery of instance testogg_stdby (thread 1)
ORA-00312: online log 2 thread 1:
'/u01/app/oracle/oradata/testogg_stdby/redo02.log'


SYS@testogg_stdby>

清理日志后,再删除

alter database clear logfile group 1;
alter database clear logfile group 2;
alter database clear logfile group 3;

8 主库添加standby ,大小100M ,原来主库的没有设置standby log ,这里从7-10 开始 (和备库一直吧  8-11)

alter database add standby logfile group 8 '/u01/app/oracle/oradata/testogg/stdby_redo08.log' size 100M;
alter database add standby logfile group 9 '/u01/app/oracle/oradata/testogg/stdby_redo09.log' size 100M;
alter database add standby logfile group 10 '/u01/app/oracle/oradata/testogg/stdby_redo10.log' size 100M;
alter database add standby logfile group 11 '/u01/app/oracle/oradata/testogg/stdby_redo11.log' size 100M;

9 主库删除standby log ,原来就没有的,这里就不删除了 。

到这里就修改完毕了。后续修改下standby_file_management即可。 

 

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值