杨廷琨(yangtingkun)

云和恩墨 CTO

高级咨询顾问,Oracle ACE 总监,ITPUB Oracle 数据库管理版版主

编辑手记:在很多数据库的故障案例中,一个简单的疏忽可能导致问题被层层放大,最终导致故障,这就是蝴蝶效应的传播原理。这里分享的小案例自顶向下的追溯可以显见:实例挂起->归档失败->实例错误->参数配置。根本的原因往往很简单,DBA的严谨尤其重要。

客户的11.2.0.3 RAC数据库出现了归档失败的情况,导致单个实例出现HANG死的状况。

检查错误信息发现:

Tue Jul 02 16:49:13 2013

ARC1: Error 19504 Creating archive log file TO '+DATA02'

ARCH: Archival stopped, error occurred. Will continue retrying

ORACLE Instance orcl1 - Archival Error

ORA-16038: log 14 SEQUENCE# 68244 cannot be archived

ORA-19504: failed TO CREATE file ""

ORA-00312: online log 14 thread 1: '+DATA02/orcl/onlinelog/group_14.264.792274883'

ORA-00312: online log 14 thread 1: '+DATA02/orcl/onlinelog/group_14.265.792274889'

Archiver process freed FROM errors. No longer stopped

Tue Jul 02 16:50:37 2013

ARC0: LGWR IS actively archiving destination LOG_ARCHIVE_DEST_3

ARCH: Archival stopped, error occurred. Will continue retrying

ORACLE Instance orcl1 - Archival Error

ORA-16014: log 14 SEQUENCE# 68244 NOT archived, no available destinations

ORA-00312: online log 14 thread 1: '+DATA02/orcl/onlinelog/group_14.264.792274883'

ORA-00312: online log 14 thread 1: '+DATA02/orcl/onlinelog/group_14.265.792274889'

ARC0: Archive log rejected (thread 1 SEQUENCE 68240) at host 'orclsh'

FAL[server, ARC0]: FAL archive failed, see trace file.

ARCH: FAL archive failed. Archiver continuing

ORACLE Instance orcl1 - Archival Error. Archiver continuing.

由于归档失败发生在ASM磁盘上,首先检查ASM磁盘空间以及DB_RECOVERY_FILE_DEST_SIZE,ASM磁盘空间是足够的,而且由于只有一个节点出现出现了无法归档的问题,也可以排除是空间不足造成的。

确认两个节点的DB_RECOVERY_FILE_DEST_SIZE参数设置都是0,基本上可以判断问题和当前节点的ASM实例状态不正常有关。

接下来检查ASM实例的错误信息:

Tue Jul 02 16:41:43 2013

Dumping diagnostic DATA IN directory=[cdmp_20130702164115], requested BY (instance=2, osid=2032294 (LMD0)), summary=[incident=165521].

Tue Jul 02 16:49:13 2013

Dumping diagnostic DATA IN directory=[cdmp_20130702164845], requested BY (instance=2, osid=2032294 (LMD0)), summary=[incident=165522].

当前节点ASM实例出现了的这个信息,说明报错发生在实例2上,检查实例2的ASM告警日志文件:

Tue Jul 02 18:29:55 2013

Errors IN file /u01/app/grid/diag/asm/+asm/+ASM2/trace/+ASM2_lmd0_2032294.trc  (incident=186256):

ORA-04031: unable TO allocate 3768 bytes OF shared memory ("shared pool","unknown object","sga heap(1,0)","ges enqueues")

USE ADRCI OR Support Workbench TO package the incident.

See Note 411.1 at My Oracle Support FOR error AND packaging details.

Insufficient shared pool TO allocate a GES object (ospid 2032294)

Tue Jul 02 18:29:55 2013

Sweep [inc][186256]: completed

Tue Jul 02 18:36:49 2013

Errors IN file /u01/app/grid/diag/asm/+asm/+ASM2/trace/+ASM2_lmd0_2032294.trc  (incident=186257):

ORA-04031: unable TO allocate 3768 bytes OF shared memory ("shared pool","unknown object","sga heap(1,0)","ges enqueues")

USE ADRCI OR Support Workbench TO package the incident.

See Note 411.1 at My Oracle Support FOR error AND packaging details.

Insufficient shared pool TO allocate a GES object (ospid 2032294)

果然实例2上的ASM出现了大量ORA-4031错误,这说明ASM实例的Shared Pool内存可能配置不足。检查ASM启动的参数配置:

Sat Aug 25 20:06:55 2012

NOTE: No asm libraries found IN the system

ERROR: -5(Duplicate disk DATA_DG01:ASM_DISK1)

ERROR: -5(Duplicate disk DATA_DG01:ASM_DISK2)

MEMORY_TARGET defaulting TO 411041792.

* instance_number obtained FROM CSS = 2, checking FOR the existence OF node 0...

* node 0 does NOT exist. instance_number = 2

Starting ORACLE instance (normal)

LICENSE_MAX_SESSION = 0

LICENSE_SESSIONS_WARNING = 0

Private Interface 'en1' configured FROM GPnP FOR USE AS a private interconnect.

[name='en1', TYPE=1, ip=169.254.78.6, mac=00-1a-64-bb-50-7d, net=169.254.0.0/16, mask=255.255.0.0, USE=haip:cluster_interconnect/62]

Public Interface 'en0' configured FROM GPnP FOR USE AS a public interface.

[name='en0', TYPE=1, ip=10.1.16.35, mac=00-1a-64-bb-50-7c, net=10.1.16.32/27, mask=255.255.255.224, USE=public/1]

Picked latch-free SCN scheme 3

USING LOG_ARCHIVE_DEST_1 parameter DEFAULT VALUE AS /u01/app/11.2.0.3/grid/dbs/arch

Autotune OF undo retention IS turned ON.

LICENSE_MAX_USERS = 0

SYS auditing IS disabled

NOTE: Volume support  enabled

Starting up:

Oracle DATABASE 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

WITH the REAL Application Clusters AND Automatic Storage Management options.

ORACLE_HOME = /u01/app/11.2.0.3/grid

System name: AIX

Node name: orcldb2

Release: 1

Version: 6

Machine: 00C94E064C00

USING parameter settings IN server-side pfile /u01/app/11.2.0.3/grid/dbs/init+ASM2.ora

System parameters WITH non-DEFAULT VALUES:

large_pool_size          = 12M

instance_type            = "asm"

remote_login_passwordfile= "EXCLUSIVE"

asm_diskstring           = "/dev/ocr_*"

asm_diskstring           = "/dev/voting_*"

asm_diskstring           = "/dev/asm_*"

asm_diskgroups           = "DATA"

asm_diskgroups           = "DATA_DG01"

asm_diskgroups           = "SPFILE_DG"

asm_power_limit          = 1

diagnostic_dest          = "/u01/app/grid"

Cluster communication IS configured TO USE the following interface(s) FOR this instance

169.254.78.6

cluster interconnect IPC version:Oracle UDP/IP (generic)

IPC Vendor 1 proto 2

当前ASM实例使用默认的MEMORY_TARGET配置,分配大小大约是400M,根据Oracle的MOS文章:ASM & Shared Pool (ORA-4031) [ID 437924.1],在11.2.0.3中,Oracle增加了ASM实例所允许的默认进程数PROCESSES,但是默认的MEMORY_TARGET参数没有增加。

根据Oracle的建议,11.2.0.3的MEMORY_TARGET至少应该设置到1536M,而MEMORY_MAX_TARGET设置为4096M

SQL> ALTER system SET memory_max_target=4096m scope=spfile;

SQL> ALTER system SET memory_target=1536m scope=spfile;

对于当前的情况,如果短时间内无法重启DB和ASM实例,可以在问题节点配置一个第二本地归档路径,设置目标路径为本地磁盘,从而避免归档无法完成而导致的实例HANG死。

本文出自数据和云公众号,原文链接

诊断案例:从实例挂起到归档失败和内存管理的蝴蝶效应相关推荐

  1. linux发邮件失败,Linux SendMail发送邮件失败诊断案例,sendmail发送邮件

    Linux SendMail发送邮件失败诊断案例,sendmail发送邮件 Linux上Sendmail经常由于一些配置问题,导致邮件发送失败,下面整理.收集了一些邮件发送失败.异常的案例. 案例1: ...

  2. 一个锁等待现象的诊断案例

    作者:苏坡 袋鼠云云服务部-DBA团队 数据库工程师 前两日与一个客户交流, 客户提出了一些 对mysql隔离级别以及锁的疑问, 然后问到了出现锁等待现象的排查思路. 这不禁让我回想起 long lo ...

  3. sql2000安装时报错的问题--实例挂起和267目录名无效

    错误提示(一):您的机子上已经安装有一个实例挂起,请重新启动机器 解决方法: 打开注册表找到如下的分支: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Con ...

  4. 从挂起到实现,你知道内核是如何实现的?

    2019独角兽企业重金招聘Python工程师标准>>> 这篇博文主要介绍挂起到空闲suspend to idle的实现.如上所说,它主要通过软件实现.一般平台的挂起过程包括冻结用户空 ...

  5. 春节福利:《Oracle性能优化与诊断案例精选》电子版首次公开下载

    值此猪年春节到来之际,恩墨云服务团队恭祝大家新年快乐,心想事成.同时我们也为大家准备了一份新年礼物,首次公开Eygle和600主编的<Oracle性能优化与诊断案例精选>电子版下载. 本书 ...

  6. 查看oracle归档大小,ORACLE RAC按实例统计每天归档日志大小

    ORACLE RAC按实例统计每天归档日志大小: ? SELECT ? TRUNC (COMPLETION_TIME) ARCHIVED_DATE, ? ? ? ? ? ?THREAD#, ? ? ? ...

  7. 《Oracle性能优化与诊断案例精选》——2.3 衣带渐宽终不悔

    本节书摘来自异步社区出版社<Oracle性能优化与诊断案例精选>一书中的第2章,第2.3节,作者:盖国强 , 李轶楠 ,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  8. Postgresql 归档失败

    9.2.9版本的postgresql报以下错误 2017-05-12 16:15:03.944 CST,,,6641,,58802902.19f1,4789,,2017-01-19 10:48:34 ...

  9. 《Oracle性能优化与诊断案例精选》——2.5 回首向来萧瑟处,也无风雨也无晴...

    本节书摘来自异步社区出版社<Oracle性能优化与诊断案例精选>一书中的第2章,第2.5节,作者:盖国强 , 李轶楠 ,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

最新文章

  1. 转:优化js脚本设计,防止浏览器假死
  2. 清北刷题10.23night
  3. SQL查询重复记录方法大全 转
  4. boost::hana::metafunction用法的测试程序
  5. java调c++代码_Java中调用C++代码的实现 | 学步园
  6. JM与h264标准中的关键字说明
  7. CVPR 2019 Oral 亮风台提出端到端投影光学补偿算法,代码已开源
  8. 刚看到另外一个育儿作者收入是我的3000倍
  9. ASCII表,二进制、十进制对照表
  10. VS不能使用回车键和删除键及其他键问题
  11. windows截图保存自动化脚本以及设置快捷键一键运行
  12. 腾讯云商用密码合规解决方案,亮相2021商用密码应用创新高端研讨会
  13. LPC1768 IAP
  14. android打开蓝牙设置界面,Android 点击跳转到蓝牙设置界面
  15. raid, scsi_host pics
  16. Mac微信防撤回安装教程——已失效
  17. Auto MDI/MDI-X 简要说明及网线头线序
  18. Random库的8个函数
  19. 【技术分享】新核心业务系统数据架构规划与数据治理
  20. 适应不同版本的bdb的代码

热门文章

  1. e开头的正则 php,PHP正则表达式e模式
  2. 7 兼容 因特尔十代_年终抄底十代酷睿 请务必看看它……- ——快科技(驱动之家旗下媒体)-...
  3. 文件处理之解决使用 feof(c语言)或(fin.eof())出现多读问题
  4. 天翼云从业认证(4.12) 天翼云医疗行业解决方案
  5. 百练OJ:2767:简单密码
  6. 【研发管理】结构化流程框架
  7. 软件项目管理0716:责任分工明确
  8. 转载-如何做好项目的需求与业务调研▲▲▲
  9. 笔记-项目沟通管理-如何改进项目沟通
  10. DevExpress的TreeList实现自定义节点NodeCell的背景颜色和前景色