Welcome 微信登录

首页 / 数据库 / MySQL / 将DG调整为最大保护模式,报ORA-03113: end-of-file on communication channel

在将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.相关参考:Oracle Data Guard 重要配置参数 http://www.linuxidc.com/Linux/2013-08/88784.htm基于同一主机配置 Oracle 11g Data Guard http://www.linuxidc.com/Linux/2013-08/88848.htm探索Oracle之11g DataGuard http://www.linuxidc.com/Linux/2013-08/88692.htmOracle Data Guard (RAC+DG) 归档删除策略及脚本 http://www.linuxidc.com/Linux/2013-07/87782.htmOracle Data Guard 的角色转换 http://www.linuxidc.com/Linux/2013-06/86190.htmOracle Data Guard的日志FAL gap问题 http://www.linuxidc.com/Linux/2013-04/82561.htmOracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法 http://www.linuxidc.com/Linux/2013-03/82009.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Oracle Data Guard介绍(10g r2文档翻译)Data Guard Service 相关介绍相关资讯      Data Guard  ORA-03113 
  • Data Guard高级应用:通过闪回恢复  (今 16:26)
  • 手工搭建Data Guard  (08月02日)
  • 使用Grid Control快速部署Oracle物  (04月18日)
  • Data Guard跳归档恢复的案例  (08月16日)
  • Data Guard中快速Switchover,  (06月18日)
  • 利用Oracle Data Guard完成跨平台  (01月09日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数