当前位置: 首页 > news >正文

Oracle 19c占内存高的解决方法

因为Oracle 19c安装后默认的内存配置是为生产环境设计的,会尽可能多地占用系统内存。我们可以通过调整内存参数来大幅降低占用。

🎯 内存占用分析

Oracle的内存主要分为两部分:

  • SGA(系统全局区):占大头,用于缓存数据、SQL等
  • PGA(程序全局区):用于排序、哈希等操作

你看到的12GB很可能是SGA被设置了较大的值。对于开发测试环境,我们可以把总内存限制在2GB-4GB就足够用了。

⚡ 立即释放内存的“急救方案”

如果你想让Oracle立刻把占用的内存吐出来,最快的方法是重启服务

  1. 打开Windows服务管理器(services.msc
  2. 找到Oracle相关的服务(如OracleServiceORCL19
  3. 右键点击选择“重新启动”

重启后Oracle会重新初始化内存,通常会释放大量已占用的内存。但这只是临时方案,重启后又会回到原来水平。

🔧 永久限制内存的配置方案

要让Oracle长期稳定地占用较少内存,需要修改内存参数。这里提供两种方法,推荐方法一(更简单)。

✅ 方法一:启用自动内存管理(AMM,推荐)

自动内存管理让Oracle自动在SGA和PGA之间动态分配内存,你只需要设置一个总上限。

操作步骤

  1. 以管理员身份登录数据库

    sqlplus / as sysdba
    
  2. 查看当前内存设置

    SHOW PARAMETER memory_target
    SHOW PARAMETER sga_target
    SHOW PARAMETER pga_aggregate_target
    
  3. 设置总内存上限(例如限制为2GB):

    -- 先设置最大上限(需要重启)
    ALTER SYSTEM SET memory_max_target = 2G SCOPE=SPFILE;-- 关闭SGA和PGA的固定值,交给自动管理
    ALTER SYSTEM SET sga_target = 0 SCOPE=SPFILE;
    ALTER SYSTEM SET pga_aggregate_target = 0 SCOPE=SPFILE;
    
  4. 重启数据库使参数生效

    SHUTDOWN IMMEDIATE;
    STARTUP;
    
  5. 设置当前内存目标(重启后执行):

    ALTER SYSTEM SET memory_target = 2G;
    
  6. 验证配置

    SHOW PARAMETER memory_target;
    

设置后,Oracle总内存会控制在2GB左右,并且会根据负载自动调整。

✅ 方法二:手动配置SGA和PGA

如果你希望对内存分配更精细地控制,可以分别设置SGA和PGA。

示例配置(总内存约3GB)

ALTER SYSTEM SET sga_max_size = 2G SCOPE=SPFILE;
ALTER SYSTEM SET sga_target = 2G SCOPE=SPFILE;
ALTER SYSTEM SET pga_aggregate_target = 1G SCOPE=SPFILE;-- 重启生效
SHUTDOWN IMMEDIATE;
STARTUP;

针对OLTP开发环境的建议值

  • SGA:物理内存的40%-50%(如果总内存16GB,设6-8GB)
  • PGA:物理内存的10%-20%(如果总内存16GB,设2-3GB)

📊 两种方法的对比

方案 优点 缺点 适用场景
AMM 配置简单,自动调优,无需操心SGA/PGA比例 动态调整有微小开销 大多数开发测试环境
手动配置 控制粒度更细,性能可预测 需要根据负载调整 特定负载测试、模拟生产

🔍 如果以上方法无效的排查思路

如果调整后内存占用依然很高,可以检查以下特殊情况:

  1. 检查Streams Pool等特殊组件:有案例显示第三方工具或错误配置可能导致某个内存池异常占用(如Streams Pool占用96GB)。可以通过查询确认:

    SELECT * FROM v$sgainfo;
    
  2. 检查内核参数(Windows对应为注册表):Linux系统需要调整shmmax/shmall等参数,Windows系统通常不需要额外配置,但如果之前调整过Oracle用户的内存锁定权限,可能会影响内存释放。

  3. 关闭不必要的数据库特性:如Memory Optimized Rowstore(需要设置MEMOPTIMIZE_POOL_SIZE=0)。

💡 最终建议

对于你的开发测试环境,我推荐采用方法一(AMM)

  • 先设置 memory_max_target = 2G
  • 重启后设置 memory_target = 2G

这样Oracle会在2GB以内自动管理内存,既能满足开发测试需求,又不会拖慢你的电脑。如果后续发现内存不够(比如跑大批量数据处理),可以随时调大这个值。

如果你在执行过程中遇到权限问题或参数修改失败,可以随时告诉我具体的错误信息,我帮你看看怎么处理~

http://www.jsqmd.com/news/417713/

相关文章:

  • Flutter App 使用Flavor时配置ios方法
  • 企业微信官方服务电话 2026 最新版,人工客服热线查询指南 - 品牌2025
  • 4、EA量化的交易策略
  • 1、什么是EA量化黄金交易?
  • 学习笔记514—安装 VirtualBox虚拟机【ubuntu】
  • 2026年光储充电站建设施工公司推荐:谁能打造优质充电设施?重卡充电桩运营/重卡充电站投资,光储充电站企业找哪家 - 品牌推荐师
  • 2026年应用商店ASO优化推广服务商推荐:柚鸥网络苹果/谷歌/安卓全场景选型指南 - 品牌推荐官
  • 国标领航 技护成长:独语N627-1,学生护眼台灯的品质典范 - 资讯焦点
  • 48-mini-vue 实现 watchEffect
  • 解析国货防脱洗发水品牌怎么选:长发小寨以核心酶抑制率立标杆 - 资讯焦点
  • 2026年2月陶瓷台面实验台实力厂家,高端实验台面实力品牌 - 品牌鉴赏师
  • 2、哪些 EA 是**坑**,哪些**真能活久一点**,你一看就懂。
  • 2026大型企业适用 Jira 替代软件怎么选?深度评测五大主流方案 - 资讯焦点
  • 整骨师资格证怎么考取? - 中媒介
  • 国家卫健委认证整骨培训 - 中媒介
  • 陕西搬家公司推荐:2026 年一站式搬家服务靠谱服务商筛选 - 深度智识库
  • 凯氏定氮仪推荐品牌:进口与国产实力厂家盘点 - 品牌推荐大师
  • 整骨安全操作实训 - 中媒介
  • 突破数据困境:罕见病AI模型的泛化能力测试革命——软件测试工程师在医疗AI质量保障中的新战场
  • 从纯文本到精美文档:TXT 转 PDF 的三种高效方案 - E
  • 6款免费AI论文工具:一键极速生成超长篇幅,帮你省下80%写作时间 - 麟书学长
  • 别再瞎找了!8个降AI率平台深度测评与推荐
  • github基础使用手册
  • 执业整骨师培训标准 - 中媒介
  • 2026年东莞整形医院排名前三揭晓:资质合规 + 项目资深!​ - 资讯焦点
  • 告别低效繁琐!降AI率工具 千笔·专业降AI率智能体 VS WPS AI
  • 实操整骨教学课程 - 中媒介
  • 东莞整形医生比较好的有哪些?这几位技术口碑双在线,擅长项目全解析! - 资讯焦点
  • 学霸同款!断层领先的AI论文工具 —— 千笔ai写作
  • 重磅!城市智能体建设官方指南发布,全域数字化转型有了标准化框架