问题描述
数据库的ASM实例出现了ORA-4031错误,导致了数据库实例的崩溃。
详细的错误信息为:
Wed Jul 25 08:03:45 2012 Errors IN file /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_asmb_34668994.trc (incident=808023): ORA-04031: unable TO allocate 3432 bytes OF shared memory ("shared pool","unknown object","sga heap(1,0)","ASM file") Incident details IN: /u01/app/oracle/diag/rdbms/orcl/ORCL1/incident/incdir_808023/ORCL1_asmb_34668994_i808023.trc Wed Jul 25 08:03:47 2012 Trace dumping IS performing id=[cdmp_20120725080347] Errors IN file /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_asmb_34668994.trc: ORA-15064: communication failure WITH ASM instance ORA-04031: unable TO allocate 3432 bytes OF shared memory ("shared pool","unknown object","sga heap(1,0)","ASM file") ASMB (ospid: 34668994): terminating the instance due TO error 15064 Wed Jul 25 08:03:47 2012 ORA-1092 : opiodr aborting process UNKNOWN ospid (29819058_1) Wed Jul 25 08:03:48 2012 Errors IN file /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_q002_25886884.trc: ORA-15064: communication failure WITH ASM instance Wed Jul 25 08:03:47 2012 Errors IN file /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_arc3_36503776.trc: ORA-15064: communication failure WITH ASM instance Wed Jul 25 08:03:47 2012 Errors IN file /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_q001_32374808.trc: ORA-15064: communication failure WITH ASM instance Errors IN file /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_arc3_36503776.trc: ORA-15064: communication failure WITH ASM instance Master archival failure: 15064 Wed Jul 25 08:03:48 2012 ORA-1092 : opiodr aborting process UNKNOWN ospid (12058986_1) Wed Jul 25 08:03:49 2012 ORA-1092 : opitsk aborting process Wed Jul 25 08:03:49 2012 License high water mark = 334 Instance TERMINATED BY ASMB, pid = 34668994 USER (ospid: 35914002): terminating the instance Instance TERMINATED BY USER, pid = 35914002
专家解答
显然数据库实例的出现的崩溃是由于ASM实例的错误导致的。根据Oracle的推荐,在11g中使用MEMORY_TARGET参数的话,那么MEMORY_TARGET至少应该分配256M以上,而且随着DISK GROUP的容量的增长,SHARED_POOL所需要的空间也随着增加。因此对于磁盘组空间比较大的ASM实例而言,采用默认参数作为MEMORY_TARGET显然是不够的。
对于当前环境,只需要简单的调整ASM实例的MEMORY_TARGET参数,将其扩大到500M以上,就可以避免该错误的产生。
最后修改时间:2019-04-14 10:59:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。