在将dataguard调整为最大保护模式(maximumprotection)的时候,遇到了以下的问题ora-03113:end-of-fileoncommunicationchannel。执行过程如下:sqlalterda..
在将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 instancesql> shutdown immediatedatabase closed.database dismounted.oracle instance shut down.sql> startup mountoracle instance started.total system global area 390070272 bytesfixed size2021024 bytesvariable size142608736 bytesdatabase buffers243269632 bytesredo buffers2170880 bytesdatabase 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_modeopen_mode db_unique_namedatabase_role switchover_status-------------------- ---------- ------------------------------ ---------------- --------------------maximum protection mounted wendingprimaryto standbysql> 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.loglgwr: destination log_archive_dest_1 is not serviced by lgwrlgwr: minimum of 1 synchronous standby database requiredsat jan 4 23:05:16 2014errors in file /u01/oracle/admin/orcldb/bdump/wending_lgwr_10086.trc:ora-16072: a minimum of one standby database destination is requiredsat jan 4 23:05:16 2014errors in file /u01/oracle/admin/orcldb/bdump/wending_lgwr_10086.trc:ora-16072: a minimum of one standby database destination is requiredlgwr: terminating instance due to error 16072instance terminated by lgwr, pid = 10086
其实,,第一步处理过程,应该查询一下log_archive_dest参数,检查一下同步的方式以及affirm 是否设定,其次就是standy log日志是否添加,这一切建立完成以后再进行日志检查。
可能在第一步检查完成之后就已经可以解决问题。
对了,还有一个要开启flashback_on ;
分别将flashback_on开启。sql> select flashback_on from v$database;flashback_on------------------nosql> alter database flashback on;database altered.添加standy redolog
[oracle@dg2 ~]$ sqlplus / as sysdbasql*plus: release 10.2.0.1.0 - production on sun jan 5 01:00:35 2014copyright (c) 1982, 2005, oracle. all rights reserved.connected to:oracle database 10g enterprise edition release 10.2.0.1.0 - 64bit productionwith the partitioning, olap and data mining optionssql> 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 sysdbasql*plus: release 10.2.0.1.0 - production on sun jan 5 01:10:32 2014copyright (c) 1982, 2005, oracle. all rights reserved.connected to:oracle database 10g enterprise edition release 10.2.0.1.0 - 64bit productionwith the partitioning, olap and data mining optionssql> 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 instancesql> shutdown immediatedatabase closed.database dismounted.oracle instance shut down.sql> startup mountoracle instance started.total system global area 390070272 bytesfixed size2021024 bytesvariable size142608736 bytesdatabase buffers243269632 bytesredo buffers2170880 bytesdatabase 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_modeopen_mode db_unique_namedatabase_role switchover_status-------------------- ---------- ------------------------------ ---------------- --------------------maximum protection mounted wendingprimaryto 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.
