能源采矿Oracle

oracle数据库的pga、sga内存分配之和 与 oracle.exe进程占用系统的内存之间什么关系?

问个数据库的问题oracle中sga和pga分配的大小 和 oracle.exe进程在操作系统里占用的内存大小 二者之间有什么关系?

参与8

1同行回答

AcdanteAcdante技术总监SHFY
1).首先,题主说的是oracle.exe进程,这个描述很准确,且可看得出是针对windows环境下的oracle。windows环境是下,oracle在系统中的体现主要只有oracle.exe单个进程,但是,这单个进程中,其余的进程分别以线程的方式体现。这个可以使用oracle自带的工具查看每个线程的ID号以及名称等详...显示全部

1).首先,题主说的是oracle.exe进程,这个描述很准确,且可看得出是针对windows环境下的oracle。
windows环境是下,oracle在系统中的体现主要只有oracle.exe单个进程,但是,这单个进程中,其余的进程分别以线程的方式体现。这个可以使用oracle自带的工具查看每个线程的ID号以及名称等详细信息。
2)oracle.exe进程所占用的操作系统的内存大小,一部分为oracle后台进程(在windows下体现为多个单独的线程)也就是题主问的PGA部分。
且PGA会动态变化的,并不是一直不变,这里还有一个误区,SGA是在实例启动时就已经分配好了,但是这个分配的,是虚拟内存,而任务管理器或者资源管理中看到的,只是实际使用的活动的SGA是,会随着SGA的大小变化。

3)有关这部分的详细内容,建议参看Oracle Concepts.

收起
互联网服务 · 2017-12-25
浏览2161
  • 请问:sga实际占用的内存包含在oracle.exe进程占用的内存中吗? 您说的还是不太明白,到底oracle.exe占用内存=pga内存 还是=pga内存+实际sga占用内存。 我的环境中64位server系统,物理内存32GB,数据库oracle11g,查看sga分配13GB,pga分配4G,而oracle.exe进程占用10多GB而已 可是整个服务器系统32GB内存尽然耗尽到29GB 所以我想知道到底什么吃了内存? 只跑个数据库而已!
    2017-12-26
  • Oracle.exe进程是SGA实际使用大小+PGA+UGA,每个连接Oracle都会分配相应的服务进程。你可以使用一些windows下的内存诊断工具去查找内存占用情况,如RamMap或者windows自带的性能分析。
    2017-12-26

提问者

hufeng719
系统工程师某钢铁企业
擅长领域: 数据库存储服务器

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-12-25
  • 关注会员:2 人
  • 问题浏览:2385
  • 最近回答:2017-12-25
  • X社区推广