Oracle优化配置指南(3.2.4)-查看SGA

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

3.2.4       数据缓冲区

如果每次执行一个操作时,Oracle都必须从磁盘读取所有数据块并在改变它之后又必须把每一块写入磁盘,显然效率会非常低。数据缓冲区存放需要经常访问的数据,供所有用户使用。修改数据时,首先从数据文件中取出数据,存储在数据缓冲区中,修改/插入数据也存储在缓冲区中,commitDBWR(下面有详细介绍)进程的其他条件引发时,数据被写入数据文件。数据缓冲区的大小是可以动态调整的,但是不能超过sga_max_size的限制。

3.2.4.1  查看数据缓冲区

通过下面的命令查看数据缓冲区内存的大小:

show parameter db_cache_size;

结果见下图:

3.2.4.2  修改数据缓冲区

通过下面的命令可以修改数据缓冲区内存的大小:

alter system set db_cache_size=50M scope=both;


db_cache_size是一个动态参数,可以在运行时修改,因此这里的scope设置为both,新的内存大小马上生效,并且还将修改保存在Oracle的启动文件里。

3.2.4.3  查看数据缓冲区命中率

数据缓冲区也有一个命中率的概念,一般要求命中率在90%95%以上,如果你的命中率过低,说明你的数据库效率很低,需要调整数据缓冲区的大小。

可以通过下面的命令查看命中率:

select (1 - ((physical.value - direct.value - lobs.value) / logical.value)) * 100 "命中率"
 
from v$sysstat physical,
      v$sysstat direct
,
      v$sysstat lobs
,
      v$sysstat logical
where physical.name = 'physical reads'
 
and direct.name = 'physical reads direct'
 
and lobs.name = 'physical reads direct (lob)'
 
and logical.name = 'session logical reads';

结果如下:

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

相关问答

更多
  • 什么平台啊讲清楚
  • 你最好买一本专门讲ORACLE性能优化的书,好好看看 1、调整数据库服务器的性能 Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑: 1.1、调整操作系统以适合Oracle数据库服务器运行 Oracle数据库服务器很大程度上依赖于运行服务器的操作系统,如果操作系统不能提供最好性能,那么无论如何调整,Oracle数据库服务器也无法发挥其应有的性能。 1.1.1、为Oracle数据库服务器规划系统资源 据已有计算机可用资 ...
  • Oracle有很多值得学习的地方,这里我们主要介绍Oracle优化,包括介绍可变参数的Oracle优化等方面。数据库系统和操作系统一样,在计算机上安装成功后,还需要进一步配置和优化,从而使其具有更强大的功能和运行在最佳状态。如果在设计阶段因为各种因素没有进行较为合理的配置和计划,那么就需要在后期对数据库系统进行优化。 数据库系统性能的优化,除了在设计阶段对其逻辑存储结构和物理存储结构设计进行优化,使之在满足需求条件下,时空开销性能最佳外,还可在运行阶段,采取一些优化措施,使系统性能最佳。本专题所讨论的性能优 ...
  • 做索引和合理地建表就是优化的其中之一了~ 合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。 ●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列 ...
  • oracle性能优化[2024-02-25]

    参加过CUUG的Oracle性能优化网络公开课,网上应该有录制的视频,讲得不错。 网上也有很多oracle性能优化的技术文章啊,发不了链接,你百度一下oracle网络公开课就有了!
  • 像你说的,sql没有什么优化的可能了。 只能从数据库技术上面来优化,使用并行、提升io吞吐量、启用压缩、使用分区将表分片存放在不同硬盘上(如果没有使用raid的话)。 有些可疑,你可以进一步判断一下,是数据库这边查询比较慢,还是应用程序层处理起来比较慢。
  • Oracle11g怎么配置[2022-01-04]

    你好,希望可以给你个参考!谢谢 所谓双机热备,就是将中心服务器安装成互为备份的两台服务器,并且在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会迅速的自动启动并运行。我们来看看在WIN2000服务器版下的实现过程。 一、 硬件准备及基本安装综述 网络服务器 两台 网络服务网卡 四块 服务器硬盘 两块 SCSI磁盘阵列 一个 SCSI硬盘 三块 首先是将两台服务器都配置成双网卡,并分别安装Win2000 Advance Server(高级服务器版)。之后配置网络环境 ...
  • 基本相同,都遵循SQL语言的语法规则。在SQL脚本上两者最大的区别是函数不一样和个别关键字不一样。比如Oracle里没有limit关键字,所以Oracle实现分页比MySQL麻烦。
  • 好吧最后想出来了 - @ GET和@Path注释对于CFXServlet实现是正确的但不是对于vanilla Spring,我需要将注释更改为@RequestMapping(value =“/ {eventId}”,method = RequestMethod.GET )然后一切正常。 我最后也将控制器注释更改为@RestController,但它在之前的注释中运行得很好。 Ok finally figured this out -- the @GET and @Path annotations were ...
  • SGA只是在sqlplus(命令行工具)中show sga ,对于PGA,你应该在这里找到一个查询: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4269591917792 这是查询: SELECT name, sum(value/1024) "Value - KB" FROM v$statname n, v$session s, v$sesstat t WHERE s.s ...