首页 > 其他分享 >ORA-04030

ORA-04030

时间:2024-09-03 18:03:34浏览次数:10  
标签:04030 spfile ## max 3.2 ORA

Table of Contents

1. 问题描述

现场运维人员反馈, 在测试环境,初始化数据时遇到如下错误:

ORA-12801: error signaled in parallel query server P046
ORA-04030:out of process memory when trying to allocate 268435480 bytes (QERHJ hash-joi,HT buckets)

可以看到 当时进程想要申请 256M pga 用于hash join,但是失败了。 从日志中查看相关SQL:

select /*+ full(a)parallel(a,5)*/ ....

SQL 启用了并行,那么也就是,当时这个会话申请1G的PGA.

2. 问题分析

 

2.1. 查看内存分配

SQL> show parameter sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 50304M
sga_target

SQL> show parameter pga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 16G

可以看到 SGA 50G, PGA 16G. 内存分配没有什么问题。

2.2. 查看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)

3. 解决方案

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

3.1. 方案1:修改操作系统页面计数

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

##关闭数据库实例

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

或者

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

##生效
sysctl -p

##重启主机
reboot

##启动数据库实例
注意
重启服务器后,先检查确认参数是否生效。

3.2. 方案2:修改数据库参数

 

3.2.1. Oracle 11204版本之前

##设置spfile参数,重启生效
alter system set "_use_realfree_heap"=TRUE scope=spfile;
alter system set "_realfree_heap_pagesize_hint"=200000 scope=spfile;

3.2.2. Oracle 12.1版本之后

##设置spfile参数,重启实例生效
alter system set "_use_realfree_heap"=TRUE scope=spfile;
alter system set "_realfree_heap_pagesize"=200000 scope=spfile;

4. 解决实验

我选择第二个方案。 操作步骤上简单点儿。 经现场运维测试, 之前报错的步骤已经通过。到此问题解决。

Validate

标签:04030,spfile,##,max,3.2,ORA
From: https://www.cnblogs.com/halberd-lee/p/18395139

相关文章

  • 开源模型应用落地-qwen2-7b-instruct-LoRA微调&合并-ms-swift-单机多卡-RTX 4090双卡(
    一、前言  本篇文章将使用ms-swift去合并微调后的模型权重,通过阅读本文,您将能够更好地掌握这些关键技术,理解其中的关键技术要点,并应用于自己的项目中。二、术语介绍2.1.LoRA微调  LoRA(Low-RankAdaptation)用于微调大型语言模型(LLM)。 是一种有效的自适应......
  • Oracle 19c OCP 082认证考试题库(第7题)- 2024年修正版
    【优技教育】Oracle19cOCP082题库(第7题)-2024年修正版考试科目:1Z0-082考试题量:90通过分数:60%考试时间:150min本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:https://www.cuug.com.cn/ocp/082kaoshitiku/38159072308.html第7题:7、C......
  • 光伏清洁机器人4G之痛,LoRa通讯取而代之?
    光伏清洁机器人是一种专门用于清洁光伏组件(太阳能电池板)的自动化机器人。通过自主或者远程控制自动清洁光伏板上的尘土、鸟粪、树叶等污染物,在提升清洁效果的同时提高光伏电站的发电效率。然而,面对偏远无人区的孤岛效应及复杂地形的重重挑战,传统4G通信网络难以稳定支撑光伏清洁机器......
  • oracle数据库安装和配置
    Oracle数据库的安装和配置过程可以分为几个主要步骤,这些步骤在不同的教程中有所体现。以下是详细的安装和配置步骤:一、下载与准备下载Oracle数据库软件:从Oracle官方网站下载适合操作系统版本的安装包。注册Oracle账号:如果需要下载某些版本的数据库,可能需要先注册一个Oracle账......
  • Typora 适配高版本 Mermaid
    Typora适配高版本Mermaid查看Mermaid版本info下载最新的mermaid.min.js文件在搜索框输入CDNhttps://cdn.jsdelivr.net/npm/mermaid@11/替换Typora的window.html文件<script> constinterval=setInterval(()=>{ console.log('checkmermaid...'); if......
  • Oracel:常用函数:单行函数、多行函数(组函数)
    一、单行函数单行函数是指每一行数据执行操作后都会返回一行数据单行函数可以进行嵌套,嵌套函数的顺序是由内到外单行函数分为5类:字符、数值、日期、转换、通用函数1)大小写控制函数lower('str'):大写转小写selectlower('ORACLE')fromdual;--oracleupper('str'):小写转......
  • 【Oracle点滴积累】Oracle 19c安装Critical Patch Update for January 2024
    广告位招租!知识无价,人有情,无偿分享知识,希望本条信息对你有用!今天和大家分享如何为Oracle19c(未启用RMAN的单实例)安装CriticalPatchUpdate(PatchNumber:35943157),本指引不包含RollBack部分,本文仅供参考,谢谢!cd/home/oracle/NewVersion_Opatch/OPatch/./opatchversio......
  • Typora Markdown 设定代码显示高度
    Typora1.0.3markdown满屏显示,去除两边的留白TyporaMarkdown设定代码显示高度Typora显示数学公式Markdown数学公式Html表格在线转MarkdownMarkdownEmojio表情图标点击Typora的文件—>偏好设置–>外观–>打开主题文件夹–>改开对应的CSS文件添加CSS样式.md-fe......
  • 关于Window操作系统中对Oracle的性能监控
    目的本文是为了测试数据仓库的实时数据抽取功能对源数据库和操作系统的性能的影响。由于Windows操作系统未提供类似于UNIX下的Top、ps、vmstat等CPU、内存、I/O监控工具,同时Oracle作为操作系统下的一个唯一进程而存在,这就导致windows操作系统在监控Oracle方......
  • 查看Windows下引起Oracle CPU占用率高的神器-qslice
    前言:qslice是一个win2000的工具包,能分析进程的cpu占用率,我们用于分析oracle的性能 这是绿色的软件无需安装。 我们经常会碰到oracle的CPU占用居高不下,无法快速定位到问题SQL,就需要这个神器:qslice。分析过程:1、进入qslice,打开oracle进程,双击进入 2、最大化弹出的窗口,发......