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死。


目录
相关文章
|
20天前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
20天前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
106 61
|
20天前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
88 57
|
20天前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
26天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
9天前
|
关系型数据库 MySQL 数据库
【赵渝强老师】启动与关闭MySQL数据库实例
MySQL数据库安装完成后,可以通过命令脚本启动、查看状态、配置开机自启、查看自启列表及关闭数据库。本文提供了详细的操作步骤和示例代码,并附有视频讲解。
|
1月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
61 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
1月前
|
SQL Shell 数据库
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
64 0
|
3月前
|
存储 Serverless API
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
29 0
|
3月前
|
数据库连接 数据库
Thinkphp6多数据库实例跨库操作
Thinkphp6多数据库实例跨库操作
65 0