ORACLE技术论坛–请到ask.orasos.com提问

Please consider registering
guest

Log In

Lost password?
Advanced Search:

— Forum Scope —



— Match —



— Forum Options —




Wildcard usage:
*  matches any number of characters    %  matches exactly one character

Minimum search word length is 4 characters - maximum search word length is 84 characters

Topic RSS
11G dataguard 备库切主库时报在线日志文件不存在的错误,不能drop和clear
2014 年 03 月 08 日
23:54
jeffreyli
Guest

数据库环境:
主库:rac 两节点
备库:单点dgdb
版本:11.2.0.3

 

信息如下:
主库:
SQL>  SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
——————--
TO STANDBY
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;

Database altered.

SQL>  SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
——————--
RECOVERY NEEDED

SQL> SQL>  SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
——————--
RECOVERY NEEDED

SQL> SQL> shutdown immediate;
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL>

 

切换从库到主库时报错:
SQL> SELECT SWITCHOVER_STATUS
FROM V$DATABASE;

  2  TO PRIMARY

SQL> SQL>
SQL>  ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

 ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY
*
ERROR at line 1:
ORA-00349: failure obtaining block size for '+DGNEW'
ORA-15001: diskgroup "DGNEW" does not exist or is not mounted
ORA-15001: diskgroup "DGNEW" does not exist or is not mounted

 

  1*  SELECT GROUP#, STATUS FROM V$LOG
SQL> /
     2 CLEARING_CURRENT
    16 UNUSED
    18 UNUSED
    17 UNUSED
    14 UNUSED
    20 UNUSED
    19 UNUSED
     4 CLEARING_CURRENT

SQL> select * from v$logfile;
     2 INVALID    ONLINE  +DGNEW                                             NO
    17            ONLINE  +DATA1/dgdb/onlinelog/group_17.275.841705351       NO
    20            ONLINE  +DATA1/dgdb/onlinelog/group_20.279.841705629       NO
     4 INVALID    ONLINE  +DGNEW                                             NO
     5            STANDBY +DATA1/dgdb/onlinelog/group_5.265.841699789        NO
     6            STANDBY +DATA1/dgdb/onlinelog/group_6.266.841699799        NO
     7            STANDBY +DATA1/dgdb/onlinelog/group_7.267.841699811        NO
     8            STANDBY +DATA1/dgdb/onlinelog/group_8.268.841699811        NO
     9            STANDBY +DATA1/dgdb/onlinelog/group_9.269.841699813        NO
    10            STANDBY +DATA1/dgdb/onlinelog/group_10.270.841699815       NO
    11            STANDBY +DATA1/dgdb/onlinelog/group_11.271.841702767       NO
    12            STANDBY +DATA1/dgdb/onlinelog/group_12.272.841702785       NO
    13            STANDBY +DATA1/dgdb/onlinelog/group_13.273.841702801       NO
    14            ONLINE  +DATA1/dgdb/onlinelog/group_14.274.841705055       NO
    18            ONLINE  +DATA1/dgdb/onlinelog/group_18.277.841705359       NO
    16            ONLINE  +DATA1/dgdb/onlinelog/group_16.276.841705073       NO
    19            ONLINE  +DATA1/dgdb/onlinelog/group_19.278.841705575       NO

 

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='MANUAL';

System altered.

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
ALTER DATABASE CLEAR LOGFILE GROUP 2
*
ERROR at line 1:
ORA-00349: failure obtaining block size for '+DGNEW'
ORA-15001: diskgroup "DGNEW" does not exist or is not mounted
ORA-15001: diskgroup "DGNEW" does not exist or is not mounted

SQL> ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE DROP LOGFILE GROUP 2
*
ERROR at line 1:
ORA-01623: log 2 is current log for instance dgdb (thread 1) – cannot drop
ORA-00312: online log 2 thread 1: '+DGNEW'

 

删除日志时报错。

2014 年 03 月 08 日
23:58
惜分飞
Admin
Forum Posts: 345
Member Since:
2010 年 07 月 31 日
Offline

1. 确定先修改log_file_name_covert和db_file_name_covert值,然后创建standby ctl

2. 确保主库上的log_file_name_covert和db_file_name_covert配置正确(前面是备库路径,后面是主库路径)

Q Q:107644445  

Tel:13429648788

个人Blog(惜分飞)

提供专业ORACLE技术支持(数据恢复,安装实施,升级迁移,备份容灾,故障诊断,系统优化等)

    

       
   

2014 年 03 月 09 日
00:04
jeffreyli
Guest

我的主库已经备库,现在就是备库变主库的时候报错。

 

在备库没有变主库之前报的错。

2014 年 03 月 09 日
00:08
jeffreyli
Guest

备库转主库的时候报的那个错,那个报错的日志是在RAC 主库的dg中。

 

 

如果我两边都转换成功了,报上面的错误,那些调整那两个参数,现在关键是备库还没有转主库就报错,

现在只有把那两个不存在的group 2/4给删除掉,备库才能正常转为主库当switchover 完了,再调整那两个参数。

2014 年 03 月 09 日
00:20
惜分飞
Admin
Forum Posts: 345
Member Since:
2010 年 07 月 31 日
Offline

确认环境:两边都是asm

 

switchover之前同步正常,switchover失败

 

从这样的情况推论,很可能是在配置开始的主备之时,备库的redo文件路径就没有被转换成功,在dg应用日志的时候,只会读standby redo,而不会去管redo,最多只是read only的是报一个error但是不影响应用日志

 

解决给问题:

1. 在主库配置正确的covert参数,重新生成standby ctl 并注册数据文件和redo文件

2. 创建datanew磁盘组,删除redo成功后,再删除该磁盘组

Q Q:107644445  

Tel:13429648788

个人Blog(惜分飞)

提供专业ORACLE技术支持(数据恢复,安装实施,升级迁移,备份容灾,故障诊断,系统优化等)

    

       
   

2014 年 03 月 09 日
12:59
jeffreyli
Guest

谢谢,问题解决了,临时在备库中新建了个DG,切换正常。

比较奇怪的是,用RMAN Duplicate做的备库,备库参数中全部指的是data1这个dg,恢复完后,怎么logfile确用+newdg

 

其它一切正常,下次有机会再试一下。

2014 年 03 月 09 日
13:03
jeffreyli
Guest

会不会与备库的*.db_create_file_dest='+DATA1'参数有关呢?

这个默认应该是我本地的dg,无意中备份一下spfile,看到里面的参数是+newdg,估计是这个搞的鬼。

2014 年 03 月 09 日
22:52
惜分飞
Admin
Forum Posts: 345
Member Since:
2010 年 07 月 31 日
Offline

db_create_file_dest  按道理说,只会影响创建的数据文件,不会影响redo,也不会影响已经存在的数据文件

 

还有一种可能是bug,需要具体分析,你最好整理以前创建的全部过程,和处理步骤,一起分析看看

Q Q:107644445  

Tel:13429648788

个人Blog(惜分飞)

提供专业ORACLE技术支持(数据恢复,安装实施,升级迁移,备份容灾,故障诊断,系统优化等)

    

       
   

评论功能已关闭。