oracle数据库中系统缓冲区和用户缓冲区的区别

 我来答
育知同创教育
2016-03-12 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
oracle中是不区分系统缓冲区和用户缓冲区的。

(1)获取缓冲区活动情况
  为了Oracle优化缓冲区,首先应了解缓冲区的活动情况。这可以通过查询动态性能表(需有SELECT ANY TABLE特权)V$SYSSTAT来获得。
  1.SVRMGR> select name ,value from v$sysstat
  2.2> where name in('db block gets','consistent gets','physical reads');
  3.NAME VALUE
  4.db blockgets 3437
  5.consistent gets 30500
  6.physica reads 1963
  7.3 rows selected.
  其中,“db block gets”和“consistent gets”的值是请求数据缓冲区中读的总次数。“physical reads”为请求数据时引起从盘中读文件的次数。
  (2)缓冲区命中率
  从缓冲区读的可能性的高低称为缓冲区命中率。它可用如下公式计算:Hot Ratio=1-(physical reads/(db block gets+consistent gets)
  缓冲区命中率越高,其速度就越快。如果命中率低于60%或70%时。则应增加缓冲区(即DB_BLOCK_BUFFERS),以改进性能。根据公式可以计算出本例中的Hot Ratio=1-(1963/(3437+30500)=92%。如果缓冲区的命中率很高,希望在保持良好性能下适当减少缓冲区,这时可减少DB_BLOCK_BUFFERS的值,其最小值为4。
  当一个文件上的输入/输出(I/O)请求干扰了第二个文件的输入/输出请求时,那么这两个文件就会发生争用。所以两个随机存取的文件只有在无可能同时存取它们时,才可以存放在同一设备中。由此可以分为两种类型的I/O争用:并行I/O争用和干扰争用。并行I/O争用多发生在同一时间对同一设备请求多种存取时,这种类型的争用可以通过分离与表相联系的索引的办法来消除。干扰争用发生在对一个顺序文件进行写操作而同时进行读命令时中断而引起。
  I/O优化的目的是解决I/O瓶颈问题,I/O的优化必须在内存优化之后进行,可以通过减少磁盘争用、有效分配数据块空间和避免动态空间管理三个方面来优化I/O。
  减少磁盘争用
  V$FILESTAT视图提供有关物理读写的信息。物理I/O针对磁盘,逻辑I/O针对内存。如果有多个进程同时访问同-磁盘,就产个磁盘争用。
  监控Oracle的磁盘活动
  要解决磁盘争用,首先应该知道磁盘的活动情况,确定是否发生争用。这可以通过查询动态性能表(需有SELECT ANY TABLE特权)V$FILESTAT和V$DATAFILE来确定。例如:
  1.SQL>SELECT Name,phyrds,phywrts
  2.FROM V$DATAFILE df,V$FILESTAT fs
  3.WHERE df.file#=fs.file#;
  其中:
  ◆ phyrds:记录从盘上读每个数据库文件的次数。
  ◆ phywrts:记录往盘上写数据库文件的次数。
  一个盘上总的I/O次数是该盘上所有数据库文件的phyrds和phywrts之和。必须把物理读写的总量控制在用户硬件和操作系统的最优限制内。以上介绍Oracle优化缓冲区
兰亭幽草
2016-03-21 · TA获得超过2946个赞
知道小有建树答主
回答量:1453
采纳率:46%
帮助的人:370万
展开全部
oracle中是不区分系统缓冲区和用户缓冲区的。

(1)获取缓冲区活动情况
  为了Oracle优化缓冲区,首先应了解缓冲区的活动情况。这可以通过查询动态性能表(需有SELECT ANY TABLE特权)V$SYSSTAT来获得。
  1.SVRMGR> select name ,value from v$sysstat
  2.2> where name in('db block gets','consistent gets','physical reads');
  3.NAME VALUE
  4.db blockgets 3437
  5.consistent gets 30500
  6.physica reads 1963
  7.3 rows selected.
  其中,“db block gets”和“consistent gets”的值是请求数据缓冲区中读的总次数。“physical reads”为请求数据时引起从盘中读文件的次数。
  (2)缓冲区命中率
  从缓冲区读的可能性的高低称为缓冲区命中率。它可用如下公式计算:Hot Ratio=1-(physical reads/(db block gets+consistent gets)
  缓冲区命中率越高,其速度就越快。如果命中率低于60%或70%时。则应增加缓冲区(即DB_BLOCK_BUFFERS),以改进性能。根据公式可以计算出本例中的Hot Ratio=1-(1963/(3437+30500)=92%。如果缓冲区的命中率很高,希望在保持良好性能下适当减少缓冲区,这时可减少DB_BLOCK_BUFFERS的值,其最小值为4。
  当一个文件上的输入/输出(I/O)请求干扰了第二个文件的输入/输出请求时,那么这两个文件就会发生争用。所以两个随机存取的文件只有在无可能同时存取它们时,才可以存放在同一设备中。由此可以分为两种类型的I/O争用:并行I/O争用和干扰争用。并行I/O争用多发生在同一时间对同一设备请求多种存取时,这种类型的争用可以通过分离与表相联系的索引的办法来消除。干扰争用发生在对一个顺序文件进行写操作而同时进行读命令时中断而引起。
  I/O优化的目的是解决I/O瓶颈问题,I/O的优化必须在内存优化之后进行,可以通过减少磁盘争用、有效分配数据块空间和避免动态空间管理三个方面来优化I/O。
  减少磁盘争用
  V$FILESTAT视图提供有关物理读写的信息。物理I/O针对磁盘,逻辑I/O针对内存。如果有多个进程同时访问同-磁盘,就产个磁盘争用。
  监控Oracle的磁盘活动
  要解决磁盘争用,首先应该知道磁盘的活动情况,确定是否发生争用。这可以通过查询动态性能表(需有SELECT ANY TABLE特权)V$FILESTAT和V$DATAFILE来确定。例如:
  1.SQL>SELECT Name,phyrds,phywrts
  2.FROM V$DATAFILE df,V$FILESTAT fs
  3.WHERE df.file#=fs.file#;
  其中:
  ◆ phyrds:记录从盘上读每个数据库文件的次数。
  ◆ phywrts:记录往盘上写数据库文件的次数。
  一个盘上总的I/O次数是该盘上所有数据库文件的phyrds和phywrts之和。必须把物理读写的总量控制在用户硬件和操作系统的最优限制内。以上介绍Oracle优化缓冲区
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式