为了账号安全,请及时绑定邮箱和手机立即绑定

将DG调整为最大保护模式,报ORA-03113: end-of-file on communication channel

标签:
Oracle


在将Data Guard调整为最大保护模式(MAXIMUM PROTECTION )的时候,遇到了以下的问题ORA-03113: end-of-file on communication channel。

执行过程如下:

 

SQL> alter database set standby database to maximize PROTECTION;

alter database set standby database to maximize PROTECTION

*

ERROR at line 1:

ORA-01126: database must be mounted in this instance and not open in any instance

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area  390070272 bytes

Fixed Size                  2021024 bytes

Variable Size             142608736 bytes

Database Buffers          243269632 bytes

Redo Buffers                2170880 bytes

Database mounted.

SQL> alter database set standby database to maximize PROTECTION;

Database altered.

SQL> select PROTECTION_MODE,OPEN_MODE,DB_UNIQUE_NAME,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;

PROTECTION_MODE      OPEN_MODE  DB_UNIQUE_NAME                 DATABASE_ROLE    SWITCHOVER_STATUS

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

MAXIMUM PROTECTION   MOUNTED    WENDING                        PRIMARY          TO STANDBY

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-03113: end-of-file on communication channel

分析日志:

[oracle@dg1 bdump]$ tail -10f alert_WENDING.log

LGWR: Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR

LGWR: Minimum of 1 synchronous standby database required

Sat Jan  4 23:05:16 2014

Errors in file /u01/oracle/admin/ORCLDB/bdump/wending_lgwr_10086.trc:

ORA-16072: a minimum of one standby database destination is required

Sat Jan  4 23:05:16 2014

Errors in file /u01/oracle/admin/ORCLDB/bdump/wending_lgwr_10086.trc:

ORA-16072: a minimum of one standby database destination is required

LGWR: terminating instance due to error 16072

Instance terminated by LGWR, pid = 10086

 

其实,第一步处理过程,应该查询一下log_archive_dest参数,检查一下同步的方式以及AFFIRM 是否设定,其次就是standy log日志是否添加,这一切建立完成以后再进行日志检查。

可能在第一步检查完成之后就已经可以解决问题。

对了,还有一个要开启FLASHBACK_ON ;

分别将FLASHBACK_ON开启。

SQL> select FLASHBACK_ON from v$database;

FLASHBACK_ON

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

NO

SQL> alter database flashback on;

Database altered.

添加standy redolog

[oracle@dg2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Jan 5 01:00:35 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

SQL> alter database add standby logfile group 4 ('/u01/oracle/oradata/ORCLDB/stdby_redo04.log') size 50M;

Database altered.

SQL> alter database add standby logfile group 5 ('/u01/oracle/oradata/ORCLDB/stdby_redo05.log') size 50M;

Database altered.

SQL> alter database add standby logfile group 6 ('/u01/oracle/oradata/ORCLDB/stdby_redo06.log') size 50M;

Database altered.

 

 

[oracle@dg1 bdump]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Jan 5 01:10:32 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

SQL> alter database set standby database to maximize PROTECTION;

alter database set standby database to maximize PROTECTION

*

ERROR at line 1:

ORA-01126: database must be mounted in this instance and not open in any instance

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area  390070272 bytes

Fixed Size                  2021024 bytes

Variable Size             142608736 bytes

Database Buffers          243269632 bytes

Redo Buffers                2170880 bytes

Database mounted.

SQL> alter database set standby database to maximize PROTECTION;

Database altered.

SQL> select PROTECTION_MODE,OPEN_MODE,DB_UNIQUE_NAME,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;

PROTECTION_MODE      OPEN_MODE  DB_UNIQUE_NAME                 DATABASE_ROLE    SWITCHOVER_STATUS

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

MAXIMUM PROTECTION   MOUNTED    WENDING                        PRIMARY          TO STANDBY

 

设置参数,打开数据库。

SQL>  alter system set log_archive_dest_2 = 'SERVICE=db_phystdby LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PHYSTDBY AFFIRM ';

System altered.

SQL> alter database open;

Database altered.

 

©著作权归作者所有:来自51CTO博客作者371690509的原创作品,如需转载,请注明出处,否则将追究法律责任

databasestandbyDGData Guard


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消