11.2.0.3 ASM实例出现ORA-4031错误导致数据库归档失败

简介: 环境:平台:RedHat EnterPrise 5.8 X86_X64 数据库:Oracle EnterPrise 11.2.0.3 集群软件:Oracle grid 11.2.0.3 故障现象:数据库出现了归档失败,其中有一个节点的实例出现HANG死的状况。


环境:
平台:RedHat EnterPrise 5.8 X86_X64
数据库:Oracle EnterPrise 11.2.0.3
集群软件:Oracle grid 11.2.0.3


故障现象:
数据库出现了归档失败,其中有一个节点的实例出现HANG死的状况。

日志信息如下:

 Fri Feb 28 19:49:04 2014
 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
 Fri Feb 28 19:50:22 2014
 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实例的错误信息:

 Fri Feb 28 19:41:23 2014
 Dumping diagnostic data in directory=[cdmp_20130702164115], requested by (instance=2, osid=2032294 (LMD0)), summary=[incident=165521].
 Fri Feb 28 19:49:19 2014
 Dumping diagnostic data in directory=[cdmp_20130702164845], requested by (instance=2, osid=2032294 (LMD0)), summary=[incident=165522].
 Fri Feb 28 19:55:56 2014
 Dumping diagnostic data in directory=[cdmp_20130702165517], requested by (instance=2, osid=2032294 (LMD0)), summary=[incident=165523].

当前节点ASM实例出现了的这个信息,说明报错发生在实例2上:

Fri Feb 28 18:34:25 2014
 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)
 Fri Feb 28 18:29:53 2014
 Sweep [inc][186256]: completed
 Fri Feb 28 18:36:49 2014
 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启动的参数配置:

Fri Feb 28 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死。


目录
相关文章
|
2月前
|
NoSQL Java 数据库
【问题篇】springboot项目通过数据库限制实例端口号
【问题篇】springboot项目通过数据库限制实例端口号
19 0
|
4月前
|
弹性计算 关系型数据库 MySQL
快速上手阿里云RDS MySQL实例创建,轻松管理数据库
快速上手阿里云RDS MySQL实例创建,轻松管理数据库 在数字化时代,数据已成为企业的核心资产。如何高效、安全地存储和管理这些数据,成为企业在云计算时代亟待解决的问题。阿里云的RDS(关系型数据库服务)应运而生,为用户提供稳定、可靠的云上数据库解决方案。本文将详细介绍如何通过阿里云RDS管理控制台快速创建RDS MySQL实例,让您轻松上手,快速部署数据库。
179 2
|
7天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之在DataWorks中,“项目空间”、“数据库”和“引擎实例”之间存在怎样的关系
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
22 0
|
8天前
|
安全 数据管理 数据库
数据管理DMS产品使用合集之要将某个DMS实例中的特定数据库授权给某个用户进行查询,操作步骤是怎样的
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
13天前
|
关系型数据库 MySQL 数据库
一台MySQL数据库启动多个实例
一台MySQL数据库启动多个实例
|
14天前
|
存储 SQL 关系型数据库
MySQL数据库:深入解析与应用实例
MySQL数据库:深入解析与应用实例
32 0
|
14天前
|
存储 SQL 数据库
数据库库表结构设计:原理、实例与最佳实践
数据库库表结构设计:原理、实例与最佳实践
30 0
|
2月前
|
Java 数据库
java面向对象高级分层实例_数据库操作类
java面向对象高级分层实例_数据库操作类
11 1
|
2月前
|
SQL 关系型数据库 数据库
sql如何新建数据库实例
sql如何新建数据库实例
|
3月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例