问题已解决: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)

相关推荐

  • OLAP新秀ClickHouse性能测试「建议收藏」

    OLAP新秀ClickHouse性能测试「建议收藏」对ClickHouse做个简单的性能测试。 ClickHouse简介 ClickHouse是战斗民族Yandex公司出品的OLAP开源数据库,简称CH,也有人简称CK,是目前市面上最快的OLAP数据…

    2023-02-23
    98
  • mysql5升级mysql8的数据迁移问题「终于解决」

    mysql5升级mysql8的数据迁移问题「终于解决」此文档不对升级操作进行说明,只针对于从mysql5的数据备份 – 导入到mysql8 的操作步骤,以及遇到的坑 1:通过NavicatPremium 可以对数据库进行备份操作。 备份可选择需要备份出…

    2023-02-02
    94
  • 使用Python编写CGI程序进行Web动态内容生成

    使用Python编写CGI程序进行Web动态内容生成CGI(Common Gateway Interface,通用网关接口)是一套用于Web服务器和应用程序之间传递数据的接口标准,使用CGI可以实现Web动态内容生成。Python是一种快速开发的语言,通过编写Python CGI程序可以轻松实现Web动态内容生成。

    2024-02-19
    41
  • mongodb的备份与恢复[亲测有效]

    mongodb的备份与恢复[亲测有效]1.MongoDB 如何备份? >[root@service bin]# mongodump 备份数据 进行备份之后,如果你没指定备份目录会在当前目录自动生成dump备份文件 数据备份

    2023-02-22
    105
  • AnalyticDB MySQL_kubedb

    AnalyticDB MySQL_kubedb摘要 RadonDB MySQL Kubernetes v2.2.0 于近日发布!该版本开始支持 MySQL 8.0,备份功能优化,并全面提升高可用稳定性。社区同步发起“新版试用赢周边”活动! 致谢

    2023-05-25
    92
  • 设置mysql允许远程连接「终于解决」

    设置mysql允许远程连接「终于解决」最近在Linux上安装了Mysql,然后在Windows环境下通过Navicat来连接时,出现报错:1045 Access denied for user 'root'@&apo…

    2023-02-04
    102
  • Python Regexes:快速匹配和替换文本

    Python Regexes:快速匹配和替换文本无论你是数据处理工程师、Web开发人员还是在日常办公中频繁处理文本,Python Regexes都是你必须掌握的技能之一。本文将深入介绍Python Regexes的概念、语法和实际应用,以及如何在Python中使用正则表达式来快速匹配和替换文本。

    2023-12-27
    55
  • mysql主从复制原理以及架构_redis主从复制原理

    mysql主从复制原理以及架构_redis主从复制原理前言:在MySQL中,主从架构应该是最基础、最常用的一种架构了。后续的读写分离、多活高可用架构等大多都依赖于主从复制。主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多,…

    2023-03-26
    98

发表回复

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