闲聊Oracle减少回滚段
创始人
2024-06-11 20:21:18
0

学习Oracle时,你可能会遇到Oracle减少回滚段问题,这里将介绍Oracle减少回滚段问题的解决方法,在这里拿出来和大家分享一下。当多个进程要同时使用同一资源时,就会发生资源争用,当出现资源争用时,就会产生等待,因此,应设法避免或减少资源争用的出现。本文主要讨论回滚段、多线索服务器进程和日志缓冲区的闩锁争用问题。

Oracle减少回滚段的争用

要Oracle减少回滚段的争用,首先需检查是否出现争用。对含有回滚段块的缓冲区的争用也会影响到对回滚段的争用。这可以通过查询动态性能表V$WAITSTAT来检测是否存在对回滚段的争用(需有SELECT ANY TABLE持权),例如:

  1. SQL>SELECT class,count  
  2. 2>FROM V$WAITSTAT  
  3. 3>WHERE class IN('system undo header','system undo block',  
  4. 4>'undo header','undo block'); 

其中参数含义如下:
◆ system undo header:对含有SYSTEM回滚段标题块的缓冲区的等待次数。
◆ system undo block:对含有SYSTEM回滚段非标题块的缓冲区的等待次数。
◆ undo header:对含有非SYSTEM回滚段标题块的缓冲区的等待次数。
◆ undo block:对含有非SYSTEM回滚段非标题块的缓冲区的等待次数。

如果任何等待次数大于总请求数的1%,则应创建更多的回滚段来减少竞争,可以周期性地检查这些统计数字,并将它与总的请求数据的次数作比较。总的请求数据次数可用如下语句求出:

  1. SQL>SELECT SUM(value)  
  2. 2>FROM V$SYSSTAT  
  3. 3>WHERE name IN('db block gets','consistent gets'); 

Oracle减少回滚段争用的办法是为其建立适当数量的回滚段。

减少对多线索服务器进程的争用

对多线索服务器进程的争用主要表现在对调度进程和共享服务器进程的争用。

减少调度进程的争用

对该进程的争用主要表现在调度进程占用率高及等待响应时间的增长方面。可通过查询动态性能表V$DISPATCHER(需有SELECT ANY TABLE特权)来检查争用情况,例如:

  1. SQL>SELECT network "protocol",  
  2. 2>SUM(busy)/(SUM(busy)+SUM(idle)) "Total Rate"  
  3. 3>FROM V$DISPATCHER GROUP BY network; 

其中V$DISPATCHER表中的idle和busy列的含义如下:
◆ idle:表示1%秒单位时间内调度进程的空闲时间。
◆ busy:表示1%秒单位时间内调度进程的占用时间。

【编辑推荐】

  1. 闲扯Oracle数据导入
  2. 精炼概括Oracle性能测试
  3. 简介Oracle INDEX提示
  4. 五分钟精通Oracle Hints
  5. 简单介绍Oracle驱动表

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...