- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2010年oracle学习数据库概念及实验—03
内存结构
一、Oracle有3个主要的内存结构:
1、系统全局区(System Global Area,SGA):这是一个很大的共享内存段,几乎所有Oracle进程都要访问这个区中的某一点。
2、进程全局区(Process Global Area,PGA):这是一个进程或线程专用的内存,其他进程/线程不能访问。
3、用户全局区(User Global Area,UGA):这个内存区与特定的会话相关联。它可能在SGA中分配,也可能在PGA中分配,这取决于是用共享服务器还是用专用服务器来连接数据库。如果使用共享服务器,UGA就在SGA中分配;如果使用专用服务器,UGA就会在PGA(即进程内存区)中。
这里需要了解 SGA 区和 PGA 区就可以了。
二、PGA 区
进程全局区(PGA)是特定于进程的一段内存。换句话说,这是一个操作系统进程或线程专用的内存,不允许系统中的其他进程或线程访问。PGA一般通过C语言的运行时调用malloc()或memmap()来分配,而且可以在运行时动态扩大(甚至可以收缩)。PGA绝对不会在Oracle的SGA中分配,而总是由进程或线程在本地分配。
所以,PGA包含进程内存,还可能包含UGA。PGA内存中的其他区通常用于完成内存中的排序、位图合并以及散列。可以肯定地说,除了UGA内存,这些区在PGA中的比重最大。
我们使用自动管理,所以手工管理参数就不讨论了。
********************************************************
实验过程:略
由于这个实验有可能造成系统瘫痪,特别是一些初学人员会就此掌握使系统瘫痪的方法,所以不列出具体的实验过程。只需要记住结论就可以。
1、DBA 使用自动管理方式,把管理交给数据库自身
2、控制用户并发登陆,需要应用设计时考虑
3、排序尽量使用分区表,使用index
4、由于一些PGA内存不在Oracle的控制之下,所以如果在PL/SQL代码中分配了大量很大的数据结构,就很容易超出PGA_AGGREGATE_TARGET,有可能导致内存不足,而这个内存不足不是DBA(数据库管理员)和SA(操作系统管理员)能够控制的
DBA 能做的第一条已经做了,后面三条都需要开发人员考虑
历史故障:出现过的故障比较少,基本上从IO方面可以反映出来,一般是index问题,应用维护人员会比平台维护人员敏感,他们会自己重建index。
三、SGA 区
(一)SGA分为不同的池(pool):
1、Java池(Java pool):Java池是为数据库中运行的JVM分配的一段固定大小的内存。在Oracle10g中,Java池可以在数据库启动并运行时在线调整大小。
2、大池(Large pool):共享服务器连接使用大池作为会话内存,并行执行特性使用大池作为消息缓冲区,另外RMAN备份可能使用大池作为磁盘I/O缓冲区。在Oracle 10g 和 9i Release 2中,大池都可以在线调整大小。
3、共享池(Shared pool):共享池包含共享游标(cursor)、存储过程、状态对象、字典缓存和诸如此类的大量其他数据。在Oracle 10g和9i中,共享池都可以在线调整大小。
4、流池(Stream pool):这是Oracle流(Stream)专用的一个内存池,Oracle流是数据库中的一个数据共享工具。这个工具是Oracle 10g中新增的,可以在线调整大小。如果未配置流池,但是使用了流功能,Oracle会使用共享池中至多10%的空间作为流内存。
5、“空”池(“Null”pool):这个池其实没有名字。这是块缓冲区(缓存的数据库块)、重做日志缓冲区和“固定SGA”区专用的内存。
根据过去的经验:一定要掌握共享池(Shared pool)的工作原理,其他不作要求
(二)共享池
共享池是SGA中最重要的内存段之一,特别是对于性能和可扩缩性来说。共享池如果太小,会严重影响性能,甚至导致系统看上去好像中止了一样。如果共享池太大,也会有同样的效果。共享池使用不当会导致灾难性的后果。
案例:应用或开发人员叫DBA扩共享池时,不是别人叫扩就能扩的,要分析有没有灾难性的后果
到底什么是共享池?共享池就是Oracle缓存一些“程序”数据的地方。在解析一个查询时,解析得到的表示(representation)就缓存在那里。在完成解析整个查询的任务之前, Oracle会搜索共享池,看看这个工作是否已经完成。你运行的PL/SQL代码就在共享池中缓存,所以下一次运行时,Oracle不会再次从磁盘重新读取。PL/SQL代码不仅在这里缓存,还会在这里共享。如果有1 000个会话都在执行同样的代码,那么只会加载这个代
您可能关注的文档
- 第5章软件的编码与测试.ppt
- 第5章-数据库设计.ppt
- 第6章 递归算法.ppt
- 第6章 消息认证和杂凑函数.ppt
- 第6章+认证理论与技术——Hash函数.ppt
- 第6章工程量清单计价的基本方法.ppt
- 第8章 存储管理 1.ppt
- 第8章 动态规划.ppt
- 第8章 类和对象.ppt
- 第8章 消息认证、哈希函数.ppt
- 2025年中山市沙溪镇人民政府所属事业单位招聘11人笔试备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库参考答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及答案详解一套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及完整答案详解1套.docx
文档评论(0)