DG架构下扩大备库的在线日志大小

Handling ORL and SRL (Resize) on Primary and Physical Standby in Dataguard Environment (文档 ID 1532566.1)

Mos给出的方案在实际备库切换在线日志的时候碰到了bug

SQL> alter system switch logfile;    <---切换发现报告ora-600错误

ERROR at line 1:

ORA-00600: internal error code, arguments: [2713], [], [], [], [], [], [], [],

[], [], [], []

思路: 决定扩大主库的在线日志,后备份主库控制文件到备库的方式来扩充备库在线日志大小


现象:

当前备库在线日志才50M,需要修改成跟主库一致500M

SQL>  select group#,thread#,bytes/1024/1024 MB ,status from v$log;

    GROUP#    THREAD#         MB STATUS

---------- ---------- ---------- ----------------

         1          1         50 CLEARING

         2          1         50 CLEARING

         3          2         50 CLEARING

         4          2         50 CLEARING

当前主库

SQL> select group#,thread#,bytes/1024/1024 MB ,status from v$log;

    GROUP#    THREAD#         MB STATUS

---------- ---------- ---------- ----------------

        17          1        500 CURRENT

        18          2        500 CURRENT

        19          1        500 INACTIVE

        20          2        500 INACTIVE

当前备库archive log list也是跟主库不一致

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            +DATA2              备库:

Oldest online log sequence     11437                  10888

Next log sequence to archive   11438                   0

Current log sequence         11438                   10888

修改步骤:

1>主库关闭日志传送

alter system switch logfile;

alter system set log_archive_dest_state_2=defer;

2>备库停日志应用

alter database recover managed standby database cancel;

3>主库创建新的控制文件

alter database create standby controlfile as '/home/oracle/standby.ctl';

4>备库停库恢复控制文件

SQL> shutdown immediate;

SQL> startup nomount;

RMAN> restore standby controlfile from '/home/oracle/standby.ctl';
5>因为备库的文件路径跟主库不一致,需要修改
alter system set standby_file_management=MANUAL;
ALTER DATABASE RENAME FILE  '+DATA2/bbtech/datafile/system.291.870459433' TO  '+DATA2/bbtech/datafile/system.256.870200689';
........

alter system set standby_file_management=AUTO;

6>此时备库启动会报错

SQL> alter database open;

ERROR at line 1:

ORA-10458: standby database requires recovery

ORA-01152: file 1 was not restored from a sufficiently old backup

ORA-01110: data file 1: '+DATA2/bbtech/datafile/system.256.870200689'

需要主库先启动日志应用,因为控制文件是从主库过来的,需要同步最新的主库日志

同步日志,数据文件scn和控制文件scn就自动一致了

 

alter system set log_archive_dest_state_2=enable;           

备库先应用下日志

alter database recover managed standby database disconnect from session; 

备库会有删除不存在的在线日志的记录

而后再取消应用,再次打开ok

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database open;

Database altered.

而且自动重建了临时文件

此时备库的在线日志已经改过来了

7>

启动实时应用日志

SQL> alter database recover managed standby database using current logfile disconnect from session;

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            +DATA2

Oldest online log sequence     11440

Next log sequence to archive   0

Current log sequence           11441

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ ONLY WITH APPLY

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/61604/viewspace-2024036/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/61604/viewspace-2024036/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值