视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oracle系统统计信息
2020-11-09 15:49:15 责编:小采
文档


欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 系统统计信息主要描述了与系统硬件相关的某些特性,例如cpu和io系统的性能和利用率等。这些信息对于查询优化器来说是非常重要的,在选择执行计划的过程中,oracle优化器会利用系统统计信息来评估执

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  系统统计信息主要描述了与系统硬件相关的某些特性,例如cpu和io系统的性能和利用率等。这些信息对于查询优化器来说是非常重要的,在选择执行计划的过程中,oracle优化器会利用系统统计信息来评估执行计划的成本,因此,准确无误的系统统计信息可以帮助优化器做出正确的选择。

  我们可以通过DBMS_STATS.GATHER_SYSTEM_STATS过程来收集系统统计信息,收集的方式有两种:负载统计(WORKLOAD STATISTICS)在具有真实系统负载的数据库系统上,收集某一时间段内的系统信息;非负载统计(NOWORKLOAD STATISTICS)oracle数据库基于某种方式(如持续读磁盘)模拟系统负载来获取系统统计信息。

  通各方资料和oracle官方文档中可以看出,我们最好采用系统负载的方式来收集系统统计信息,收集的时间间隔至少要30分钟,条件允许的情况下,最好多次收集,择优使用。处理使用DBMS_STATS.GATHER_SYSTEM_STATS来收集系统统计信息,我们也可以手工设定某些信息选项,这一点在后面会有示例。

  oracle的系统统计信息最终是存储在aux_stats$数据基表中的,首先来看一下该表的结构:

  SQL> desc aux_stats$

  名称 是否为空? 类型

  ----------------------------- -------- --------------------

  SNAME NOT NULL VARCHAR2(30)

  PNAME NOT NULL VARCHAR2(30)

  PVAL1 NUMBER

  PVAL2 VARCHAR2(255)

  aux_stats$表中存储的数据量是非常有限的,如

  SQL> select * from aux_stats$;

  SNAME PNAME PVAL1 PVAL2

  -------------------- -------------------- ---------- ------------------------------

  SYSSTATS_INFO STATUS COMPLETED

  SYSSTATS_INFO DSTART 09-17-2011 10:21

  SYSSTATS_INFO DSTOP 09-17-2011 10:21

  SYSSTATS_INFO FLAGS 1

  SYSSTATS_MAIN CPUSPEEDNW 1751.75879

  SYSSTATS_MAIN IOSEEKTIM 10

  SYSSTATS_MAIN IOTFRSPEED 4096

  SYSSTATS_MAIN SREADTIM

  SYSSTATS_MAIN MREADTIM

  SYSSTATS_MAIN CPUSPEED

  SYSSTATS_MAIN MBRC

  SNAME PNAME PVAL1 PVAL2

  -------------------- -------------------- ---------- ------------------------------

  SYSSTATS_MAIN MAXTHR

  SYSSTATS_MAIN SLAVETHR

  已选择13行。

  sname字段的取值有:SYSSTATS_INFO,SYSSTATS_MAIN,SYSSTATS_TEMP

  SYSSTATS_INFO:系统统计信息的状态

  SYSSTATS_MAIN:系统统计信息的内容

  SYSSTATS_TEMP:在收集系统统计信息期间,用于临时存放中间数据

  对于pname字段的含义,oracle官方文档给出了详细的解释:

  Parameter NameDescriptionInitializationOptions for Gathering or Setting StatisticsUnit

  cpuspeedNWRepresents noworkload CPU speed. CPU speed is the average number of CPU cycles in each second. CPU速率At system startupSet gathering_mode = NOWORKLOAD or set statistics manually.Millions/sec.

  ioseektimI/O seek time equals seek time + latency time + operating system overhead time. 寻道时间At system startup

  10 (default)Set gathering_mode = NOWORKLOAD or set statistics manually.ms

  iotfrspeedI/O transfer speed is the rate at which an Oracle database can read data in the single read request. 数据传输速率At system startup

  4096 (default)Set gathering_mode = NOWORKLOAD or set statistics manually.Bytes/ms

  cpuspeedRepresents workload CPU speed. CPU speed is the average number of CPU cycles in each second. CPU速率NoneSet gathering_mode = NOWORKLOAD, INTERVAL, orSTART|STOP, or set statistics manually.Millions/sec.

[1] [2]

下载本文
显示全文
专题