Oracle优化配置指南(3.4)-内存调整原则和建议

2019-03-28 10:58|来源: 道长A

3.4            内存调整原则和建议

3.4.1       基本原则

由于服务器上的物理内存除了要分配给Oracle以外,还要分配一些给操作系统以及其他的软件,因此,我们不能把内存全部分给Oracle。一般情况下,建议将物理内存的80%分配给Oracle。而在32windows操作系统下,分配给Oracle的不能超过1.7G,即使你还有5G空在那里,你也只能干看着。

SGA大小= (物理内存  * 80%) * 50%

PGA大小= (物理内存  * 80%) * 20%

以上公式只是一个大的原则,没有任何一个系统的最优内存配置是相同的。即使是同一个系统,在不同的阶段,最优配置可能也不相同。

要想获得最优的配置,应该根据数据库的具体性能指标来调整各个内存参数的值。还好,Oracle 10g给我们提供了一些有用的建议,这些建议是通过实时抓取Oracle运行时的快照而生成德,因此非常符合实际情况。

3.4.2       调整建议

由于SGA的大小主要是共享池和数据缓冲区,因此,Oracle没有对SGA的建议,只有对共享池和数据缓冲区的调整建议。

3.4.2.1  共享池建议

v_$shared_pool_advice

3.4.2.2  数据缓冲区建议

v_$db_cache_advice

3.4.2.3  PGA建议

v_$pga_target_advice

本文链接:领悟书生教程网

相关问答

更多
  • 数据库优化大概就两个方面: 1、如果有资金投入,更换存储设备,比如用专门的存储阵列,肯定比用单机磁盘强得多,而且可靠性高得多。 2、没有资金,硬件设备换不了,那就从数据库设计上着手。磁盘分片、建立索引,特别是索引技术,如果配合程序的优化,效率改善是最明显的。程序中用到的sql语句一定要注意写法,有时明明字段上有索引,但程序中的语句就是不通过索引得到数据,这样的程序,效率很低。一般都是程序where子句的字段顺序与索引不一致造成的。
  • 你最好买一本专门讲ORACLE性能优化的书,好好看看 1、调整数据库服务器的性能 Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑: 1.1、调整操作系统以适合Oracle数据库服务器运行 Oracle数据库服务器很大程度上依赖于运行服务器的操作系统,如果操作系统不能提供最好性能,那么无论如何调整,Oracle数据库服务器也无法发挥其应有的性能。 1.1.1、为Oracle数据库服务器规划系统资源 据已有计算机可用资 ...
  • 做索引和合理地建表就是优化的其中之一了~ 合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。 ●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列 ...
  • oracle性能优化[2024-02-25]

    参加过CUUG的Oracle性能优化网络公开课,网上应该有录制的视频,讲得不错。 网上也有很多oracle性能优化的技术文章啊,发不了链接,你百度一下oracle网络公开课就有了!
  • 在实际的工作中,尤其是在生产环境里边,SQL语句的优化问题十分的重要,它对数据库的性能的提升也起着显著的作用.我们总是在抱怨机器的性能问题,总是在抱怨并发访问所带来的琐问题,但是如果我们对没一条SQL语句进行优化,尽管不能说可以解决全部问题,但是至少可以解决大部分问题. 1.Top排序问题. 我们经常要对表某个字段进行排序,然后取前N名.所以我们会写如下的SQL语句: selecttop100*from表 orderbyScoredesc 如果表非常大的话,那么这样的操作是非常消耗资源的,因为SQLServ ...
  • 我觉得VirtualBox耗内存比较大,以前一直用那个的,后来装了linux虚拟机,但是跟本机通讯上遇到了问题,搞不懂.因为当时学习的视频指导是用的VMVARE,就改用了VMWARE,这样一比较,就觉得运行Vmware更流畅一些.因为本机是1g内存,不大,所以感觉还算挺明显. 这只是个人的感觉,不知道究竟是不是这回事.仅供参考!
  • 基本相同,都遵循SQL语言的语法规则。在SQL脚本上两者最大的区别是函数不一样和个别关键字不一样。比如Oracle里没有limit关键字,所以Oracle实现分页比MySQL麻烦。
  • 回答我自己的问题 Sitecore图像调整大小使用本机.NET库。 这些不支持用于处理PNG中的位深度或指定无损压缩算法的任何参数。 首先将PNG转换为位图,调整大小,然后保存为32位PNG。 由于没有任何方法可以在.NET中指定位深度而不包含不同的图像处理库,因此Sitecore中没有参数。 唯一的解决方案是导入另一个库或模块并将其并入管道。 这有各种各样的可能性,但Dianoga可以在Github上使用,并且可以扩展。 https://github.com/kamsar/Dianoga Answerin ...
  • 现在你已经为mysql分配了比在物理上在服务器上更多的RAM。 请在下面查看我对以下变量的评论 - [mysqld] #connection setting max_connect_errors=10 max_connections=500 #each connection consumes server resources, so keep how many required. max_user_connections=700 #It should be alwa ...