Oracle Data Guard ORA-16086: standby database does not contain available standby 处理方法

zz/2024/4/19 23:55:27

 

启动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# STATUS  TYPE    MEMBER

---------- ------- ------- -----------------------------------------------------

         3         ONLINE  /u01/app/oracle/oradata/orcl/redo03.log

         2         ONLINE  /u01/app/oracle/oradata/orcl/redo02.log

         1         ONLINE  /u01/app/oracle/oradata/orcl/redo01.log

         4         STANDBY /u01/app/oracle/oradata/orcl/redo04.log

         5         STANDBY /u01/app/oracle/oradata/orcl/redo05.log

         6         STANDBY /u01/app/oracle/oradata/orcl/redo06.log

         7         STANDBY /u01/app/oracle/oradata/orcl/redo07.log

7 rows selected.

 

SQL>  select protection_mode,protection_level from v$database;

PROTECTION_MODE      PROTECTION_LEVEL

-------------------- --------------------

MAXIMUM AVAILABILITY RESYNCHRONIZATION

 

 

Oracle 官网上搜了一下, 发现有一个bug 4395779会导致这个问题。 bug 的描述如下:

 

 

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


 

Modified 24-SEP-2008     Type PATCH     Status PUBLISHED

 

Bug 4395779  ORA-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
 Click here for details of each of the sections below.

Affects:

Product (Component)

Oracle Server (Rdbms)

Range of versions believed to be affected

Versions < 11

Versions confirmed as 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.1 Information on the sections in this article



 

 

但是查看了一下FRA,没有问题:

 

SQL> show parameter db_recovery

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest                string      /u01/app/oracle/flash_recovery

db_recovery_file_dest_size           big 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://www.cndba.cn/Dave/article/1282

 

 

官网上还搜到一条信息,说是备库的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# STATUS  TYPE    MEMBER

---------- ------- ------- -----------------------------------------------------

         3         ONLINE  /u01/app/oracle/oradata/orcl/redo03.log

         2         ONLINE  /u01/app/oracle/oradata/orcl/redo02.log

         1         ONLINE  /u01/app/oracle/oradata/orcl/redo01.log

         4         STANDBY /u01/app/oracle/oradata/orcl/redo04.log

         5         STANDBY /u01/app/oracle/oradata/orcl/redo05.log

         6         STANDBY /u01/app/oracle/oradata/orcl/redo06.log

         7         STANDBY /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的原因导致的。 如果遇到同样的问题,不妨先检查一下参数问题。

 

 

 

 

 

 

------------------------------------------------------------------------------

QQ:492913789

Email:ahdba@qq.com

Blog: http://www.cndba.cn/dave 


网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:62697850   DBA 超级群:63306533;    

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

 


http://www.ngui.cc/zz/2721254.html

相关文章

Oracle Transparent Application Failover(TAF) 说明

前几天和一个朋友讨论到Oracle Net Services的高级特性的问题&#xff0c;就研究了下。 Oracle 官网上的说明参考&#xff1a; Enabling Advanced Features of Oracle Net Services http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/advcfg.htm#i473297 在这…

IBM AIX 5.3 系统管理 -- 监视和性能优化一

一. 监视文件系统增长 在 AIX 5L 系统上&#xff0c;管理员需要监视文件系统增长以防止文件系统装满。 基于“Berkeley 磁盘配额系统”(Berkeley Disk Quota System) 的磁盘配额系统提供了一种控制磁盘空间使用的有效方法。可以为各个用户或组定义配额系统&#xff0c;并且每…

IBM HACMP 系列 -- 基础知识

一. 什么是 HACMP(High Availability Cluster Multi-Processing) 1.1 高可用性 在当今的复杂环境中&#xff0c;为应用程序提供连续的服务是成功的 IT 实现的重要组成部分。高可用性屏蔽或消除计划内和计划外的系统和应用程序停机时间&#xff0c;是帮助为应用程序客户端提供…

浅谈 HACMP 心跳

一. 初识 HACMP 心跳 HACMP 软件主要监控 4 种故障&#xff1a;节点&#xff0c;网卡&#xff0c;网络&#xff0c;应用。其中前三种都是通过心跳来监控并产生事件响应的&#xff0c;我们可以看出使用 HACMP 集群&#xff0c;可谓玩的就是心跳。如果不了解心跳的过程和基本原理…

Oracle Golden Gate 简述

Oracle 在2009年收购了Golden Gate&#xff0c;之后Oracle 把Stream 的一些优点引入到了Golden Gate。 所以以后在数据复制这块&#xff0c;Oracle 肯定也是大力发展Golden Gate。 官网参考&#xff1a; http://www.oracle.com/us/corporate/Acquisitions/goldengate/index.h…

OEM 应用程序要求的数据库权限超出了您当前具有的权限 解决方法

当Oralce 访问OEM 出现如下错误时&#xff1a; 应用程序要求的数据库权限超出了您当前具有的权限 从如下2个方面检查&#xff1a; &#xff08;1&#xff09;给用户赋SELECT_CATALOG_ROLE grant SELECT_CATALOG_ROLE to user &#xff08;2&#xff09;DBSNMP&#xff0c;SYSMA…

RAC srvctl 命令报 libpthread.so.0 cannot open shared object file No such file or directory 解决方法

运行srvctl 命令报错&#xff1a; [oraclerac1 u01]$ srvctl remove asm -n rac1 /u01/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory 开始还觉…

How to copy a datafile from ASM to a file system not using RMAN

How to move a datafile from a file system to ASM http://blog.csdn.net/tianlesoftware/archive/2011/04/22/6342722.aspx How to move a datafile from ASM to the file system http://www.cndba.cn/Dave/article/817 步骤如下&#xff1a; 1. Log onto the ta…

How to Create Transportable Tablespaces Where the Source and Destination are ASM-Based

expdp/imp 的Transport_datafiles 在 之前的Blog里有实例&#xff0c;参考下面blog的3.12小节&#xff1a; Oracle expdp/impdp 使用示例 http://www.cndba.cn/Dave/article/1411 The purpose of this note is to describe the method to create transportable tablespaces(…

Oracle 数据文件 reuse 属性 说明

有关表空间创建的相关参数&#xff0c;参考&#xff1a; Oracle 表空间 创建参数 说明 http://blog.csdn.net/tianlesoftware/archive/2011/01/27/6166928.aspx 当我们对表空间添加数据文件的时候&#xff0c;有一个reuse 属性。 10g的官网对这个参数的说明如下: REUSE Speci…