热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Dataguard主库报ORA-16146错误解决

产品版本10.2.0.4操作系统OracleSolarisonSPARC(64-bit)5.10一、alert日志如下:主库alertlog---------------------

产品版本 10.2.0.4操作系统 Oracle Solaris on SPARC (64-bit) 5.10 一、alert日志如下: 主库alert log ---------------------

产品版本 10.2.0.4
操作系统 Oracle Solaris on SPARC (64-bit) 5.10

一、alert日志如下:
主库alert log
---------------------
Tue Mar 11 14:30:47 2014
LNS: Standby redo logfile selected for thread 2 sequence 192246 for destination LOG_ARCHIVE_DEST_2
Tue Mar 11 14:37:00 2014
Errors in file /oracle/admin/dbrac/bdump/dbrac2_arc9_6512.trc:
ORA-16146: standby destination control file enqueue unavailable
Tue Mar 11 14:37:00 2014
Master background archival failure: 16146
Tue Mar 11 14:40:07 2014
Errors in file /oracle/admin/dbrac/bdump/dbrac2_arc9_6512.trc:
ORA-16146: standby destination control file enqueue unavailable

--------------------------------------分割线 --------------------------------------

相关参考:

Oracle Data Guard 重要配置参数

基于同一主机配置 Oracle 11g Data Guard

探索Oracle之11g DataGuard

Oracle Data Guard (RAC+DG) 归档删除策略及脚本

Oracle Data Guard 的角色转换

Oracle Data Guard的日志FAL gap问题

Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法

--------------------------------------分割线 --------------------------------------

备库alert log
---------------------
Tue Mar 11 14:29:44 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[19]: Successfully opened standby log 8: '+DATA/dbrac_standby/onlinelog/group_8.473.823623967'
Tue Mar 11 14:32:12 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[13]: Successfully opened standby log 12: '+DATA/dbrac_standby/onlinelog/group_12.1879.823705847'
Tue Mar 11 14:34:26 2014
Media Recovery Log +DATA/dbrac_standby/archivelog/2014_03_11/thread_2_seq_192246.509.841933921
Tue Mar 11 14:34:48 2014
Media Recovery Log +DATA/dbrac_standby/archivelog/2014_03_11/thread_1_seq_193463.1784.841933765
Tue Mar 11 14:35:44 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[19]: Successfully opened standby log 7: '+DATA/dbrac_standby/onlinelog/group_7.492.823623957'
Tue Mar 11 14:37:37 2014
Media Recovery Waiting for thread 1 sequence 193464 (in transit)
Tue Mar 11 14:38:47 2014
Media Recovery Log +DATA/dbrac_standby/archivelog/2014_03_11/thread_1_seq_193464.2163.841934073
Tue Mar 11 14:40:01 2014
Media Recovery Waiting for thread 2 sequence 192247 (in transit)

二、分析及处理
分析思路:
ORA-16146错误说明有进程持有CF enqueue(控制文件锁) 超过900秒没有释放,,导致其他进程无法获得CF enqueue,
其实这个错误信息有些不够准确,不单单是等待备库的CF enqueue,等待主库的CF enqueue时也会报这个错误。

导致ORA-16146错误的原因可能有:
1. IO性能慢,导致IO操作时间过长。
2. 某个持有CF enqueue(控制文件锁) 超过900秒没有释放。
3. 控制文件中的信息过多,导致查询控制文件时间过长。
4. 如果只是单纯出现ORA-16146,而没有其他问题,那么这个错误是可以忽略的。

进一步检查:
1. OSW 或者其他OS资源监控数据
2. 主库和备库分别查询:
SQL>select count(*) from v$archived_log;
SQL>select count(*) from v$log_history;
SQL> select count(*) from v$archived_log;
SQL> select count(*) from v$log_history;
SQL> show parameter CONTROL_FILE_RECORD_KEEP_TIME;
查询如下:
主库 备库
select count(*) from v$archived_log; 18956 18956
select count(*) from v$log_history; 36272 36272
select count(*) from v$archived_log; 18956 18956
select count(*) from v$log_history; 36272 36272
show parameter CONTROL_FILE_RECORD_KEEP_TIME; 7 10
3. Sun: /var/adm/messages(主库和备库)

分析解决
通过查询试图 v$archived_log 和 v$log_history,发现大量历史日志信息,因此很有可能是由于控制文件中记录的日志数量是非常多的,
查询时会消耗比较多的时间。
修改参数如下:
alter system set CONTROL_FILE_RECORD_KEEP_TIME=3 scope=BOTH;
通过几个星期的观察,没再出现ORA-16146,问题解决!

本文永久更新链接地址:


推荐阅读
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 探讨在使用 PL/SQL Developer 12.0 的数据生成器时遇到的中文乱码问题及其解决方案。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 本文介绍了一种使用SQL Server存储过程来实现基于单一条件的高效分页查询的方法。通过示例代码,详细说明了如何构建和执行这种分页查询。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
author-avatar
a126128
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有