设为首页 收藏本站
查看: 585|回复: 0

[经验分享] Oracle Data Guard ORA-16086: standby database does not contain available standby

[复制链接]
YunVN网友  发表于 2016-8-15 06:30:19 |阅读模式
  启动Data Guard后,查看同步情况:
  
  SQL>select error from v$archive_dest;
  ERROR
  -----------------------------------------------------------------
  ORA-16086: standby database does not contain available standby log files
  ERROR
  -----------------------------------------------------------------
  10 rows selected.
  SQL>
  
  报了个错,因为我设置的是最大可用性模式,这种模式必须配置standby logfile。这个环境下的standby log我之前设置过了:
  SQL> select * from v$logfile;
  rows will be truncated
  GROUP# STATUSTYPEMEMBER
  ---------- ------- ------- -----------------------------------------------------
  3ONLINE/u01/app/oracle/oradata/orcl/redo03.log
  2ONLINE/u01/app/oracle/oradata/orcl/redo02.log
  1ONLINE/u01/app/oracle/oradata/orcl/redo01.log
  4STANDBY /u01/app/oracle/oradata/orcl/redo04.log
  5STANDBY /u01/app/oracle/oradata/orcl/redo05.log
  6STANDBY /u01/app/oracle/oradata/orcl/redo06.log
  7STANDBY /u01/app/oracle/oradata/orcl/redo07.log
  7 rows selected.
  
  SQL>select protection_mode,protection_level from v$database;
  PROTECTION_MODEPROTECTION_LEVEL
  -------------------- --------------------
  MAXIMUM AVAILABILITY RESYNCHRONIZATION
  
  在Oracle官网上搜了一下,发现有一个bug 4395779会导致这个问题。bug的描述如下:
  

  Bug 4395779 - ORA-16086 error when recovery area not used for redo logs [ID 4395779.8]





  

  Modified24-SEP-2008TypePATCHStatusPUBLISHED

  


Bug 4395779ORA-16086 error when recovery area not used for redo logs
  This note gives a brief overview of bug 4395779.

The content was last updated on: 03-APR-2008
Clickherefor details of each of the sections below.

Affects:

  Product (Component)

  Oracle Server (Rdbms)

  Range of versionsbelievedto be affected

  Versions < 11

  Versionsconfirmedas being affected



  • 10.1.0.5
  • 10.2.0.2

  Platforms affected

  Generic (all / most platforms affected)


Fixed:

  This issue is fixed in



  • 10.2.0.3 (Server Patch Set)
  • 11.1.0.6 (Base Release)


Symptoms:


Related To:



  • Error May Occur
  • ORA-16086



  • Physical Standby Database / Dataguard


Description

A physical standby may report ORA-16086 when the recovery area is full,
even if archived or standby redo logs are not being placed in the
recovery area. This fix also checks for other non recovery area
destinations.
  Please note:The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. Always consult with Oracle Support for advice.




References
  Bug:4395779(This link will only work for PUBLISHED bugs)
Note:245840.1Information on the sections in this article






  
  但是查看了一下FRA,没有问题:
  
  SQL> show parameter db_recovery
  NAMETYPEVALUE
  ------------------------------------ ----------- ------------------------------
  db_recovery_file_deststring/u01/app/oracle/flash_recovery
  db_recovery_file_dest_sizebig integer 2G
  
  SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
  SUM(PERCENT_SPACE_USED)*3/100
  -----------------------------
  .0819
  
  空间还有很多,所以应该不是这个bug导致的。有关FRA的问题参考:
  
  Flash Recovery Area空间不足导致数据库不能打开或hang住
  http://blog.csdn.net/xujinyang/article/details/6830475
  
  官网上还搜到一条信息,说是备库的standby log和主库的online大小不一致,检查了一下这2个大小,也没有问题:
  
  主库:
  SQL> SELECT BYTES FROM V$LOG;
  BYTES
  ----------
  52428800
  52428800
  52428800
  
  备库:
  SQL> select bytes from v$standby_log;
  BYTES
  ----------
  52428800
  52428800
  52428800
  52428800
  
  所以决定重建一下standby log files。在主备库都重建。之前这个DG上做了Broker的测试,可能是这个原因导致的。
  
  主库简单一点,直接drop,再添加就可以了。备库需要先取消recover进程,才能操作,最后启用recover。这里只列举备库的操作:
  
  取消recover:
  SQL> alter database recover managed standby database cancel;
  Database altered.
  
  删除standby log:
  SQL> alter database drop logfile group 4;
  Database altered.
  SQL> alter database drop logfile group 5;
  Database altered.
  SQL> alter database drop logfile group 6;
  Database altered.
  SQL> alter database drop logfile group 7;
  Database altered.
  
  删除物理文件:
  [oracle@dg2 orcl]$ rm redo04.log
  [oracle@dg2 orcl]$ rm redo05.log
  [oracle@dg2 orcl]$ rm redo06.log
  [oracle@dg2 orcl]$ rm redo07.log
  
  添加standby log:
  SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo04.log') size 50M;
  Database altered.
  SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05.log') size 50M;
  Database altered.
  SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/u01/app/oracle/oradata/orcl/redo06.log') size 50M;
  Database altered.
  SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/u01/app/oracle/oradata/orcl/redo07.log') size 50M;
  Database altered.
  
  SQL> select * from v$logfile;
  rows will be truncated
  GROUP# STATUSTYPEMEMBER
  ---------- ------- ------- -----------------------------------------------------
  3ONLINE/u01/app/oracle/oradata/orcl/redo03.log
  2ONLINE/u01/app/oracle/oradata/orcl/redo02.log
  1ONLINE/u01/app/oracle/oradata/orcl/redo01.log
  4STANDBY /u01/app/oracle/oradata/orcl/redo04.log
  5STANDBY /u01/app/oracle/oradata/orcl/redo05.log
  6STANDBY /u01/app/oracle/oradata/orcl/redo06.log
  7STANDBY /u01/app/oracle/oradata/orcl/redo07.log
  7 rows selected.
  
  启动recover:
  SQL> alter database recover managed standby database disconnect from session;
  Database altered.
  
  到主库再次查看一下,搞定:
  SQL> select error from v$archive_dest;
  
  ERROR
  -----------------------------------------------------------------
  
  10 rows selected.
  
  用SQL查看了一下同步正常:
  SQL> select sequence#,applied from v$archived_log;
  
  但是把OS重启之后,又出现了同样的问题。这次不能在重建standby log了。因为在这个DG上配置了Broker。后来把Broker删除了。所以打算先看一下pfile文件。
  
  先用spfile创建了pfile,然后查看了一下。发现pfile里有很多重复的参数,并且格式不一样,如:
  *.standby_archive_dest='/u01/archive'
  orcl.standby_archive_dest=''
  
  加星号是正确的参数,以实例开头的参数是错误的。把这些以实例orcl开头的参数全部删除。在用pfile重启启动。没有错误了。看来还是Broker的原因导致的。如果遇到同样的问题,不妨先检查一下参数问题。
  
  
  
  
  
  
  ------------------------------------------------------------------------------

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-257729-1-1.html 上篇帖子: 从“Kenai关闭”事件想到的Oracle收购SUN之后的策略 下篇帖子: Tomcat4+Oracle的数据库连接池配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表