oracle之内存

php中文网
发布: 2016-06-07 15:13:40
原创
1070人浏览过

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 这几天一直都在寻找一本深入研究oracle内存的书籍,期间一波三折弄的自己神魂颠倒,但是还是被我拿下了,感谢支持我的朋友,这周打算把oracle的内存进行一下深入剖析,以此记录学习笔记。 一)内存体

欢迎进入oracle社区论坛,与200万技术人员互动交流 >>进入

  这几天一直都在寻找一本深入研究oracle内存的书籍,期间一波三折弄的自己神魂颠倒,但是还是被我拿下了,感谢支持我的朋友,这周打算把oracle的内存进行一下深入剖析,以此记录学习笔记。

  一)内存体系结构:

oracle之内存

  每当数据库的实例启动的时候oracle database就会分配内存以及后台进程,在内存区域中存储的如下相关信息:

  》程序代码

  》关于以及连接的会话信息,即使该会话不是活动状态。

  》程序执行期间需要的相关信息

  》关于数据共享一些锁的信息。

  》缓冲的数据,想数据块和重做日志记录等等。

oracle之内存

  可以查一下上面这个图:

  A)基本的内存结构包括如下部分:

  1)sga(系统全局区,system global area)

  sga有很多共享内存结构组成,叫做sga的组件,它包括一些关于实例的数据信息和控制信息,sga被所有的服务进程和后台进程所共享。例如数据存储在sga中包括缓存的数据块和共享sql区域。

  2)pga(程序全局区,program global area)

  pga是被一个oracle进程独自占有的不是共享的一块区域,它包含一些数据信息和控制信息。在oracle进程启动的时候该区域就被创建了。

  pga是为每个服务进程和后台进程存在的,所有的服务进程和是后台进程 锁分配的所有pga成为实例pga大小。oracle只能对整个所有pga的大小进行限制,不能对单个进程的pga进行设置大小。

  3)uga(用户全局区,user global area)

  uga保存了一些用户的会话信息。

.net全诚外卖叫餐(订餐)系统
.net全诚外卖叫餐(订餐)系统

全诚外卖通是全诚团队继“全诚商城”之后以叫餐(预订)为核心的又一力作,或者称之为“特色店铺系统”,系统是基于.net2.0 + SQL构架、B/s框架的多用户店铺管理系统;外卖通的开发旨在以商家和消费者为服务对象,借以二者相互依存的关系,以互动的形式成就全诚外卖通一个完善的WEB系统平台,在这个平台里,商家可以扩大销售

.net全诚外卖叫餐(订餐)系统 0
查看详情 .net全诚外卖叫餐(订餐)系统

  4) 软件代码区(software code areas)

  该区域是存储一些执行的代码或是能够被执行的代码的区域。

  B)oracle database 内存管理

  内存管理就是可以根据数据库的不断变化能够维护oracle内存的相关结构大小,并且给予内存的相关components一个合理的值。oracle内存的管理是通过设置相关参数文件中的参数进行设定的。其中包括如下管理方式:

  1)自动内存管理(automatic memory management)

  dba可以指定一个总的目标内存值,然后数据库实例就会自动的对内存的相关组件按照不同的需求进行自动动态调整内存大小,也就是安装不同内存的需求动态的调整pga和sga的相关大小。(该内容在后续进行深入研究)

  2)自动共享内存管理((automatic shared memory management)

  该管理模式是对内存的一个部分自动管理。你可以给sga设置一个总的大小目标值然后再设置一个总的pga大小内存值进行管理。

  3)手动内存管理(manual memory management)

  手动内存管理就不是设置一个目标最大值了,而是通过参数文件中的相关参数进行每个内存组件的手动管理。(该方式繁琐,被弃用了)

  note:在11g中,如果在创建数据库的时候使用dbca然后选择基本按照方式的时候,默认是采用了自动内存管理。

oracle之内存

  pga是在操作系统的进程或是线程特定的一块内存区域,它不是共享的。因为pga是进程指定的,因此它不会在sga中分配。

  pga是一个内存堆,其中包含了被专用服务器或是共享服务器金曾锁需要的一些会话变量信息。服务器进程需要在pga中分配一些所需的内存结构。

  一个比喻为,pga是一个临时的文件管理员的工作区域,这个文件管理员就是服务进程,她是为客户服务工作的(client process),然后文件管理员把工作区域分为很多的区域,然后来处理或是保存客户的不同信息,当这个工作完成的时候,那么相关区域的空间就会被释放掉。

  如下图,显示了在专用服务器模式下所有的进程分配的pga的信息(注意background 进程也是需要分配pga的),可以使用一个初始化参数设置一个大的instance pga 值,然后每个私有的pga分别占用instance pga的一部分size:

oracle之内存

[1] [2] [3] [4] [5] [6] 

oracle之内存

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号