问题已解决:ORA-04030 私有内存超出

问题已解决:ORA-04030 私有内存超出今天巡检遇到数据库报错 ORA-04030 错误,看看如何解决? 关键词:ORA-04030、(pga heap,kgh stack)、(kxs-heap-c,kprbalo temp memory

作者简介:

作者:LuciferLiu
中国DBA联盟(ACDU)成员。目前从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。

前言

今天巡检遇到数据库报错  ORA-04030 错误,错误日志如下:

ORA-04030: out of process memory when trying to allocate 169040 bytes (pga heap,kgh stack)
ORA-04030: out of process memory when trying to allocate 432 bytes (kxs-heap-c,kprbalo temp memory)

关键词:ORA-04030、(pga heap,kgh stack)、(kxs-heap-c,kprbalo temp memory)。

一、问题分析

1、通过 Oracle oerr工具查看错误代码:

问题已解决:ORA-04030 私有内存超出

通常情况下,该错误是由于 私有内存超出 导致 为了分配更多的私有内存,您可以在操作系统级别更改页面计数调整数据库中的 realfree 堆页面大小

2、抓取trace文件关键信息:

在trace文件中发现:”Process Map” 显示了65532个映射的内存块。然而,每个进程只有 65536 个内存映射条目,这些错误通常是由于操作系统中的映射条目用完而出现的。

3、通过查询MOS文档,发现该错误相符合的文档:

PLSQL Procedure Causing ORA-04030: (pga heap,control file i/o buffer) And ORA-04030: (koh-kghu sessi,pmuccst: adt/record) or ORA-04030: (koh-kghucall ,pmucalm coll) Errors (Doc ID 1325100.1)

二、解决方案

两种解决方案,任选其一即可。建议修改系统参数。

1、操作系统级别修改页面计数

##检查max_map_count当前值
more /proc/sys/vm/max_map_count

##关闭数据库实例

##修改max_map_count
sysctl -w vm.max_map_count=200000

或者

cat <<EOF>>/etc/sysctl.conf vm.max_map_count=200000 EOF

##生效
sysctl -p

##重启主机
reboot

##启动数据库实例

注意:因为修改系统参数需要重启主机,所以需要数据库停机进行操作,重启主机系统参数生效之后,再启动数据库。

2、修改数据库隐含参数

Oracle 11204版本之前:

##设置spfile参数
alter system set "_use_realfree_heap"=TRUE scope=spfile;
alter system set "_realfree_heap_pagesize_hint"=200000 scope=spfile;

##重启数据库

Oracle 12.1版本之后:

##设置spfile参数
alter system set "_use_realfree_heap"=TRUE scope=spfile;
alter system set "_realfree_heap_pagesize"=200000 scope=spfile;

##重启数据库

参考官方文章:PLSQL Procedure Causing ORA-04030: (pga heap,control file i/o buffer) And ORA-04030: (koh-kghu sessi,pmuccst: adt/record) or ORA-04030: (koh-kghucall ,pmucalm coll) Errors (Doc ID 1325100.1)

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力,谢谢

墨天轮:Lucifer三思而后行
CSDN:Lucifer三思而后行
微信公众号:Lucifer三思而后行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13771.html

(0)

相关推荐

  • redis string操作_redis字符串

    redis string操作_redis字符串场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re

    2023-01-23
    164
  • MySQL5.6升级5.7步骤

    MySQL5.6升级5.7步骤升级步骤: 1、对mysql5.6进行全库备份( )用于失败倒回 2、关闭mysql5.6版本数据库 3、将mysql5.7软件部署 4、修改配置信息 5、修改启动脚本 6、启动mysql5.7数据库

    2023-02-24
    158
  • 手机隐私保护软件(手机隐私卫士)

    手机隐私保护软件(手机隐私卫士)

    2023-08-28
    141
  • Python求解圆周率的平方根

    Python求解圆周率的平方根圆周率的平方根是一个有趣的数学问题,它涉及到数学、计算机科学和统计学等多个领域。在本文中,我们将从多个方面来探讨Python如何求解圆周率的平方根。

    2024-03-26
    86
  • oracle实现自增的方法和碰到的问题[亲测有效]

    oracle实现自增的方法和碰到的问题[亲测有效]众所周知,Oracle是没有办法像Mysql里用AUTO_INCREMENT实现自增的。 但是Oracle可以通过序列实现自增。 –以下是oracle 12c的方法 create sequence

    2023-05-12
    147
  • mysql建立索引的语句_mysql删除索引语句

    mysql建立索引的语句_mysql删除索引语句项目需要将某个表的某两个字段添加唯一索引,保证这两个字段的值不能同时重复。 Alter table 表名 add UNIQUE index 索引名 (字段1,字段2) 当表中已经存在重复数据的时候,…

    2023-03-27
    174
  • 巨杉数据库怎么样_分布式数据库开发

    巨杉数据库怎么样_分布式数据库开发随着企业应用的类型不断拓展,在海量数据、高并发、多类型数据的应用场景下,底层数据平台对于混合数据类型、混合业务场景处理能力的要求不断扩大,这就催生了 HTAP(混合事务和分析处理)的需求。 新一代分…

    2023-03-19
    160
  • 使用CMD执行Python脚本

    使用CMD执行Python脚本现在Python被广泛应用于数据处理、Web开发、人工智能等领域。在日常开发工作中,我们经常需要使用Python脚本完成一些常规任务。比如,我们要对一个文件夹中的所有文件进行批量处理,我们可以编写一个Python脚本,通过运行脚本来实现批量处理。但是,如何在Windows下方便地运行Python脚本呢?这时候,CMD(命令提示符)就是一个很好的选择。

    2024-09-14
    23

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注