將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.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章