当前位置: 首页
系统平台
Ubuntu中优化Oracle内存使用的方法与技巧

Ubuntu中优化Oracle内存使用的方法与技巧

时间:2026-08-21
转载

Ubuntu系统下Oracle内存优化的实际操作指南一 基线评估与总体策略明确物理内存与用途:用 free -h 查看可用内存,保留**20%–30%**给操作系统、监控、网络与突发负载,避免数据库把内存吃满。内存分配比例(经验值):SGA 30%–70%、PGA 5%–25%,总和不宜超过物理内存

Ubuntu系统下Oracle内存优化的实际操作指南

怎样优化UbuntuOracle内存使用

一 基线评估与总体策略

  • 明确物理内存与用途:用 free -h 查看可用内存,保留**20%–30%**给操作系统、监控、网络与突发负载,避免数据库把内存吃满。
  • 内存分配比例(经验值):SGA 30%–70%、PGA 5%–25%,总和不宜超过物理内存的80%,以降低 swap 与抖动风险。
  • 选择内存管理模式:
    • AMM(Automatic Memory Management):用 memory_target 统一管理 SGA+PGA,适合新手与稳态业务。
    • ASMM(Automatic Shared Memory Management):设置 sga_target 与 pga_aggregate_target,SGA 内部自动调优,适合需要一定可控性的场景。
    • 手动模式:精细到组件,适合复杂或特殊负载。
  • 监控工具:系统侧用 free -h、top/htop、vmstat 1 10;数据库侧用 V$SGAINFO、V$PGA_AGGREGATE_TARGET_ADVICE、V$MEMORY_DYNAMIC_COMPONENTS,必要时结合 AWR/ASH 报告定位瓶颈。

二 操作系统层面优化

  • 共享内存与信号量(Oracle 必需):编辑 /etc/sysctl.conf,示例(按实际内存调整):
    • kernel.shmall = 2097152(共享内存总页数,4KB/页)
    • kernel.shmmax = 17179869184(单个共享内存段上限,约 16GB)
    • kernel.shmmni = 4096
    • kernel.sem = 250 32000 100 128
      执行 sudo sysctl -p 生效。
  • 降低换页倾向:设置 vm.swappiness=10(范围 0–100,值越小越少用 swap;某些场景会用 0,但数据库更推荐 10 以保留应急弹性)。
  • 文件句柄与进程数:在 /etc/security/limits.conf 增加
    • oracle soft/hard nofile 1024/65536
    • oracle soft/hard nproc 2047/16384
  • 异步 I/O:设置 vm.aio-max-nr=1048576,提升高并发 I/O 场景性能。
  • 透明大页(THP):建议关闭以避免内存碎片与性能抖动:
    • echo “never” | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
    • echo “never” | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
  • 虚拟内存映射上限:提高 vm.max_map_count=262144,降低出现 ORA-4030 的风险。
  • 大页内存(HugePages,推荐用于大 SGA):
    • 检查:grep -E ‘hugepages|Hugepagesize’ /proc/meminfo
    • 计算:HugePages ≈ SGA 大小 / HugePageSize(常见 HugePageSize 为 2MB)
    • 配置:在 /etc/sysctl.conf 设置 vm.nr_hugepages=目标页数,并配置 vm.hugetlb_shm_group 为 Oracle 用户组 GID,重启数据库后生效。

三、Oracle数据库内存参数的配置要点

  • AMM(统一内存管理,推荐):
    • ALTER SYSTEM SET memory_target=16G SCOPE=SPFILE;
    • ALTER SYSTEM SET memory_max_target=32G SCOPE=SPFILE;
    • ALTER SYSTEM SET sga_target=0 SCOPE=SPFILE;
    • ALTER SYSTEM SET pga_aggregate_target=0 SCOPE=SPFILE;
    • 重启数据库生效。
  • ASMM(SGA 自动、PGA 手动):
    • ALTER SYSTEM SET sga_target=8G SCOPE=SPFILE;
    • ALTER SYSTEM SET sga_max_size=8G SCOPE=SPFILE;
    • ALTER SYSTEM SET pga_aggregate_target=2G SCOPE=SPFILE;
    • 可选:为关键组件设初值(ASMM 可自调)如 shared_pool_size、db_cache_size。
  • 手动模式(精细控制):
    • ALTER SYSTEM SET db_cache_size=4G SCOPE=SPFILE;
    • ALTER SYSTEM SET shared_pool_size=2G SCOPE=SPFILE;
    • ALTER SYSTEM SET large_pool_size=200M SCOPE=SPFILE;
    • ALTER SYSTEM SET ja va_pool_size=200M SCOPE=SPFILE;
    • PGA 子项如 sort_area_size、hash_area_size 视需要设置。
  • 组件占比建议:db_cache_size 50%–60%、shared_pool_size 15%–30%、log_buffer 16M–64M。

四 验证与监控

  • 参数与状态:
    • SHOW PARAMETER target / sga_target / pga_aggregate_target
    • SELECT * FROM V$SGAINFO;
    • SELECT * FROM V$PGA_AGGREGATE_TARGET_ADVICE;
    • SELECT * FROM V$MEMORY_DYNAMIC_COMPONENTS;
  • 系统侧:
    • free -h、top/htop、vmstat 1 10(关注 si/so 是否频繁)
  • 工作负载分析:生成 AWR/ASH 报告,识别共享池命中率、缓冲区命中率、PGA 排序/哈希瓶颈。

五 注意事项与常见坑

  • 避免过度分配:SGA+PGA ≤ 物理内存 80%;AMM/ASMM 上限也要受此约束。
  • 大页与 AMM 的取舍:启用 HugePages 时,部分 Oracle 版本与平台组合下建议关闭 AMM(memory_target),优先使用 ASMM 以获得更稳定的大页收益;变更前务必在测试环境验证。
  • THP 与 swap:关闭 THP、合理设置 vm.swappiness(数据库更推荐 10),减少抖动与性能劣化。
  • 变更流程:参数修改写入 SPFILE 后需重启;先备份 SPFILE 与当前参数,按“小步调整、持续观测”的节奏推进。
  • SQL 与应用层优化:使用绑定变量降低硬解析,减少共享池压力;优化执行计划、索引与访问路径,降低 PGA 排序/哈希开销。

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

时间:2026-09-01 16:50
Win10专业版U盘安装教程:制作启动盘与完整安装步骤

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

时间:2026-09-01 16:50
Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

时间:2026-08-27 15:46
Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

时间:2026-08-27 15:45
Windows10系统怎么显示此电脑和控制面板

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。

时间:2026-08-27 15:45
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全