# 顶层 SQL (物理读取数)

此图表显示执行最大物理读取数的 SQL 语句。

提高 SQL 性能通常是提高应用程序性能的最有效的方法。在识别最有可能提高性能的语句时，您可能应该考虑 I/O 需求最高的语句。换句话说，考虑具有最大读取请求数的语句，且这些读取请求会导致访问磁盘上的数据文件。

另一个值得考虑的因素是执行该语句的频率。高 I/O 级别的语句可能每天只执行一次，执行次数比其他每天执行数千次的较低 I/O 级别语句要少得多。

查询导致过多磁盘读取的原因有很多种；例如一个全表扫描正在被执行。

还有大量的下钻图表可用于进一步诊断 I/O 的起因，它们包括：

- SQL 文本：显示完整的 SQL 文本。
- 此查询所引用的表：除了列出各种优化程序统计数据外还列出此查询所引用的表。
- 顶层 SQL (缓冲区获取数)：提供按缓冲区获取数排序的 SQL。

有关如何最佳优化特定 SQL 语句的进一步研究，可通过选择所列出的任一 SQL 语句并使用 SQL Analyze 工具来进行。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

SQL 文本

# SQL 文本

此图表显示完整 SQL 文本，该文本是在某些 TOP SQL 图表中截断的。

某些 TOP SQL 图表中所显示的 SQL 是一种截断值，因为从 V$SQLAREA 中只可获得截断值。要获取完整 SQL 文本，必须查询 V$SQLTEXT_WITH_NEWLINES，以聚集查询的各个段。出于性能上的考虑，仅会在需要显示完整 SQL 文本时才显示此图表。

此图表包括下列数据项：

- SQL 文本

平均事务处理时间长度 (秒)

# 平均事务处理时间长度 (秒)

此图表使用可从数据库获得的统计数据为用户显示我们对总响应时间的最佳估计。这里将响应时间定义为数据库内所有会话所消耗的总等待时间加上总 CPU 时间，它除以提交数与回退数之和就得出每个事务处理的值。如果正在以只读模式访问数据库，或者未将 TIMED_STATISTICS 设置为 TRUE，则每个事务处理的值可能显示为 0。

监视只读数据库时，度量响应时间的较好方法可能基于每个执行，即每个 SQL 语句执行的平均时间长度。要查看此统计数据，请参阅每个执行花费的时间图表。

有关响应时间的各个部分 (即 CPU 时间和等待时间) 的进一步研究结果，可通过下钻到等待或受 CPU 限制得到。

此图表包括下列数据项：

- 每个事务处理的响应时间

事务处理和语句执行速率

# 事务处理和语句执行速率

此图表显示在采样周期内提交和回退的事务处理，以及 SQL 执行计数。这是一个良好的吞吐量概览。

此图表包括下列数据项：

- 事务处理计数

- 提交计数

- 回退计数

- 执行计数

每个用户的平均事务处理长度

# 每个用户的平均事务处理长度

此图表基于每个用户显示每个事务处理响应时间的细目分类。

跨每个用户的所有会话来总计 CPU 时间和等待时间。此图表有助于监视将其功能分散到不同用户的应用程序的响应时间。

此图表包括下列数据项：

- 每个事务处理的响应时间

用户事务处理比率 (插入/更新)

# 用户事务处理比率 (插入/更新)

此图表按用户显示吞吐量或负载统计数据。跨用户的所有会话来总计这些统计数据。

此图表包括下列数据项：

- 事务处理计数

- 提交计数

- 回退计数

- 执行计数

按时间的等待事件

# 按时间的等待事件

此图表是一个跨例程的事件列表，按照每个事件类型的等待时间总和来排序。

此列表将使用户能够快速识别例程等待哪个事件时间最长。每种事件类型受不同参数和条件的影响。进一步下钻是通过选择感兴趣的特定等待事件来完成的。一些等待事件具有专门的下钻图表以帮助诊断该等待的原因。

还有一般下钻，可用于所有等待事件。要确定有多少会话当前正在等待特定的事件，请使用等待此事件的会话图表。类似地，要查看当前正在等待此事件的 SQL 语句，请使用等待此事件的 SQL 语句图表。这会将您快速引向正在经历等待的 SQL 语句，并帮助您确定此等待对应用程序的影响。

此图表包括下列数据项：

- 等待时间

等待事件计数

# 等待事件计数

此图表显示在采样周期内发生的例程范围内的等待数。仅显示具有非零计数的事件。也将显示等待计数以及超时数。

等待计数不如等待花费的实际时间重要。一个会话可能请求一种资源，并发出一个等待，但请求可能会被立即批准。尽管实际上并未发生等待时间，但等待计数仍将增加。

此图表包括下列数据项：

- 等待数

按时间的块等待

# 按时间的块等待

此图表与缓冲区忙事件有关。确定数据库正在等待的块 (缓冲区) 的类型将决定一种可能的解决方案，以减少对那些块的争用。我们感兴趣的三种类型的块是段标题块、数据块和空闲列表块。

本节简要说明这三种块类型。

- 段标题块：每个段有一个段标题块。段主要有两种类型：数据和索引。
- 数据块：用来存储数据 (索引或数据)。
- 空闲列表块：仅由包含空闲列表组的对象使用。

### 用户操作

段标题块等待数：

问题：由于对某个表有大量插入，事务处理的空闲列表就可能不足，因而访问事务处理的空闲列表就成了一个瓶颈。解决方案：添加更多的空闲列表组。还可能添加更多的空闲列表组，以解决太小的块限制空闲列表数 (甚至在独占模式下也是如此) 的局限性。

问题：由于表在不断增大，且不断地将所有的块用于空闲列表的新插入条目，所以该表的高水线标记 (HWM) 可能会一直增加。提升 HWM 的缺省值是 5，在一个忙碌的系统上，或相对平均插入大小，此值可能太小。解决方案：可以通过 init.ora 参数 _BUMP_HIGHWATER_MARK_COUNT 将 HWM 值增加到 255。注：此参数将确定在提升 HWM 时每个空闲列表应分配多少个块。因此，如果空闲列表的数目也很高的话，会使表增加到非常大。例如，如果我们有 100 个空闲列表，且设置 _BUMP_HIGHWATER_MARK_COUNT=100，这就意味着将 10000 个块 (可能) 添加到了区中。

问题：区的容量太小，因此表在持续增长。作为一条规则，拥有少量非常大的区比拥有大量很小的区要好。解决方案：增大每个区的尺寸。

数据块：用来存储数据 (索引或数据)。问题：多个会话可能同时从磁盘上读取同一个块 (这个问题每个块类都可能发生)。只有一个会话将进行读取，其他的会话将一直在缓冲区高速缓存中等待该块被读完。这些其他会话将在该缓冲区忙的等待事件中一直等待下去。解决方案：缓冲区高速缓存可能太小，无法将当前工作集保留在内存中。增大缓冲区高速缓存 (db_block_buffers) 将会有帮助，或者使用缓冲池以减少一个对象可能占用的缓冲区数 (例如，限制随机访问大型表或历史记录表在缓冲区高速缓存中可能占用的缓冲区数)。

问题：多个会话都在试图访问某个块中的同一行。因为每个块有太多的行 (大数据块中的很多小行)，所以可能出现此问题。解决方案：减少每个块的行数 (需要更改 pctfree/pctuse 设置)。这是时间优化的空间。此表将使用更多的空间，但缓冲区忙等待的等待时间将减少。

问题：多个会话试图插入同一个块。为何是同一个块的原因是只有一个空闲列表 (或者空闲列表不够)。空闲列表只有一个头部。解决方案：将多个空闲列表添加到对象中将增加空闲列表的头部数目。这样就将争用点分布于各个空闲列表上，从而减少了缓冲区忙等待数。

空闲列表块：添加更多的空闲列表。如果是并行服务器，请确保每个例程都有其自身的一个或多个空闲列表组。

还原标题块：添加更多的回退段 (在独占模式下运行时)。将每个回退段的事务处理设置为 1 (独占模式)。

还原块：请考虑在独占模式下使回退段变大或仅以并行服务器模式增加 PCM 锁 (GC_ROLLBACK_LOCKS) 的数目。

此图表包括下列数据项：

- 等待时间

块等待计数

# 块等待计数

此图表与缓冲区忙事件有关。确定数据库正在等待的块 (缓冲区) 的类型将决定一种可能的解决方案，以减少对那些块的争用。我们感兴趣的三种类型的块是段标题块、数据块和空闲列表块。

本节简要说明这三种块类型。

- 段标题块：每个段有一个段标题块。段主要有两种类型：数据和索引。
- 数据块：用来存储数据 (索引或数据)。
- 空闲列表块：仅由包含空闲列表组的对象使用。

### 用户操作

段标题块等待数：问题：由于对某个表有大量插入，事务处理的空闲列表就可能不足，因而访问事务处理的空闲列表就成了一个瓶颈。解决方案：添加更多的空闲列表组。还可能添加更多的空闲列表组，以解决太小的块限制空闲列表数 (甚至在独占模式下也是如此) 的局限性。

问题：由于表在不断增大，且不断地将所有的块用于空闲列表的新插入条目，所以该表的高水线标记 (HWM) 可能会一直增加。提升 HWM 的缺省值是 5，在一个忙碌的系统上，或对于平均插入大小，此值可能太小。解决方案：可以通过 init.ora 参数 _BUMP_HIGHWATER_MARK_COUNT 将 HWM 值增加到 255。注意：此参数将确定在提升 HWM 时每个空闲列表应分配多少块。因此，如果空闲列表的数目也很高的话，会使表增加到非常大。例如，如果我们有 100 个空闲列表，且设置 _BUMP_HIGHWATER_MARK_COUNT=100，这就意味着将 10000 个块 (可能) 添加到了区中。

问题：区的容量太小，因此表在持续增长。作为一条规则，拥有少量非常大的区比拥有大量很小的区要好。解决方案：增大每个区的尺寸。

数据块：用来存储数据 (索引或数据)。问题：多个会话可能同时从磁盘上读取同一个块 (这个问题每个块类都可能发生)。只有一个会话将进行读取，其他的会话将一直在缓冲区高速缓存中等待该块被读完。这些其他会话将在该缓冲区忙的等待事件中一直等待下去。解决方案：可能是缓冲区高速缓存太小以致于不能将当前工作集保存在内存中。增大缓冲区高速缓存 (db_block_buffers) 将会有帮助，或者使用缓冲区池以减少一个对象在缓冲区高速缓存中可能占用的缓冲区数 (例如，限制随机访问大型表或历史记录表在缓冲区高速缓存中可能占用的缓冲区数)。

问题：多个会话都在试图访问某个块中的同一行。因为每个块有太多的行 (大数据块中的很多小行)，所以可能出现此问题。解决方案：减少每个块的行数 (需要更改 pctfree/pctuse 设置)。这是时间优化的空间。表将使用更多的空间，但缓冲区忙等待的等待时间将减少。

问题：多个会话试图插入同一个块。为何是同一个块的原因是只有一个空闲列表 (或者空闲列表不够)。空闲列表只有一个头部。解决方案：把多个空闲列表添加到对象将增加空闲列表的头部数目。这样就将争用点分布于各个空闲列表上，从而减少了缓冲区忙等待数。

问题：因为对空闲列表的新插入导致此表增大并用尽块，所以可能持续增加此表的高水线标记。提升 HWM 的缺省值是 5，在一个忙碌的系统上，或对于平均插入大小，此值可能太小。解决方案：可以通过 init.ora 参数 _BUMP_HIGHWATER_MARK_COUNT 将 HWM 值增加到 255。注意：此参数将确定在提升 HWM 时每个空闲列表应分配多少块。因此，如果空闲列表的数目也很高的话，会使表增加到非常大。例如，如果我们有 100 个空闲列表，且设置 _BUMP_HIGHWATER_MARK_COUNT=100，这就意味着将 10000 个块 (可能) 添加到了区中。

问题：区的容量太小，因此表在持续增长。作为一条规则，拥有少量非常大的区比拥有大量很小的区要好。解决方案：增大每个区的尺寸。

数据块：用来存储数据 (索引或数据)。问题：多个会话可能同时从磁盘上读取同一个块 (这在每个块类上都可能发生)。只有一个会话将进行读取，其他的会话将一直在缓冲区高速缓存中等待该块被读完。这些其他会话将在该缓冲区忙的等待事件中一直等待下去。解决方案：可能是缓冲区高速缓存太小以致于不能将当前工作集保存在内存中。增大缓冲区高速缓存 (db_block_buffers) 将会有帮助，或者使用缓冲区池以减少一个对象在缓冲区高速缓存中可能占用的缓冲区数 (例如，限制随机访问大型表或历史记录表在缓冲区高速缓存中可能占用的缓冲区数)。

问题：多个会话都在试图访问某个块中的同一行。因为每个块有太多的行 (大数据块中的很多小行)，所以可能出现此问题。解决方案：减少每个块的行数 (需要更改 pctfree/pctuse 设置)。这是时间优化的空间。表将使用更多的空间，但缓冲区忙等待的等待时间将减少。

问题：多个会话试图插入同一个块。为何是同一个块的原因是只有一个空闲列表 (或者空闲列表不够)。空闲列表只有一个头部。解决方案：把多个空闲列表添加到对象将增加空闲列表的头部数目。这样就将争用点分布于各个空闲列表上，从而减少了缓冲区忙等待数。

空闲列表块：添加更多的空闲列表。如果是并行服务器，请确保每个例程都有其自身的一个或多个空闲列表组。

还原标题块：添加更多的回退段 (在独占模式下运行时)。将每个回退段的事务处理设置为 1 (独占模式)。

还原块：请考虑在独占模式下使回退段变大或仅以并行服务器模式增加 PCM 锁 (GC_ROLLBACK_LOCKS) 的数目。

此图表包括下列数据项：

- 总等待数/秒

顶层 SQL (缓冲区获取数)

# 顶层 SQL (缓冲区获取数)

此图表显示执行最大缓冲区获取数的 SQL 语句。

提高 SQL 性能通常是提高应用程序性能的最有效的方法。在标识最有可能提高性能的语句时，您可能需要考虑缓冲区获取最高的语句。缓冲区获取数 (或逻辑读取数) 是 CPU 时间的贡献者之一，因为它要求从高速缓存中定位和检索缓冲区。

另一个值得考虑的因素是执行该语句的频率。高缓冲区获取数的语句可能每天只执行一次，执行次数比其他每天执行数千次的较少缓冲区获取数语句要少得多。

查询导致过多缓冲区获取的原因有很多种；例如一个全表扫描正在被执行。

有大量的下钻图表可用于帮助进一步诊断潜在的问题，这些图表包括：

- SQL 文本：显示完整的 SQL 文本。
- 此查询所引用的表：除了列出各种优化程序统计数据外还列出此查询所引用的表。
- 顶层 SQL (物理读取数)：提供按物理读取数排序的 SQL。

有关如何最佳优化特定 SQL 语句的进一步研究，可通过选择所列出的任一 SQL 语句并使用 SQL Analyze 工具来进行。

优化这些语句将导致用于应用程序的 CPU 时间的减少。在确定应该首先优化哪一条 SQL语句时执行计数也是重要的。最高缓冲区获取计数的语句可能一天执行一次，频率比列表中的另一个语句要少得多。调整最高计数的 SQL 语句对此情况下应用程序或系统的改善可能会不如执行频率高得多的语句。

此图表将标识执行最大缓冲区获取数的 SQL 语句。为何查询正在执行这些缓冲区获取可能有多种原因，其中全表扫描是一个常见的原因。为帮助进一步诊断引起问题的原因，有很多可用的下钻图表。此图表中显示的 SQL 限定了固定的字符数。要查看全 SQL 文本，请使用 SQL 文本 。要查看此查询引用的表和检查优化程序所使用的统计数据的有效性，请使用此查询所引用的表图表。要查看按“物理读取数”排序的 SQL，请使用顶层 SQL (物理读取数)图表。

有关如何最佳优化特定 SQL 语句的进一步研究，可通过选择所列出的任一 SQL 语句并使用 SQL Analyze 工具来实现。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 共享内存总计

- 永久内存总计

- 运行时内存

I/O 的平均成本

# I/O 的平均成本

此图表将按照 I/O 的平均成本为最差的数据库文件排列在最前面。I/O 的成本是指读取时间/物理读取数。此图表将显示一个给定文件可以被选来进行条带化处理，或者显示应该增加条带宽度或条带化处理中涉及的磁盘总数。

如果每个 I/O 的平均成本很高，则表示需要增加条带宽度或条带化处理所涉及的磁盘总数。另外，请查看每个事务处理的总 I/O 数,每个事务处理的 I/O 速率，然后查看有多少并发事务处理正在运行。例如：如果每个事务处理需要两个读操作和一个写操作，并希望每秒执行 1000 个事务处理，则此计算要求系统实际上每秒能处理 3000 次 I/O。因此，如果一个磁盘每秒钟可以执行 50-100 次 I/O，则至少需要 60 个磁盘 (3000/50)。现在如果需求从每秒 1000 个事务处理增加一倍，即 2000 个事务处理，则需要将磁盘数增加一倍。

此图表包括下列数据项：

- 平均时间/读取

- 平均时间/写入

文件读取操作数

# 文件读取操作数

此图表列出数据库的数据文件并显示每秒的物理读取数和每秒的块读取数。此图表能够快速指出数据库中的热点文件。

此图表包括下列数据项：

- 物理读取数/秒

- 物理块读取数/秒

文件写入操作数

# 文件写入操作数

此图表列出数据库的数据文件并显示每秒的物理写入数和每秒的写入块数。此图表能够快速指出数据库中的热点文件。

此图表包括下列数据项：

- 物理写入数/秒

- 物理块写入数/秒

DB 文件的散列读取

# DB 文件的散列读取

此图表显示对哪些文件执行了全表扫描、范围扫描或单块读取。正在执行单块 (以及它们内部的对象) 读取的文件可能被选来用于索引选择。

单个 I/O 操作中读取的块数由 init.ora 参数 db_file_multi_block_read_count 确定。

当某个文件的物理读取数与物理块读取数接近 (即当物理读取数除以物理块读取数的结果接近 1) 时，则在该文件上正在发生单块读取。如果结果值不接近 1，则在该文件上正在执行全表扫描或范围扫描。

对于正在执行单块读取的文件，请查看文件内的对象，以确定对这些对象进行索引是否适当。要减少散列读取数据库文件的成本，请检查每个磁盘上的文件位置、磁盘数和每个磁盘的条带大小 (此值应该为 2 * db_file_multi_block_read_count)

栓锁休眠数

# 栓锁休眠数

此图表有助于识别休眠计数最大的栓锁。休眠计数是通过轮选没有获取栓锁并强制栓锁休眠的次数。

当栓锁空闲等待数很大时，确定正在请求哪个栓锁是很重要的。当瓶颈是单个栓锁时，增大轮选计数可以有帮助。在这种情况下，轮选 CPU 比让进程休眠付出的成本要“更便宜”。另外，识别休眠数最高的栓锁将指向应用程序/数据库中的瓶颈。如果通过进一步的分析您可以消除此瓶颈，您将增大吞吐量比率。

栓锁被用来使对数据库中各种资源的访问同步化。调整各个栓锁要求对各个栓锁的进一步研究。

此图表包括下列数据项：

- 休眠数/秒

- 休眠一次

- 休眠两次

- 休眠三次

- 休眠四次

栓锁获取/丢失比率

# 栓锁获取/丢失比率

此图表显示所有栓锁的获取和丢失比率。此处的值是实际比率。计算对这些栓锁的争用并在栓锁争用 (>1% 潜在问题) 图表中显示。

此图表包括下列数据项：

- 丢失数/秒

- 立即丢失数/秒

- 获取数/秒

- 立即获取数/秒

栓锁争用 (>1% 潜在问题)

# 栓锁争用 (>1% 潜在问题)

此图表显示栓锁的争用量。如果以下两个条件之一为真，则栓锁争用可能会影响性能：

- 如果 MISSES 与 GETS 的比率超过 1%。
- 如果 IMMEDIATE_MISSES 与 IMMEDIATE_GETS 和 IMMEDIATE_MISSES 的总和的比率超过 1%。

如果对于某个栓锁这两个条件之一为真，则尽量减少对该栓锁的争用。虽然一些具有许多 CPU 的计算机也许能够容许更多的争用而不会降低性能，但是这些争用阈值适合于大多数操作系统。

#### 减少栓锁争用

大多数栓锁争用事例发生在两个或多个 Oracle 进程并发地试图获取同一栓锁的时候。栓锁争用极少发生在单 CPU 计算机上，在此计算机上一次只能有一个进程是活动的。

#### 减少对重做分配栓锁的争用

要减少对重做分配栓锁的争用，您应该将任何单个进程持有栓锁的时间减至最少。要减少这一时间，请减少在重做分配栓锁上的复制。减小初始化参数 LOG_SMALL_ENTRY_MAX_SIZE 的值会减小在重做分配栓锁上复制的重做条目的数目和大小。

#### 减少对重做复制栓锁的争用

在多 CPU 计算机上，多个重做复制栓锁允许多个进程并发地将条目复制到重做日志缓冲区中。LOG_SIMULTANEOUS_COPIES 的缺省值是您的 Oracle 例程可用的 CPU 数。

如果您观察到对重做复制栓锁的争用，则通过增大 LOG_SIMULTANEOUS_COPIES 的值来添加更多的栓锁。请考虑使重做复制栓锁数为 Oracle 例程可用的 CPU 数的两倍。

#### 减少对 LRU 栓锁的争用

LRU (最近最少使用) 栓锁控制缓冲区高速缓存中缓冲区的替换。对于对称多处理器 (SMP) 系统，Oracle 自动地将 LRU 栓锁数设置为等于系统上 CPU 数一半的值。对于非 SMP 系统，一个 LRU 栓锁就足够了。

对 LRU 栓锁的争用可能降低具有大量 CPU 的 SMP 计算机上的性能。通过查询 V$LATCH，V$SESSION_EVENT 和 V$SYSTEM_EVENT 您可以检测到 LRU 栓锁争用。要避免争用，请考虑绕过缓冲区高速缓存或重新设计应用程序。

通过使用初始化参数 DB_BLOCK_LRU_LATCHES，您可以指定系统上的 LRU 栓锁数。此参数设置所需 LRU 栓锁数的最大值。每个 LRU 栓锁控制一组缓冲区；Oracle 在这些组之间平衡替换缓冲区的分配。

要为 DB_BLOCK_LRU_LATCHES 选择适当的值，请考虑以下事项：

- 最大栓锁数是系统中 CPU 数的两倍。即 DB_BLOCK_LRU_LATCHES 的值可以在 1 和 CPU 数的两倍之间变化。
- 一个栓锁在其组中应含有不少于 50 个缓冲区；如果您选择了大量组，则对于较小的缓冲区高速缓存没有增加值。缓冲区高速缓存的大小决定组数上的最大边界条件。
- 当 Oracle 以单个进程模式运行时不要创建多个栓锁。在单个进程模式下 Oracle 自动地只使用一个 LRU 栓锁。
- 如果例程上的工作量很大，则您应该具有较大的栓锁数。例如，如果您在系统中具有 32 个 CPU，则选择介于系统上 CPU 数的一半 (16) 和实际 CPU 数 (32) 之间的一个数目。

此图表包括下列数据项：

- 丢失/获取比率

- 立即丢失比率

可用缓冲区扫描数

# 可用缓冲区扫描数

此图表显示为查找空闲缓冲区而扫描的平均缓冲区数。如果您的系统必须扫描前台中的太多缓冲区以查找空闲缓冲区，那么它会浪费 CPU 资源。

要解决此问题，请调整要更频繁地进行写入的一个或多个 DBWn 进程。您也可以增大缓冲区高速缓存的大小以启用一个或多个要维持的数据库写入器进程。通常，您将应该看到 1 个或 2 个缓冲区被扫描。如果正在被扫描的缓冲区数大于此数目，则请增大缓冲区高速缓存的大小或调整这个 (些) DBWn 进程。

此图表包括下列数据项：

- 平均空闲缓冲区扫描数

空闲缓冲区统计数据

# 空闲缓冲区统计数据

此图表深入研究围绕“空闲缓冲区等待”事件的细节。空闲缓冲区等待可能是由在 LRU (最近最少使用)列表尾部扫描以查找空闲缓冲区的会话导致的。如果灰数据列表已满，则前台进程必须等待灰数据缓冲区写入磁盘。或者，扫描太多缓冲区的会话 (db_block_max_scan_count) 可以引起空闲缓冲区等待。在 Oracle7 中，很可能灰数据缓冲区列表比比任何其他列表都要完整，所以增加 db_block_write_batch 应该就足够了。

公式 1 + (已检查的空闲缓冲区数/已请求的空闲缓冲区数) 将计算会话为查找空闲缓冲区在 LRU 的尾部扫描的平均缓冲区数。如果此数字接近 1，则意味着会话能够很快找到平均缓冲区。如果此数目很大，这通常意味着大量“持续读取” (CR) 缓冲区正在 LRU 的尾部等待。

如果扫描的平均空闲缓冲区数太大，则 db_block_max_scan_count 参数可能太高，或者您可能需要增大 db_block_write_batch 参数。

此图表包括下列数据项：

- 已检查的空闲缓冲区数/秒

- 已请求的空闲缓冲区数/秒

- 已检查的灰数据缓冲区数/秒

分析统计数据

# 分析统计数据

此图表显示总分析计数、硬分析计数和执行计数。将 SQL 语句分析计数与执行计数相比，我们可以得知重新分析 SQL 语句的频率。在应用程序中通过更有效地使用游标、赋值变量等进行此区域内的大量优化可能是最好的。

如果分析计数很高，则应该检查以下事项：

- 应用程序是否在打开和关闭游标上花费了太多时间？
- 请确保应用程序正在使用赋值变量
- 如果应用程序打开/重新分析同一条语句，请将 SESSION_CACHED_CURSORS 设置为会话所使用的游标数
- 检查编译器标志 RELEASE_CURSORS = NO 和 HOLD_CURSORS = yes
- 在执行之前检查用于重新分析语句的程序，而不是使用赋值变量

此图表包括下列数据项：

- 分析数/秒

- 硬分析数/秒

- 执行数/秒

游标高速缓存命中百分比

# 游标高速缓存命中百分比

此图表表明会话高速缓存游标的命中率。命中率对分析调用在会话游标高速缓存中找到游标的次数进行计数。

如果一个应用程序反复发出对同一 SQL 语句组的分析调用，则会话游标的重新打开可能影响系统性能。可以将会话游标存储在会话游标高速缓存中。此功能对于使用 Oracle Forms 设计的应用程序尤其有用，因为从一个表格切换到另一个表格会关闭与第一个表格相关联的所有会话游标。

Oracle 使用共享的 SQL 区域来确定是否对给定语句发出了多于三个分析请求。如果是这样，Oracle 将假定与此语句相关联的会话游标应该被存入高速缓存并将游标移动到会话游标高速缓存中。然后借助同一会话分析该 SQL 语句的随后请求在会话游标高速缓存中找到游标。

要启用会话游标高速缓存，您必须设置初始化参数 SESSION_CACHED_CURSORS。此参数的值是一个正整数，指定在高速缓存中存放的最大会话游标数。LRU (最近最少使用) 算法在需要时删除会话游标高速缓存中的条目以便为新条目腾出空间。

如果此统计数据在会话的总分析调用计数中所占百分比相对较低，您应该考虑将 SESSION_CACHED_CURSORS 设置为一个更大的值 (只要该值不会对操作系统分页和交换活动产生负作用)。

此图表包括下列数据项：

- 游标高速缓存命中数

已连接缓冲区的次数计数

# 已连接缓冲区的次数计数

此图表显示监视缓冲区高速缓存连接动作时的一些关键统计数据。

Oracle 依靠 SGA 中的数据库缓冲区来存储最近使用的从磁盘读取的数据库数据块。一个例程中的数据库缓冲区集是数据库缓冲区高速缓存。缓冲区高速缓存被组织在以下两个列表中：灰数据列表和 LRU 列表。灰数据列表包含尚未写入磁盘的已修改缓冲区。LRU 列表包含空闲缓冲区、已连接缓冲区和灰数据缓冲区。DBWR 管理数据库缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

此图表显示监视缓冲区高速缓存连接动作时的这些关键统计数据：

- 已连接缓冲区的次数：当客户机检查以确定是否已经连接所需的缓冲区时，此统计数据度量某个缓冲区已经由客户机连接的次数。
- 尚未连接缓冲区的次数：当客户机检查以确定是否已经连接所需的缓冲区时，此统计数据度量此缓冲区尚未由客户机连接的次数。

因为在这种情况下客户机并不打算使用缓冲区，所以客户机在释放缓冲区之前执行这样的检查时不会增大这些统计数据。

这些统计数据度量缓冲区上的长久持续读取连接频率为多大是有益的。如果客户机能够多次重用已连接缓冲区，那么这表明连接缓冲区是有用的。

此图表包括下列数据项：

- 已连接缓冲区的次数/秒

- 尚未连接缓冲区的次数/秒

会话等待或 CPU？

# 会话等待或 CPU？

此图表显示数据库中的响应时间，它被分解为两个组成部分：等待时间和 CPU 时间。用户应该能够从显示的百分比中快速确定哪一部分正在消耗花费时间的最大部分。通过选择等待时间或 CPU 时间并下钻到专用于这两个特定部分的图表可以完成对任一部分的进一步诊断。

此图表包括下列数据项：

- 等待时间百分比

- CPU 时间百分比

缓冲区高速缓存命中百分比

# 缓冲区高速缓存命中百分比

Oracle 依靠 SGA 中的数据库缓冲区来存储最近使用的从磁盘读取的数据库数据块。一个例程中的数据库缓冲区集是数据库缓冲区高速缓存。缓冲区高速缓存被组织在以下两个列表中：灰数据列表和 LRU 列表。灰数据列表包含尚未写入磁盘的已修改缓冲区。LRU 列表包含空闲缓冲区、已连接缓冲区和灰数据缓冲区。

DBWR 管理数据库缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。缓冲区高速缓存效率 (由命中率度量)，记录特定查询所请求的数据块已在内存中的次数百分比。因为最近 (通常也是最频繁地) 使用的数据保存在内存中，所以缓冲区高速缓存的有效使用可以大大减少数据库上的 I/O 负载。

如果缓冲区高速缓存太小，频繁访问的数据将很快被从缓冲区高速缓存中清除出来，这将迫使从磁盘重新提取信息。因为磁盘访问比内存访问要慢得多，所以应用程序的性能将受到损害。另外，加在 I/O 子系统上的额外负担可能在一个或多个设备处带来瓶颈，进一步降低性能。

此图表包括下列数据项：

- 缓冲区高速缓存命中百分比

调用速率

# 调用速率

每秒的用户调用和递归调用速率

此图表包括下列数据项：

- 用户调用数/秒

- 递归调用数/秒

递归调用与用户调用的比率

# 递归调用与用户调用的比率

递归调用数占用户调用数的百分比

此图表包括下列数据项：

- 递归调用数/用户调用数

每秒的 I/O 速率

# 每秒的 I/O 速率

每秒的数据库 I/O

此图表包括下列数据项：

- 物理读取数/秒

- 物理写入数/秒

- 逻辑读取数/秒

- 块更改数/秒

- 持续更改数/秒

- 重做大小/秒

通过表扫描已检索的行数百分比

# 通过表扫描已检索的行数百分比

通过使用表扫描而不是索引访问返回的行数百分比

此图表包括下列数据项：

- 全表扫描行数比率

表扫描速率

# 表扫描速率

各类表扫描的每秒速率

此图表包括下列数据项：

- 表扫描数 (长型)/秒

- 表扫描数 (短型)/秒

- 每次表扫描所获取的行数

- 表扫描行数/秒

每秒网络字节数

# 每秒网络字节数

每秒通过网络发送和/或接收的字节数

此图表包括下列数据项：

- 网络字节数/秒

每次表扫描的块数

# 每次表扫描的块数

每次表扫描获得的总块数

此图表包括下列数据项：

- 每次表扫描的块数

重做日志写入的平均大小

# 重做日志写入的平均大小

此图表指示正在被请求的平均 I/O 大小。如果平均 I/O 大小很小，通常是由于小事务处理或引起频繁 redo_synch_writes 的高并发性而造成的。

此图表包括下列数据项：

- 平均重做写入大小

重做日志统计数据

# 重做日志统计数据

重做日志活动统计数据

此图表包括下列数据项：

- 重做条目数/秒

- 重做日志空间请求数/秒

- 重做同步写入数/秒

- 已写入的重做块数/秒

- 重做写入数/秒

例程范围内的 CPU 分解

# 例程范围内的 CPU 分解

此图表显示有关 CPU 分析 SQL 语句所花费的时间的信息。

当 Oracle 执行 SQL 语句时，它首先对其进行分析以确定其语法和内容是否正确。此进程会消耗相当大的开销。一旦分析后，除非分析信息从内存高速缓存中超龄释放并不再可用，否则 Oracle 不会再分析此语句。SQL 语句之间的无效内存共享可能导致重新分析。

此图表有助于检测分析时的一般响应时间。您的应用程序分析越多，存在的争用就越多，您的系统在等待上花费的时间就越多。如果分析时间 CPU 代表 CPU 时间的较大百分比，则时间被用于分析而不是用于执行语句。如果是这种情况，则可能是应用程序正在使用文字 SQL 且未共享它，或者没有很好地配置共享池。如果“其他”所占的百分比最大，请查看执行最多缓冲区获取和物理读取的 SQL 语句。

此图表包括下列数据项：

- 分析 CPU 时间百分比

- 递归 CPU 时间百分比

- 其他 CPU 时间百分比

内存排序百分比

# 内存排序百分比

此图表表示排序效率，它由在内存中执行 (与转到磁盘上相对) 的排序次数百分比度量。

为获得最佳性能，大多数排序都应该在内存中进行，因为执行到磁盘的排序是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

如果在磁盘上发生过多的排序，请考虑增大 SORT_AREA_SIZE 初始化参数，以增大排序区域的大小。更大的排序区域可使 Oracle Server 保持在内存中排序，从而减少用当前的排序区域大小完成等量的工作所需要的 I/O 操作数。

此图表包括下列数据项：

- 内存排序百分比

内存排序比率

# 内存排序比率

此图表表示排序效率，它由在内存中执行 (与转到磁盘上相对) 的排序次数百分比度量。

为获得最佳性能，大多数排序都应该在内存中进行，因为执行到磁盘的排序上是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

如果在磁盘上发生过多的排序，请考虑增大 SORT_AREA_SIZE 初始化参数，以增大排序区域的大小。更大的排序区域可使 Oracle Server 保持在内存中排序，从而减少用当前的排序区域大小完成等量的工作所需要的 I/O 操作数。

此图表包括下列数据项：

- 磁盘排序数/秒

- 内存排序数/秒

排序区大小

# 排序区大小

与排序有关的初始化参数

此图表包括下列数据项：

- SORT_AREA_SIZE

- SORT_AREA_RETAINED_SIZE

排序数与扫描数

# 排序数与扫描数

排序和表扫描统计数据

此图表包括下列数据项：

- 磁盘排序数/秒

- 内存排序数/秒

- 排序行数/秒

- 短表扫描数/秒

- 长表扫描数/秒

每次排序的行数

# 每次排序的行数

每次排序行数规格

此图表包括下列数据项：

- 行数/排序

最大排序分配

# 最大排序分配

分配给排序的最大块数

此图表包括下列数据项：

- 最大排序分配

DBWR 空闲块统计数据

# DBWR 空闲块统计数据

与 DBWR 处理空闲块有关的统计数据

此图表包括下列数据项：

- DBWR 产生的空闲请求数

- 找到的 DBWR 空闲缓冲区数

DBWR 扫描统计数据

# DBWR 扫描统计数据

说明 LRU 列表的 DBWR 扫描数的统计数据

此图表包括下列数据项：

- DBWR LRU 扫描数

- DBWR 扫描深度总和

- 已扫描的 DBWR 缓冲区数

DBWR 检查点

# DBWR 检查点

要求 DBWR 标记检查点的次数

此图表包括下列数据项：

- DBWR 检查点

缓冲池

# 缓冲池

按文件计的 SGA 中的块数

此图表包括下列数据项：

- 块计数

- 差异块计数

游标例程参数

# 游标例程参数

与游标有关的初始化参数

此图表包括下列数据项：

- SESSION_CACHED_CURSORS

- OPEN_CURSORS

- CURSOR_SPACE_FOR_TIME

SGA 中的 DB 块

# SGA 中的 DB 块

SGA 中的数据库块数

此图表包括下列数据项：

- DB_BLOCK_BUFFERS

重做日志缓冲区大小

# 重做日志缓冲区大小

重做日志缓冲区大小 (字节)

此图表包括下列数据项：

- LOG_BUFFER

LRU 栓锁计数

# LRU 栓锁计数

LRU 栓锁数

此图表包括下列数据项：

- DB_BLOCK_LRU_LATCHES

缓冲池参数

# 缓冲池参数

与缓冲池有关的初始化参数

此图表包括下列数据项：

- BUFFER_POOL_KEEP

- BUFFER_POOL_RECYCLE

每个表空间的数据文件计数

# 每个表空间的数据文件计数

#### 说明

此图表显示每个表空间的数据文件数。

此图表包括下列数据项：

- 数据文件计数

每个表空间的状态

# 每个表空间的状态

#### 说明

此图表显示每个表空间的状态；例如是联机、脱机，还是只读。

此图表包括下列数据项：

- 状态

每个表空间的块计数

# 每个表空间的块计数

#### 说明

此图表显示每个表空间的以下各值的大小 (以块为单位)：

- 总大小
- 空闲空间总计
- 当前正在被所有用户使用的空间总计
- 已用空间总计

此图表包括下列数据项：

- 总块数

- 空闲块数

- 总限额块数

- 已用块数

每个表空间的空闲空间 (%)

# 每个表空间的空闲空间 (%)

#### 说明

此图表显示每个表空间的空闲空间 (以块为单位) 百分比。随着表空间内的段的增长，该表空间内的空闲空间将减小。如果空闲空间变得不足，创建新段或扩展现有段的操作将失败。

#### 用户操作

如果空闲空间不足，请通过启用其数据文件之一的自动扩展，手动调整其数据文件之一的大小，或者添加新的数据文件来增加表空间的大小。

此图表包括下列数据项：

- 空闲空间 (%)

每个表空间的空闲空间 (KB)

# 每个表空间的空闲空间 (KB)

#### 说明

此图表显示每个表空间的空闲空间总计 (KB)。随着表空间内的段的增长，该表空间内的空闲空间将减小。如果空闲空间变得不足，创建新段或扩展现有段的操作将失败。

#### 用户操作

如果空闲空间不足，请通过启用其数据文件之一的自动扩展，手动调整其数据文件之一的大小，或者添加新的数据文件来增加表空间的大小。

此图表包括下列数据项：

- 空闲空间 (KB)

每个表空间的空闲区数

# 每个表空间的空闲区数

#### 说明

此图表显示每个表空间的空闲区数。

此图表包括下列数据项：

- 空闲区数

数据字典丢失百分比

# 数据字典丢失百分比

数据字典高速缓存是共享池的一部分，用来将字典对象的定义保留在内存中。数据字典的示例有权限、用户、表、列、约束条件、索引等。当指定 SHARED_POOL_SIZE init.ora 参数时，间接调整数据字典高速缓存的大小。该字典将由 Oracle 自动优化。当首次启动 Oracle 并首次访问对象时，由于需要有磁盘读取才能访问信息，所以将发生丢失。理想化的情况是，由于将字典信息放置在内存中，从此之后将不再有丢失。不幸的是，并不总是这种情况。

“数据字典丢失”图表显示丢失数与获取数的比率。该图表将快速表明是否存在过多的字典高速缓存丢失。

所有获取的丢失数与获取数之比应该在 7-10% 之间。如果该百分比超出希望的范围，请通过增大 SHARED_POOL_SIZE init.ora 参数的值来降低该百分比。然后关闭数据库并将其重新启动，以便使新的 SHARED_POOL_SIZE 生效。

此图表包括下列数据项：

- 丢失百分比

数据字典命中/丢失比率

# 数据字典命中/丢失比率

数据字典高速缓存是共享池的一部分，用来将字典对象的定义保留在内存中。数据字典的示例有权限、用户、表、列、约束条件、索引等。当指定 SHARED_POOL_SIZE init.ora 参数时，不能直接调整数据字典高速缓存的大小。该字典将由 Oracle 自动调整。当首次启动 Oracle 并首次访问对象时，由于需要有磁盘读取才能访问信息，所以将发生丢失。理想的情况是，由于将字典信息放置在内存中，从此以后将不再有丢失。不幸的是，并不总是这种情况。

“字典高速缓存命中率”图表以一种颜色显示高速缓存获取数，以另一种颜色显示高速缓存丢失数。该图表将快速表明是否存在过多的字典高速缓存丢失。

所有获取的丢失数与获取数之比应该在 7-10% 之间。如果该百分比超出希望的范围，请通过增大 SHARED_POOL_SIZE init.ora 参数的值来将该百分比降低。然后关闭数据库并将其重新启动，以便使新的 SHARED_POOL_SIZE 生效。

此图表包括下列数据项：

- 获取数/秒

- 丢失数/秒

每个高速缓存的数据字典条目计数

# 每个高速缓存的数据字典条目计数

每个高速缓存的计数

此图表包括下列数据项：

- 高速缓存中的条目

- 有效条目

每个高速缓存的数据字典丢失率

# 每个高速缓存的数据字典丢失率

每个高速缓存每秒的高速缓存丢失数

此图表包括下列数据项：

- 高速缓存中的条目

- 丢失数/秒

库高速缓存命中百分比

# 库高速缓存命中百分比

此图表显示发现游标已存在于高速缓存中的分析请求的百分比。有关此规格的含义的完整说明，可在此图表中的项目说明中找到。

此图表中的下钻将有助于确定命中百分比为何很低的原因。

此图表包括下列数据项：

- 库高速缓存命中百分比

回退段无等待百分比

# 回退段无等待百分比

对回退段的争用反映在对包含回退段块的缓冲区的争用上。此图表代表访问回退段标题时无等待的次数百分比。此值应大于 99%。

此图表包括下列数据项：

- 回退无等待百分比

每个用户按时间的等待事件

# 每个用户按时间的等待事件

此图表按每个用户分解等待事件。

此图表包括下列数据项：

- 等待时间

每个用户按计数的等待事件

# 每个用户按计数的等待事件

用户等待每个事件的次数

此图表包括下列数据项：

- 等待数

- 超时数

用户分析和执行总计

# 用户分析和执行总计

每个用户的所有分析和执行的总计

此图表包括下列数据项：

- 分析计数

- 执行计数

用户分析和执行的比率

# 用户分析和执行的比率

每秒速率

此图表包括下列数据项：

- 分析计数 (硬)/秒

- 分析计数 (总)/秒

- 执行数/秒

用户 CPU 总计

# 用户 CPU 总计

按用户的 CPU 使用情况

此图表包括下列数据项：

- 总 CPU 时间百分比

用户 CPU 分解

# 用户 CPU 分解

此图表显示有关每个用户的 CPU 使用情况的信息，其 CPU 使用情况可以分解为子组成部分。

当 Oracle 执行 SQL 语句时，它首先对其进行分析以确定其语法和内容是否正确。此进程会消耗相当大的开销。一旦分析后，除非分析信息从内存高速缓存中超龄释放并不再可用，否则 Oracle 不会再分析此语句。SQL 语句之间的无效内存共享可能导致重新分析。

此图表有助于检测分析的一般响应时间。您的应用程序分析越多，存在的争用就越多，您的系统在等待上花费的时间就越多。如果分析时间 CPU 代表 CPU 时间的较大百分比，则时间被用于分析而不是用于执行语句。如果是这种情况，那么很可能是应用程序正在使用文字 SQL 且不共享它，或者是共享池配置得很差。如果“其他”占据的百分比最大，请查找正在执行最大缓冲区获取数和物理读取数的 SQL 语句。

此图表包括下列数据项：

- 分析 CPU 百分比

- 递归 CPU 百分比

- 其他 CPU 百分比

用户 I/O 速率

# 用户 I/O 速率

每个用户的块和 I/O 速率

此图表包括下列数据项：

- 块获取数/秒

- 持续获取数/秒

- 物理读取数/秒

- 块更改数/秒

- 持续更改数/秒

用户排序速率

# 用户排序速率

每秒每个用户的统计数据

此图表包括下列数据项：

- 磁盘排序数/秒

- 内存排序数/秒

- 排序行数/秒

用户磁盘排序与内存排序的比率

# 用户磁盘排序与内存排序的比率

此图表代表排序效率，它由在磁盘上 (与在内存中相对) 执行的排序次数的百分比度量。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

如果磁盘上发生了过多的排序，请考虑增大 SORT_AREA_SIZE 初始化参数，以增加排序区域的大小。更大的排序区域使 Oracle Server 能够将排序保持在内存中，从而减少了使用当前大小的排序区域完成等量工作所需的 I/O 操作数。

此图表包括下列数据项：

- 磁盘排序数/内存排序数比率

用户排序数与已排序行数的比率

# 用户排序数与已排序行数的比率

每次排序的行数

此图表包括下列数据项：

- 磁盘排序数/排序行数比率

用户 UGA 内存使用情况

# 用户 UGA 内存使用情况

UGA (每个用户) 内存使用峰值

此图表包括下列数据项：

- UGA 内存

用户花费的分析时间

# 用户花费的分析时间

此采样周期内此用户的所有分析花费的时间

此图表包括下列数据项：

- 分析花费的时间

用户平均等待分析的时间

# 用户平均等待分析的时间

等待每次分析花费的平均时间

此图表包括下列数据项：

- 每个分析的平均等待时间

回退段无等待率 (>99%)

# 回退段无等待率 (>99%)

对回退段的争用反映在对包含回退段块的缓冲区的争用上。此图表代表访问回退段标题时无等待时的次数百分比。此值应大于 99%。

此图表包括下列数据项：

- 等待逻辑读取数比率

回退段命中百分比

# 回退段命中百分比

请求回退段标题时的命中百分比

此图表包括下列数据项：

- 回退无等待百分比

回退段访问比率

# 回退段访问速率

回退段访问速率

此图表包括下列数据项：

- 标题获取数/秒

- 标题等待数/秒

- 压缩数/秒

- 折返数/秒

- 扩展数/秒

回退段状态

# 回退段状态

未完成的事务处理的状态和当前编号

此图表包括下列数据项：

- 状态

- 活动事务处理

- 写入数

- 区数

- 大小

- OptSize

- HWMSize

- AveShrink

- AveActive

表空间 (段) 碎片

# 表空间 (段) 碎片

列出所有可以碎片化的段

具有大型表 (>5 个块) 表扫描的用户

# 具有大型表 (>5 个块) 表扫描的用户

列出所有用户和每秒的大型表扫描数

此图表包括下列数据项：

- 长表数/秒

具有小型表 (<5 个块) 表扫描的用户

# 具有小型表 (<5 个块) 表扫描的用户

列出所有用户和每秒的小型表扫描数

此图表包括下列数据项：

- 短表数/秒

具有链接行或移植行的表上的表扫描

# 具有链接行或移植行的表上的表扫描

按用户列出对具有链接行或移植行的表的表扫描

此图表包括下列数据项：

- 提取连续行数/秒

绕过缓冲区高速缓存的表扫描 (直接到磁盘)

# 绕过缓冲区高速缓存的表扫描 (直接到磁盘)

按用户列出绕过缓冲区高速缓存的表扫描

此图表包括下列数据项：

- 直接读取数/秒

用户表扫描比率

# 用户表扫描比率

按用户计的各种表扫描统计数据

此图表包括下列数据项：

- 直接读取数/秒

SGA 空闲内存

# SGA 空闲内存

SGA 中可用的字节数

此图表包括下列数据项：

- 空闲内存大小

SGA 请求失败和丢失速率

# SGA 请求失败和丢失速率

失败或导致丢失的库高速缓存请求次数

此图表包括下列数据项：

- 保留列表请求丢失数

- 保留列表请求失败数

SGA 分解

# SGA 分解

SGA 组件的大小，以兆字节报告。

此图表包括下列数据项：

- 空闲内存大小

- 共享池大小

- 共享池保留大小

- Java 池大小

- DB 块缓冲区大小

- 日志缓冲区大小

- 固定 SGA 大小

SGA 命中百分比

# SGA 命中百分比

重新加载/请求百分比和共享池保留列表丢失/请求百分比

此图表包括下列数据项：

- 保留列表分配命中率

锁管理器

# 锁管理器

锁管理器顶层图表

此图表包括下列数据项：

- 会话 Id

- 会话序列号

- 进程 Id

- 锁类型

- 持有的模式

- 请求的模式

- 对象名

- ROWID

- 对象所有者

- 对象类型

- 资源 ID1

- 资源 ID2

数据库大小

# 数据库大小

数据库大小 (兆字节)

此图表包括下列数据项：

- 数据库大小

重做日志缓冲区大小

# 重做日志缓冲区大小

最大重做日志缓冲区大小

此图表包括下列数据项：

- 最大日志缓冲区大小

对象计数

# 对象计数

方案、用户、表等的数目。

此图表包括下列数据项：

- 表空间数

- 方案数

- 数据文件数

- 用户数

会话计数

# 会话计数

全部会话 (活动会话、非活动会话等) 的计数。

此图表包括下列数据项：

- 会话计数

并发会话计数

# 并发会话计数

并发会话数的当前计数

并发事务处理计数

# 并发事务处理计数

并发事务处理数的计数

此图表包括下列数据项：

- 并发事务处理数

当前操作分解

# 当前操作分解

此图表显示当前正在执行的 SQL 语句类型的分解。只有在采样时标记为活动的语句才会出现在报告的数据中。所以此图表的结果可能产生误导。所报告的值仅对执行查询的那一瞬间才有效。

此图表包括下列数据项：

- 选择数

- 更新数

- 插入数

- 删除数

响应时间概览

# 响应时间概览

此图表显示执行 SQL 语句平均花费的时间，也显示将花费时间分解为等待时间和 cpu 时间这两个组成部分。要使这些图表有效，必须将 TIMED_STATISTICS 参数设置为 TRUE。TIMED_STATISTICS 可通过每个图表上都可用的工具启用。此处显示的两个图表为等待或受 CPU 限制和每次执行花费的时间。

每次执行花费的时间

# 每次执行花费的时间

这向用户显示我们从数据库内可用的统计数据得出的总响应时间的最佳估计。响应时间在这里被定义为总等待时间加上数据库内的所有会话所消耗的总 CPU 时间，它除以执行数就是每次执行的值。显示了每次执行的值，我们就可以精确报告只读访问和事务处理访问。关于每个事务处理的响应时间，请查看平均事务处理时间 (秒) 图表。

响应时间的各个部分：CPU 时间和等待时间的进一步研究，可以通过下钻到等待或受 CPU 限制来进行。

此图表包括下列数据项：

- 每次执行的响应时间

用户每次执行花费的时间

# 用户每次执行花费的时间

每个用户每次语句执行平均花费的时间

此图表包括下列数据项：

- 每次执行的响应时间

等待或受 CPU 限制？

# 等待或受 CPU 限制？

此图表显示数据库中的响应时间被分解为两个组成部分：等待时间和 CPU 时间。用户根据显示的百分比应该能够快速确定哪个部分正在消耗花费时间的最大部分。通过选择等待时间或 CPU 时间并下钻到为特定组成部分定制的图表可以完成任一组成部分的诊断

此图表包括下列数据项：

- 等待时间百分比

- CPU 时间百分比

程序 CPU 分解

# 程序 CPU 分解

此图表显示将 CPU 使用情况分解为各个组成部分，它们按连接到数据库的每个应用程序分类。程序名取自 V$SESSION 表，用于计算这些值的统计数据是为执行该命名程序的用户所启动的所有会话合计的。

当 Oracle 执行 SQL 语句时，它首先对其进行分析以确定其语法和内容是否正确。此进程会消耗相当大的开销。一旦分析后，除非分析信息从内存高速缓存中超龄释放并不再可用，否则 Oracle 不会再分析此语句。SQL 语句之间的无效内存共享可能导致重新分析。现在您可以检测分析的一般响应时间。您的应用程序分析越多，存在的争用就越多，您的系统在等待上花费的时间就越多。如果分析时间 CPU 代表 CPU 时间的较大百分比，则时间被用于分析而不是用于执行语句。如果是这种情况，那么很可能是应用程序正在使用文字 SQL 且不共享它，或者是共享池配置得很差。如果“其他”占据的百分比最大，请查找正在执行最大缓冲区获取数和物理读取数的 SQL 语句。

此图表包括下列数据项：

- 分析 CPU 百分比

- 递归 CPU 百分比

- 其他 CPU 百分比

等待分析概览

# 等待分析概览

此图表是一种组图表，显示有关等待事件的摘要信息。其中一个图表等待此事件的会话显示当前正在等待特定事件的会话数；另一个图表按时间的等待事件显示此示例过程中已经完成等待的前 5 个等待事件。

CPU 概览

# CPU 概览

此图表说明在数据库中 CPU 时间被用于何处。它除了包含单个程序、用户和远程节点的 CPU 分解外，还包含整个数据库的 CPU 分解。根据这些图表您应该能够快速确定您的 CPU 在何处以及如何被消耗。

当 Oracle 执行 SQL 语句时，它首先对其进行分析以确定其语法和内容是否正确。此进程会消耗相当大的开销。一旦分析后，除非分析信息从内存高速缓存中超龄释放并不再可用，否则 Oracle 不会再分析此语句。SQL 语句之间的无效内存共享可能导致重新分析。现在您可以检测分析的一般响应时间。您的应用程序分析越多，存在的争用就越多，您的系统在等待上花费的时间就越多。如果分析时间 CPU 代表 CPU 时间的较大百分比，则时间被用于分析而不是用于执行语句。如果是这种情况，那么很可能是应用程序正在使用文字 SQL 且不共享它，或者是共享池配置得很差。如果“其他”占据的百分比最大，请查找正在执行最大缓冲区获取数和物理读取数的 SQL 语句。

I/O 浏览

# I/O 浏览

一种组图表，显示高级别的例程范围内的 I/O 统计数据，以及访问得最频繁或者访问成本最高的数据库文件。

顶层会话

# 顶层会话

根据选作排序统计数据的统计数据增量值按降序显示会话。

此图表可用来创建定制“顶层会话”视图。会话中所有可用的统计数据和标识符都会缺省地在一个大表中显示。通过使用工具栏上的“设置选项”按钮，可以定制图表仅显示感兴趣的项，并可更改排序准则。这样，就可以保存、命名定制图表和直接通过名称对其进行访问。

此图表包括下列数据项：

- 会话名称

- 操作系统用户名

- 排序统计数据

- 状态

- 计算机

- 终端

- 程序

- 模块

- 操作

- 序列号

- SPID

- 物理读取数 (%)

- 提交计数/A>

- 回退计数

- 执行计数

- 分析计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总 CPU 时间

- 分析 CPU

- 递归 CPU

- 块获取数

- 持续获取数

- 物理读取数

- 块更改数

- 持续更改数

- 磁盘排序数

- 内存排序数

- 排序行数

- 分析计数 (硬)

- 分析计数总计

- 分析花费的时间

- UGA 内存

- 登录时间

- 逻辑读取数 (%)

每个会话的平均事务处理长度

# 每个会话的平均事务处理长度

每个会话每个事务处理平均花费的时间

此图表包括下列数据项：

- 每个事务处理的响应时间

会话事务处理比率 (插入/更新)

# 会话事务处理比率 (插入/更新)

此采样周期内提交数、回退数、执行数等的实际值

此图表包括下列数据项：

- 事务处理计数

- 提交计数

- 回退计数

- 执行计数

每个会话每次执行花费的时间

# 每个会话每次执行花费的时间

每个会话每次语句执行平均花费的时间

此图表包括下列数据项：

- 每次执行的响应时间

DB 文件的连续读取分析

# DB 文件的连续读取分析

数据库文件的散列读取事件通常表明全表扫描或范围扫描。在单个 I/O 操作中读取的块数由 init.ora 参数 db_file_multi_read_count 确定。此图表将显示那些已在其上执行了扫描的文件。如果物理读取数接近物理块读取数，那么正在发生单个块的读取。如果不是这种情况，那么在该特定文件上没有发生全扫描或范围扫描。此图表将显示哪些文件正在进行单个块的读取，并标识出可能用于索引选择的那些文件以及其中的对象。

如果物理读取/物理块读取接近 1，那么正在发生单个块的读取，并且在文件上没有发生扫描。检查驻留在文件中的对象。并查看是否有索引可能适合于这些对象。为降低数据库文件散列读取的成本，请检查每个磁盘上的文件位置、磁盘数目和每个磁盘的条带大小 (这应该是 2 * db_file_mutli_block_read_count)

栓锁分析

# 栓锁分析

此图表提供栓锁活动的综合概览。为进一步研究提供了栓锁争用、栓锁休眠和总的栓锁统计数据。

用户花费时间的各组成部分

# 用户花费时间的各组成部分

花费时间的 CPU 时间和等待时间组成部分

此图表包括下列数据项：

- 等待时间百分比

- CPU 时间百分比

用户 CPU 分析

# 用户 CPU 分析

对按用户的 CPU 使用情况的进一步研究

处于忙等待状态的会话缓冲区

# 处于忙等待状态的会话缓冲区

此图表与缓冲区忙事件有关。此图表将显示哪些块在哪些文件中，以及当前会话为何等待这些块。块可能正由另一个会话读取或者修改。至此我们可以了解到会话在特定文件以及这些文件中的块上有何种类型的争用。

此图表包括下列数据项：

- 文件名

- 块序号

- 等待

排序统计数据浏览

# 排序统计数据浏览

排序统计数据组图表

按模块、操作、物理读取数排序的 SQL

# 按模块、操作、物理读取数排序的 SQL

使用 DBMS_APPLICATION_INFO 程序包的应用程序的 SQL 语句

此图表包括下列数据项：

- SQL 文本

- 物理读取数

- 缓冲区获取数

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

按模块、操作、缓冲区获取数排序的 SQL

# 按模块、操作、缓冲区获取数排序的 SQL

使用 DBMS_APPLICATION_INFO 程序包的应用程序的 SQL 语句

此图表包括下列数据项：

- SQL 文本

- 物理读取数

- 缓冲区获取数

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

应用程序模块动作

# 应用程序模块动作

当前模块和使用该模块的会话计数的列表

此图表包括下列数据项：

- 会话计数

处于等待状态的会话数

# 处于等待状态的会话数

按当前等待特定事件类型的会话数排序的跨例程的事件列表。此列表允许用户快速识别从整体上例程等待哪个事件时间最长。每种事件类型受不同参数和条件的影响。进一步的下钻是通过选择感兴趣的特定等待事件来完成的。一些等待事件具有专门的下钻图表以帮助诊断该种等待的原因。

还有一般下钻，可用于所有等待事件。要确定当前正在等待特定事件的各个会话，请使用等待此事件的会话图表。类似地，要查看当前正在等待该事件的 SQL 语句，请使用等待此事件的 SQL 语句图表。这会将您快速引向正在经历等待的 SQL 语句，并帮助您确定此等待对应用程序的影响。

此图表包括下列数据项：

- 会话计数

并行查询

# 并行查询

并行查询图表

游标概览图表

# 游标概览图表

此图表包含有关会话游标高速缓存的使用和大小的统计数据。此高速缓存可通过 SESSION_CURSOR_CACHE 参数启用。

每个主机的 CPU 分解

# 每个主机的 CPU 分解

将 CPU 时间分解为分析、递归和其他

此图表包括下列数据项：

- 分析 CPU 百分比

- 递归 CPU 百分比

- 其他 CPU 百分比

表空间概览

# 表空间概览

表空间统计数据、状态、空闲空间百分比、空闲字节数等

重做分析

# 重做分析

此图表将显示用于说明“重做日志”和 LGWR 活动的整个健康状况的各种统计数据。

定时统计数据

# 定时统计数据

为 CP 分析显示或收集的大多数图表和统计数据要求将初始化参数 timed_statisics 设置为 TRUE。这使数据库能够收集有关服务器中操作的 CPU 和所花费时间的信息。打开此统计数据定时所引起的开销很低。能够精确跟踪资源和花费时间消耗所获得的好处远大于相关的成本。如果图表中当前显示的值是 "FALSE"，通过使用与此图表相关联的工具下拉式菜单中找到的相关联的“打开定时统计数据工具”，您就可以动态打开 timed_statistics。用鼠标右键单击任何图表就可以查看“工具”、“下钻”、“历史集合”和其他选项。

此图表包括下列数据项：

- TIMED_STATISTICS

SGA 概览

# SGA 概览

此图表用来显示不同的“共享池”统计数据，这些数据决定是增大还是减小“共享池大小”参数来调整库高速缓存性能。

库高速缓存是共享池中的动态内存结构之一。库高速缓存持有 SQL 游标、PL/SQL 程序和 JAVA 类的可执行形式。库高速缓存有大小限制并由一种 LRU 算法控制，这样如果共享池用尽空间，则从此高速缓存中超龄释放对象。库高速缓存丢失可能发生在处理 SQL 语句的分析阶段或执行阶段。

- 分析：如果应用程序对 SQL 语句发出分析调用并且已该语句的分析表示尚未存在于库高速缓存的共享 SQL 区中，Oracle 将分析该语句并分配一个共享 SQL 区。通过确保只要有可能 SQL 语句就可以共享一个共享 SQL 区，您也许能够减少分析调用的库高速缓存丢失。
- 连接或执行：如果一个应用程序向 SQL 语句发出执行调用，并且为了给另一条语句腾出空间已经从库高速缓存中回收包含该语句分析表示的共享 SQL 区，Oracle 将隐式地重新分析此语句，为它分配一个新的共享 SQL 区并执行它。

主机总的 CPU 时间

# 主机总的 CPU 时间

此图表显示在最后一个采样周期内由起源于所列主机的会话所使用的 CPU 时间百分比。您应该能够快速发现哪些远程节点应对数据库内的大量 CPU 消耗负责。此图表对将中间层服务器专用于特定应用程序的环境尤其有用。

此图表包括下列数据项：

- 总 CPU 时间百分比

程序总的 CPU 时间

# 程序总的 CPU 时间

此图表显示在最后一个采样周期内由列出的程序所使用的 CPU 时间百分比。您应该能够快速发现哪些程序应对数据库内的大量 CPU 消耗负责。此图表对于其中的各种应用程序具有唯一图像名的环境尤其有用。

此图表包括下列数据项：

- 总 CPU 时间百分比

总计的灰队列长度

# 总计的灰队列长度

此图表显示 LRU 缓冲区列表中所找到的灰数据缓冲区数和此采样周期内的写入请求数的总和。总计的灰队列长度是完成写入请求后停留在灰数据队列中的块数。如果存在许多灰数据缓冲区，那么一个或多个 DBWn 进程很可能无法继续下去。请增大缓冲区高速缓存的大小或调整 DBWn 进程。

此图表包括下列数据项：

- 总计的灰队列长度

- 写入请求数

DBWR 效率统计数据

# DBWR 效率统计数据

此图表显示 DBWR 是否正在将灰数据块保留在 LRU 队列中，此队列在每次写入完成后被找到，或者由试图将新数据块加载到高速缓存中的影子进程找到。这两个统计数据的值都 > 1 可以表明 I/O 问题、高速缓存大小调整的问题或者 DBWR 进程数不足。

此图表包括下列数据项：

- 平均灰队列长度

- 每个空闲请求的灰数据缓冲区数

DBWR 分析

# DBWR 分析

通过使用在这里成组显示的图表，您应该能够确定 DBWR 是否正在以一个足以满足数据库要求的级别运行。在每个特定图表中，都可以进一步研究各个统计数据和可能纠正问题的操作。

数据库健康状况 (直观的)

# 数据库健康状况 (直观的)

此图表是诊断数据库性能问题的起点。组图表中的每个子图表都具有下钻，下钻将引导您进一步分析由在该图表上显示的统计数据所表示的潜在问题。

某些下钻与特定上下文有关。如果有多于一个项目在图表中显示，则在使用鼠标右键单击下钻之前选择感兴趣的单个项目将为工具提供最佳的上下文。

重做大小/秒

# 重做大小/秒

每秒生成的重做大小 (字节)

此图表包括下列数据项：

- 重做大小/秒

每个 I/O 的块数

# 每个 I/O 的块数

每个 I/O 操作从每个文件读取或写入每个文件的平均块数

此图表包括下列数据项：

- 物理块数/读取数

- 物理块数/写入数

I/O 时间

# I/O 时间

此图表显示一个 I/O 操作在特定文件上平均花费的时间。

此图表包括下列数据项：

- 读取时间

- 写入时间

此查询所引用的表

# 此查询所引用的表

此图表将向您显示此查询所引用的表。如果查询较大，您可能不会很容易了解到它实际上访问了哪些表。如果查询正在执行很多 I/O，则它可能正在对其中一个表进行全表扫描。如果正在使用基于成本的优化程序，它可能正在基于过时的统计数据来选择一个很差的策略。请使用此图表中的信息来决定表的统计数据是否有效。如果不是，请使用其中一个分析工具选项来更新任何一个表的统计数据。很高的链接行百分比可能表明此表中的平均行无法存入一个数据块中。这可能是由于增大记录大小并强制它们移植到其他块的更新或行大小刚好超过 db_block_size 所引起的。使用“重新编排”向导来确定是否应该重新编排具有高链接行百分比的表。

此图表包括下列数据项：

- 最近分析的

- 行数

- 链接行百分比

软分析百分比

# 软分析百分比

软分析是在高速缓存中查找已分析的 SQL 语句并能够重用现有条目的分析。硬分析不在高速缓存中查找 SQL 语句，并会消耗处理周期来完成分析步骤。如果软分析百分比较小，您应该查看高速缓存中的 SQL 语句。通过使用“顶层 SQL”图表您应该能够确定是否正在使用赋值变量。SQL 语句必须完全匹配，以便有效地使用 SQL 高速缓存。

此图表包括下列数据项：

- 软分析百分比

按硬分析计数的顶层会话数

# 按硬分析计数的顶层会话数

此图表显示正在分析尚未驻留在高速缓存中的 SQL 语句的会话。通常，这是由于在 SQL 查询中使用文字而不是赋值变量而引起的。通过下钻到此会话图表的打开游标中可以找到会话正在使用的 SQL 语句。

此图表包括下列数据项：

- 会话名称

- 操作系统用户名

- 排序统计数据

- 状态

- 计算机

- 终端

- 程序

- 模块

- 操作

- 序列号

- SPID

- 物理读取数 (%)

- 提交计数

- 回退计数

- 执行计数

- 分析计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总的 CPU 时间

- 分析 CPU

- 递归 CPU

- 块获取数

- 持续获取数

- 物理读取数

- 块更改数

- 持续更改数

- 磁盘排序数

- 内存排序数

- 排序行数

- 分析计数 (硬)

- 分析计数总计

- 分析花费的时间

- UGA 内存

- 登录时间

- 逻辑读取数 (%)

按已排序行数的顶层会话数

# 按已排序行数的顶层会话数

此图表是了解哪个会话正在执行大部分排序的起点，也是最终了解哪个查询正在执行大部分排序起点。根据此图表，您可以下钻到此会话的打开游标，然后按行排序对那些查询进行排序，以确定哪些查询正在导致排序。

此图表包括下列数据项：

- 会话名称

- 操作系统用户名

- 排序统计数据

- 状态

- 计算机

- 终端

- 程序

- 模块

- 操作

- 序列号

- SPID

- 物理读取数 (%)

- 提交计数

- 回退计数

- 执行计数

- 分析计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总的 CPU 时间

- 分析 CPU

- 递归 CPU

- 块获取数

- 持续获取数

- 物理读取数

- 块更改数

- 持续更改数

- 磁盘排序数

- 内存排序数

- 排序行数

- 分析计数 (硬)

- 分析计数总计

- 分析花费的时间

- UGA 内存

- 登录时间

- 逻辑读取数 (%)

按物理读取数的顶层会话数

# 按物理读取数的顶层会话数

此图表使您能很好地了解哪些会话对大量的数据库读取 I/O 负责。在此图表中，您可以下钻到打开 SQL (当按物理读取数排序时) 以获得能使您了解哪些查询对 I/O 的会话负责。

此图表包括下列数据项：

- 会话名称

- 操作系统用户名

- 排序统计数据

- 状态

- 计算机

- 终端

- 程序

- 模块

- 操作

- 序列号

- SPID

- 物理读取数 (%)

- 提交计数

- 回退计数

- 执行计数

- 分析计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总的 CPU 时间

- 分析 CPU

- 递归 CPU

- 块获取数

- 持续获取数

- 物理读取数

- 块更改数

- 持续更改数

- 磁盘排序数

- 内存排序数

- 排序行数

- 分析计数 (硬)

- 分析计数总计

- 分析花费的时间

- UGA 内存

- 登录时间

- 逻辑读取数 (%)

高速缓存中访问此表的所有 SQL

# 高速缓存中访问此表的所有 SQL

此图表使您能很好地了解更改此表对应用程序的其他部分所造成的影响，不管是通过添加索引来改进查询还是通过更新表的内部统计数据。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

用于此会话的打开游标

# 用于此会话的打开游标

此图表显示此会话已经打开的所有当前游标 (SQL 语句)。在“顶层会话”图表中显示的统计数据将包括来自所有这些查询的统计数据以及可能已经执行并关闭的以前的游标。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

存放 SQL 语句的库高速缓存

# 存放 SQL 语句的库高速缓存

此图表列出前 50 个字符相同的 SQL 语句。除在 "WHERE" 子句中使用的文字外其他部分都相同的语句有可能被重写以使用赋值变量。重新分析基本相同的 SQL 语句会浪费时间和资源。如果您的库高速缓存命中率较低，那么这里列出的查询可能是最主要的原因。

此图表包括下列数据项：

- 计数

相似 SQL 语句的详细信息

# 相似 SQL 语句的详细信息

此图表允许您查看与选定查询字符串的前 50 个字符相匹配的所有语句的文本和统计数据。根据在此屏幕上显示的信息，用户应该能够完全识别查询，并确定它是否是可被重写以帮助避免硬分析和库高速缓存超龄的有效侯选查询。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

重做分配重试次数

# 重做分配重试次数

此图表显示重做分配的失败次数。

LGWR 将重做日志缓冲区中的重做条目写入重做日志文件或磁盘后，用户就可以复制新条目来覆盖内存中已写入磁盘的条目。LGWR 通常写入得非常快，足以确保新条目在缓冲区中始终有可用空间，即使是在对重做日志的访问繁忙时也应满足这一条件。

REDO BUFFER ALLOCATION RETRIES 的值应接近于零。如果此值持续增大，则进程不得不等待缓冲区中的空间。等待可能是由于日志缓冲区太小或检查点引起的。如果有必要，通过更改初始化参数 LOG_BUFFER 的值来增大重做日志缓冲区的大小。用字节表示的此参数的值必须是 DB_BLOCK_SIZE 的倍数。或者，改进检查点或归档进程。

此图表包括下列数据项：

- 重做分配重试次数

库高速缓存和缓冲区高速缓存命中百分比

# 库高速缓存和缓冲区高速缓存命中百分比

此图表给出缓冲区高速缓存和库高速缓存效率的高级视图。下钻对于两种规格都是可用的。在这两种情况下高速缓存利用率都应该接近于 %95。

此图表包括下列数据项：

- 缓冲区高速缓存命中百分比

- 库高速缓存命中百分比

用户会话详细信息

# 用户会话详细信息

对于选定的 USER，显示与在“顶层会话”图表中找到的信息相似的详细信息。

此图表包括下列数据项：

- 分析计数

- 执行计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总 CPU 时间百分比

- 分析 CPU 百分比

- 递归 CPU 百分比

- 其他 CPU 百分比

- 块获取数/秒

- 持续获取数/秒

- 物理读取数/秒

- 磁盘读取比率

- 块更改数/秒

- 持续更改数/秒

- 磁盘排序数/秒

- 内存排序数/秒

- 排序行数/秒

- 磁盘排序数/内存排序数比率

- 磁盘排序数/排序行数比率

- 分析计数 (硬)/秒

- 分析计数 (总计)/秒

- 分析花费的时间

- UGA 内存

- 每个分析的平均等待时间

- 执行数/秒

- 序列号

程序会话详细信息

# 程序会话详细信息

对于选定的程序，显示与在“顶层会话”图表中找到的信息相似的详细信息。

此图表包括下列数据项：

- 分析计数

- 执行计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总 CPU 时间百分比

- 分析 CPU 百分比

- 递归 CPU 百分比

- 其他 CPU 百分比

- 块获取数/秒

- 持续获取数/秒

- 物理读取数/秒

- 磁盘读取比率

- 块更改数/秒

- 持续更改数/秒

- 磁盘排序数/秒

- 内存排序数/秒

- 排序行数/秒

- 磁盘排序数/内存排序数比率

- 磁盘排序数/排序行数比率

- 分析计数 (硬)/秒

- 分析计数 (总计)/秒

- 分析花费的时间

- UGA 内存

- 每个分析的平均等待时间

- 执行数/秒

- 序列号

计算机会话详细信息

# 计算机会话详细信息

对于选定的计算机名称，显示与在“顶层会话”图表中找到的信息相似的详细信息。

此图表包括下列数据项：

- 分析计数

- 执行计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总 CPU 时间百分比

- 分析 CPU 百分比

- 递归 CPU 百分比

- 其他 CPU 百分比

- 块获取数/秒

- 持续获取数/秒

- 物理读取数/秒

- 磁盘读取比率

- 块更改数/秒

- 持续更改数/秒

- 磁盘排序数/秒

- 内存排序数/秒

- 排序行数/秒

- 磁盘排序数/内存排序数比率

- 磁盘排序数/排序行数比率

- 分析计数 (硬)/秒

- 分析计数 (总计)/秒

- 分析花费的时间

- UGA 内存

- 每个分析的平均等待时间

- 执行数/秒

- 序列号

对 SQL 硬分析的分析

# 对 SQL 硬分析的分析

“按硬分析计数的顶层会话”图表将向您显示哪些会话引起的硬分析最多。

硬分析是在服务器分析查询并且在库高速缓存中找不到与查询完全匹配的内容时发生的。通过有效地共享 SQL 语句可以避免硬分析。在查询中使用赋值变量而不是文字是增加共享的一种方法。

此图表通过显示哪些会话正在引起大部分的硬分析，可使您找到最适合于 SQL 重写的应用程序或程序。

“存放 SQL 的库高速缓存”图表将向您显示哪些语句的前 'n' 个字符是类似的以及在高速缓存中该语句段有多少种形式。共享池区域的大小不足会导致 SQL 语句从高速缓存中超龄释放，并也可能导致强制执行硬分析。共享池大小允许您查看当前共享池的分配并且可能增大它。

SQL“其他”CPU 分析

# SQL“其他”CPU 分析

这组图表帮助研究可能正在消耗 CPU 时间的区域。在缓冲区和磁盘之间移动数据会消耗大量 CPU 时间。“按缓冲区获取数的顶层 SQL”图表显示需要高速缓存中大量缓冲区的 SQL 语句。此处理比较费时。类似地，“按物理读取数的顶层会话”图表显示强制执行 I/O 从而导致缓冲区高速缓存中的 CPU 处理的会话。

按物理读取数排序的打开 SQL 游标

# 按物理读取数排序的打开 SQL 游标

此图表显示会话当前已经打开的游标。如果会话频繁打开和关闭游标，您可能只看到当前的 SQL 语句。SQL 语句按它们所执行的物理读取数排序。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

按分析调用数排序的打开 SQL 游标

# 按分析调用数排序的打开 SQL 游标

此图表显示会话当前已经打开的游标。如果会话频繁打开和关闭游标，您可能只看到当前的 SQL 语句。SQL 语句按它们被分析的次数排序。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

等待此事件的会话

# 等待此事件的会话

此图表将允许您查看一直在等待特定事件的会话。所有标准下钻都可以用来进一步挖掘任何一个会话。

此图表包括下列数据项：

- 分析计数

- 执行计数

- 会话游标高速缓存命中数

- 会话游标高速缓存计数

- 总 CPU 时间百分比

- 分析 CPU 百分比

- 递归 CPU 百分比

- 其他 CPU 百分比

- 块获取数/秒

- 持续获取数/秒

- 物理读取数/秒

- 磁盘读取比率

- 块更改数/秒

- 持续更改数/秒

- 磁盘排序数/秒

- 内存排序数/秒

- 排序行数/秒

- 磁盘排序数/内存排序数比率

- 磁盘排序数/排序行数比率

- 分析计数 (硬)/秒

- 分析计数 (总计)/秒

- 分析花费的时间

- UGA 内存

- 每个分析的平均等待时间

- 执行数/秒

- 序列号

等待此事件的 SQL 语句

# 等待此事件的 SQL 语句

此列表显示当前正在等待此特定事件的 SQL 语句。根据此列表您应该能够确定哪些对象处于争用状态，并查看以重新组织您的应用程序、重写 SQL 或重新组织基础对象。

此图表包括下列数据项：

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

MTS 加载

# MTS 加载

此图表提供一般分派进程和服务器进程忙碌程度的总体描述。它还提供当前近似值接近服务器进程极限和峰值服务器百分比的指示器。

此图表包括下列数据项：

- 服务器忙百分比

- 分派进程忙百分比

- 当前的最大服务器数百分比

- 最大峰值服务器数百分比

服务器类型和计数

# 服务器类型和计数

此图表显示当前服务器和分派进程数。

此图表包括下列数据项：

- 专用服务器数

- 当前共享服务器数

- 分派进程数

MTS 服务器启动/停止

# MTS 服务器启动/停止

此图表显示启动和停止服务器的频率。这些值已规格化为每秒值，以便它们在一个采样频率范围内可以是有效的。

此图表包括下列数据项：

- 已启动的服务器数/秒

- 已终止的服务器数/秒

分派进程争用

# 分派进程争用

此图表显示一般分派进程为当前在系统上配置的各种连接类型而忙碌的程度。同时还报告一般请求在队列中等待此分派进程类的时间长度。

此图表包括下列数据项：

- 忙比率

- 平均等待时间

分派进程统计数据

# 分派进程统计数据

此图表显示每个分派进程可用的各种统计数据。

此图表包括下列数据项：

- 状态

- 接受

- 消息数/秒

- 字节数/秒

- 拥有的

- 空闲

- 忙

- 忙百分比

- 空闲百分比

- 每个响应的平均等待时间

共享服务器统计数据

# 共享服务器统计数据

此图表显示每个共享服务器进程可用的各种统计数据。

此图表包括下列数据项：

- 状态

- 请求数/秒

- 空闲

- 忙

- 忙百分比

- 线路名

MTS 浏览

# MTS 浏览

感兴趣的 MTS 统计数据的组图表

阻塞/等待锁图表

# 阻塞/等待锁图表

阻塞/等待锁的统计数据

此图表包括下列数据项：

- 会话 Id

- 会话序列号

- 进程 Id

- 锁类型

- 持有的模式

- 请求的模式

- 对象名

- ROWID

- 对象所有者

- 对象类型

- 资源 ID1

- 资源 ID2

用户类型锁数图表

# 用户类型锁数图表

用户类型锁定数的统计数据

此图表包括下列数据项：

- 会话 Id

- 会话序列号

- 进程 Id

- 锁类型

- 持有的模式

- 请求的模式

- 对象名

- ROWID

- 对象所有者

- 对象类型

- 资源 ID1

- 资源 ID2

每个事务处理的 I/O 比率

# 每个事务处理的 I/O 比率

每个事务处理的数据库 I/O

此图表包括下列数据项：

- 物理读取数/事务处理

- 物理写入数/事务处理

- 逻辑读取数/事务处理

- 直接物理读取数/事务处理

每个事务处理的表扫描数

# 每个事务处理的表扫描数

每个事务处理的各类表扫描

此图表包括下列数据项：

- 表扫描数 (长型)/事务处理

- 表扫描数 (短型)/事务处理

- 每次表扫描获取的行数

- 表扫描行数/事务处理

每个事务处理的网络字节数

# 每个事务处理的网络字节数

每个事务处理通过网络发送/接收的字节数

此图表包括下列数据项：

- 网络字节数/事务处理

当前正被等待的段

# 当前正被等待的段

此图表是从一个列出等待事件的更高级图表开始的下钻。对于正在等待对文件中特定块的读取或写入的等待事件，此图表将识别包含该块的段。

此图表包括下列数据项：

- 段名

- 块 Id

等待事件文件和块计数

# 等待事件文件和块计数

此图表列出单个会话正在等待的文件数和块数。此图表是从一个列出等待事件的更高级图表开始的下钻。对于选定的特定等待事件，您将会看到单个等待以及它们的文件和块的计数。大多数写入等待与 DBWR 的性能有关。

此图表包括下列数据项：

- 文件数

- 块数

高速缓存缓冲区链分析

# 高速缓存缓冲区链分析

通过高速缓存缓冲区链栓锁对缓冲区高速缓存中的这些块中存在很高的争用。应该识别这些块所属的段。您应该确定为何需要这些特定块并努力减少对它们的争用。

吞吐量比率

# 吞吐量比率

此图表为您提供事务处理速率的高级视图，事务处理包括成功的和不成功的。它还深入说明用户登录系统的频率。如果登录率较高，则可能有一个效率很低的应用程序正在进行每条信息的连接、查询和断开。

此图表包括下列数据项：

- 登录数/秒

- 提交数/秒

- 回退数/秒

- 用户调用数/秒

- 递归调用数/秒

- 入队等待数/秒

获取数和更改数比率

# 获取数和更改数比率

(块和持续) 获取/更改比率

此图表包括下列数据项：

- 持续获取数/秒

- 持续更改数/秒

- 块获取数/秒

- 块更改数/秒

例程效率

# 例程效率

显示数据库效率的统计数据

例程动作

# 例程动作

显示数据库中的动作的统计数据

数据库健康状况 (工作在进行中)

# 数据库健康状况 (工作在进行中)

确定数据库健康状况的统计数据

命中率

# 命中率

各种命中率

此图表包括下列数据项：

- 缓冲区高速缓存命中百分比

- 库高速缓存命中百分比

- 重做无等待百分比

- 内存排序百分比

- 软分析百分比

- 栓锁百分比

顶层的 5 个会话

# 顶层的 5 个会话

按物理读取数百分比顺序排列的前 5 个会话

此图表包括下列数据项：

- 会话名

- 物理读取数 (百分比)

- 逻辑读取数 (百分比)

- 物理读取数

- 总的 CPU 时间

- 分析计数 (硬)

时间最长的 5 个等待

# 时间最长的 5 个等待

按等待时间排序的前 5 个等待事件,计数

此图表包括下列数据项：

- 等待时间

- 等待数

会话计数

# 会话计数

活动和非活动会话计数

栓锁命中百分比

# 栓锁命中百分比

无等待授予栓锁的频率

此图表包括下列数据项：

- 栓锁百分比

重做分配无等待百分比

# 重做分配无等待百分比

无需等待分配重做条目的频率

此图表包括下列数据项：

- 重做无等待百分比

当前的 SQL

# 当前的 SQL

它是会话当前正在执行的 SQL 语句或最近一次执行的语句。

此图表包括下列数据项：

- SID

- SQL 文本

- 模块

- 操作

- 物理读取数

- 物理读取数百分比

- 缓冲区获取数

- 缓冲区获取数百分比

- 执行数/秒

- 分析调用数/秒

- 物理读取数/秒

- 缓冲区获取数/秒

- 已处理的行数/秒

- 可共享内存总计

- 永久内存总计

- 运行时内存

AQ 统计数据

# AQ 统计数据

Oracle Advanced Queuing 保留有关排队系统的当前状态的统计数据和动态表 GV$AQ 中的时间间隔统计数据。排队系统的当前状态统计数据包括就绪、正在等待和过期消息的数目。 此图表显示每种状态 (就绪、正在等待和过期) 中的消息数

此图表包括下列数据项：

- 正在等待

- 就绪

- 过期

AQ 等待次数

# AQ 等待次数

Oracle Advanced Queuing 保留有关排队系统的当前状态的统计数据和动态表 GV$AQ 中的时间间隔统计数据。排队系统的当前状态统计数据包括就绪、正在等待和过期消息的数目。 此图表显示“正在等待”消息的平均等待时间和总等待时间。

此图表包括下列数据项：

- 总等待时间

- 平均等待时间

并行服务器强制回应

# 并行服务器强制回应

OPS 数据库的强制回应总计

并行服务器例程强制回应

# 并行服务器例程强制回应

按例程的强制回应计数

按文件的并行服务器强制回应

# 按文件的并行服务器强制回应

按文件的强制回应计数

按例程的文件强制回应

# 按例程的文件强制回应

按文件例程的强制回应计数

按块类的并行服务器强制回应

# 按块类的并行服务器强制回应

按类的强制回应计数

按对象的并行服务器强制回应

# 按对象的并行服务器强制回应

按对象的强制回应计数

按例程的对象强制回应

# 按例程的对象强制回应

每个例程如何提交给对象

按块的最大强制回应

# 按块的最大强制回应

强制回应频率最高的块

按对象块的最大强制回应

# 按对象块的最大强制回应

强制回应频率最高的对象块

全局高速缓存超时

# 全局高速缓存超时数

显示超时数和等待数

按例程的全局高速缓存 CR 超时数

# 按例程的全局高速缓存 CR 超时数

请求持续读取块时超时。

按例程的全局高速缓存转换超时数

# 按例程的全局高速缓存转换超时数

磁盘上的高争用或 I/O 工作量

按例程的全局高速缓存空闲列表等待数

# 按例程的全局高速缓存空闲列表等待数

可释放锁的使用情况

全局高速缓存 CR 请求

# 全局高速缓存 CR 请求

cr 请求

按例程的全局高速缓存 CR 请求

# 按例程的全局高速缓存 CR 请求

cr 请求

全局高速缓存锁转换

# 全局高速缓存锁转换

cr 转换

按例程的全局高速缓存锁转换

# 按例程的全局高速缓存锁转换

按例程的 cr 转换

OPS 系统事件

# OPS 系统事件

系统等待数

库高速缓存锁

# 库高速缓存锁

库高速缓存锁数

按例程的库高速缓存锁

# 按例程的库高速缓存锁

按例程的库高速缓存锁

行高速缓存锁图表

# 行高速缓存锁图表

行高速缓存

按例程的行高速缓存锁图表

# 按例程的行高速缓存锁图表

按例程的行高速缓存

每个事务处理的排序数和扫描数

# 每个事务处理的排序数和扫描数

排序和表扫描统计数据

此图表包括下列数据项：

- 磁盘排序数/事务处理

- 内存排序数/事务处理

- 排序行数/事务处理

- 短表扫描数/事务处理

- 长表扫描数/事务处理

每个事务处理的内存排序比率

# 每个事务处理的内存排序比率

此图表代表排序效率，它由在内存中执行 (与转到磁盘上相对) 的排序次数的百分比度量。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

如果磁盘上发生了过多的排序，请考虑增大 SORT_AREA_SIZE 初始化参数，以增加排序区域的大小。更大的排序区域使 Oracle Server 能够将排序保持在内存中，从而减少了使用当前大小的排序区域完成等量工作所需的 I/O 操作数。

此图表包括下列数据项：

- 磁盘排序数/事务处理

- 内存排序数/事务处理

每个事务处理的吞吐量比率

# 每个事务处理的吞吐量比率

此图表为您提供事务处理速率的高级视图，事务处理包括成功的和不成功的。它还深入说明用户登录系统的频率。如果登录率较高，则可能有一个效率很低的应用程序正在进行每条信息的附加、查询和拆离。

此图表包括下列数据项：

- 登录数/事务处理

- 提交数/事务处理

- 回退数/事务处理

- 用户调用数/事务处理

- 递归调用数/事务处理

- 入队等待数/事务处理

每个事务处理的调用比率

# 每个事务处理的调用比率

各种调用类别中的例程范围内的统计数据

此图表包括下列数据项：

- 用户调用数/事务处理

- 递归调用数/事务处理

每个事务处理的已连接缓冲区的次数计数

# 每个事务处理的已连接缓冲区的次数计数

此图表显示监视缓冲区高速缓存连接动作时的一些关键统计数据。

Oracle 依靠 SGA 中的数据库缓冲区来存储最近使用的从磁盘读取的数据库数据块。一个例程中的数据库缓冲区集是数据库缓冲区高速缓存。缓冲区高速缓存被组织在以下两个列表中：灰数据列表和 LRU 列表。灰数据列表包含尚未写入磁盘的已修改缓冲区。LRU 列表包含空闲缓冲区、已连接缓冲区和灰数据缓冲区。DBWR 管理数据库缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

此图表显示监视缓冲区高速缓存连接动作时的这些关键统计数据：

- 已连接缓冲区的次数：当客户机检查以确定是否已经连接所需的缓冲区时，此统计数据度量某个缓冲区已经由客户机连接的次数。
- 尚未连接缓冲区的次数：当客户机检查以确定是否已经连接所需的缓冲区时，此统计数据度量此缓冲区尚未由客户机连接的次数。

因为在这种情况下客户机并不打算使用缓冲区，所以客户机在释放缓冲区之前执行这样的检查时不会增大这些统计数据。

这些统计数据度量缓冲区上的长久持续读取连接频率为多大是有益的。如果客户机能够多次重用已连接缓冲区，那么这表明连接缓冲区是有用的。

此图表包括下列数据项：

- 已连接缓冲区的次数/事务处理

- 尚未连接缓冲区的次数/事务处理

每个事务处理的分析统计数据

# 每个事务处理的分析统计数据

此图表显示总分析计数、硬分析计数和执行计数。通过将分析计数的 SQL 语句与执行计数的 SQL 语句相比较，我们很好地得知重新分析 SQL 语句的频率。通过游标、赋值变量等的更有效使用，在应用程序中进行此领域中的许多优化可能是最合适的。

如果分析计数较高，则应检查以下事项：

- 应用程序是否正在花费太多的时间打开和关闭游标？
- 请确保应用程序正在使用赋值变量
- 如果应用程序打开/重新分析同一语句，请将 SESSION_CACHED_CURSORS 设置为会话所使用的游标数
- 检查编译器标志 RELEASE_CURSORS = NO 和 HOLD_CURSORS = yes
- 在执行之前检查用于重新分析语句的程序，而不是使用赋值变量

此图表包括下列数据项：

- 分析数/事务处理

- 硬分析数/事务处理

- 执行数/事务处理

每个事务处理的空闲缓冲区统计数据

# 每个事务处理的空闲缓冲区统计数据

此图表深入研究围绕“空闲缓冲区等待”事件的细节。空闲缓冲区等待可能是由在 LRU (最近最少使用)列表尾部扫描以查找空闲缓冲区的会话导致的。如果灰数据列表已满，那么前台进程必须等待准备写入磁盘中的这些灰数据缓冲区。或者，空闲缓冲区等待也可由扫描太多缓冲区的会话 (db_block_max_scan_count) 引起。在 Oracle7 中灰数据缓冲区列表最有可能是已满的，因此增大 db_block_write_batch 应该足以解决问题。

公式 1 + (已检查的空闲缓冲区数/已请求的空闲缓冲区数) 将计算会话为查找空闲缓冲区在 LRU 的尾部扫描的平均缓冲区数。如果此数目接近 1，这意味着会话通常可以很快查找到一个缓冲区。如果此数目很大，这通常意味着大量“持续读取” (CR) 缓冲区正在 LRU 的尾部等待。

如果扫描的空闲缓冲区数太大，可能是 db_block_max_scan_count 参数太高，或者可能需要增大 db_block_write_batch 参数。

此图表包括下列数据项：

- 已检查的空闲缓冲区数/事务处理

- 已请求的空闲缓冲区数/事务处理

- 已检查的灰数据缓冲区数/事务处理

每个事务处理的获取数和更改数比率

# 每个事务处理的获取数和更改数比率

(块或持续) 获取/更改比率

此图表包括下列数据项：

- 持续获取数/事务处理

- 持续更改数/事务处理

- 块获取数/事务处理

- 块更改数/事务处理

终止会话

# 终止会话

终止选定的会话

打开定时统计数据

# 打开定时统计数据

启用花费的时间和 CPU 时间规格的跟踪

分析表 (全部)

# 分析表 (全部)

分析表以获取统计信息。

分析表 (评估 10%)

# 分析表 (评估 10%)

通过采样数据的 10% 分析表以获取统计信息。

分析表 (评估 25%)

# 分析表 (评估 25%)

通过采样数据的 25% 分析表以获取统计信息。

打开 SQL Trace

# 打开 SQL Trace

为此会话打开 SQL TRACE

关闭 SQL Trace

# 关闭 SQL Trace

为此会话关闭 SQL TRACE

SQL Analyze (占位符)

# SQL Analyze (占位符)

SQL Analyze - SQL 优化工具

Instance Manager (占位符)

# Instance Manager (占位符)

Instance Manager - 修改 init.ora 参数的工具

例程响应时间

# 例程响应时间

跨所有更新和插入事务处理计算的响应时间

此类包括下列图表：

- 平均事务处理时间长度 (秒)

- 事务处理和语句执行速率

- 每次执行所花费的时间

- 等待或受 CPU 限制？

例程响应时间缺省图表
例程响应时间缺省图表

跨所有更新和插入事务处理计算的响应时间

等待时间百分比

## 等待时间百分比

#### 说明

此数据项代表此采样周期例程范围内等待资源或对象花费的时间百分比。

#### 数据源

DeltaTotalWait / (DeltaTotalWait + DeltaCpuTime)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session' 的差值

#### 用户操作

进一步研究哪些特定的等待事件是形成大量等待时间的原因。单个等待事件可以识别数据库中的独特问题。将在适当的地方通过专用于单个等待事件的下钻定制诊断。

CPU 时间百分比

## CPU 时间百分比

#### 说明

此数据项代表此采样周期例程范围内由 CPU 执行指令所花费的时间百分比。

#### 数据源

DeltaCpuTime / (DeltaTotalWait + DeltaCpuTime)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session' 的差值

#### 用户操作

当 CPU 时间是总响应时间的最大贡献者时，就需要将其分解以进一步正确理解此问题。基本上将 CPU 时间分解为以下类别：

- 分析 CPU 时间：用于分析 SQL 语句的 CPU 时间。
- 递归 CPU 时间：用于分析行高速缓存语句 (如在数据字典中进行查找、执行触发器、PL/SQL 等) 的 CPU 时间。
- 其他 CPU 时间：用于诸如查找缓冲区、提取行或索引关键字之类的任务的 CPU 时间。

每个事务处理的响应时间

## 每个事务处理的响应时间

#### 说明

通过只使用数据库内可用的统计数据，此数据项给出此采样周期内每个事务处理响应时间的最佳近似值 (秒)。

#### 数据源

(DeltaTotalWait + DeltaCpuTime) / (DeltaCommits + DeltaRollbacks)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值
- DeltaCommits：采样结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值
- DeltaRollbacks：采样结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值

#### 用户操作

进一步研究哪个组成部分 (等待时间或 CPU 时间) 是形成主要响应时间的原因，并继续诊断。

事务处理计数

## 事务处理计数

#### 说明

此数据项代表此采样周期内所执行的提交和回退的总数。

#### 数据源

DeltaCommits + DeltaRollbacks
其中：

- DeltaCommits：采样结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值
- DeltaRollbacks：采样结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，则意味着您的系统可以处理更多的负载。实际上，事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。

提交计数

## 提交计数

#### 说明

此数据项代表此采样周期内所执行的用户提交的数目。当用户提交事务处理时，必须将生成的反映对数据库块更改的重做写入磁盘。提交数通常代表最接近用户事务处理率的数据。

#### 数据源

DeltaCommits
其中：

- DeltaCommits：采样结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，则意味着您的系统可以处理更多的负载。实际上，事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。

回退计数

## 回退计数

#### 说明

此数据项代表在此采样周期内用户手动发出 ROLLBACK 语句的次数或在用户的事务处理期间发生错误的次数。

#### 数据源

DeltaRollbacks
其中：

- DeltaRollbacks：采样结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值

#### 用户操作

此统计数据说明用户发出 ROLLBACK 语句或者在他们的事务处理期间遇到错误的频率。应该进行进一步的研究，以确定这些回退是错误应用程序逻辑的一部分，还是由于在数据库访问时发生的错误引起的。

每个执行的响应时间

## 每个执行的响应时间

#### 说明

通过只使用数据库中可用的统计数据，此数据项就可以给出每个 SQL 语句执行的响应时间的最佳近似值 (秒)。此统计数据可能比每个事务处理的响应时间更有效，因为它甚至可以显示关于只读访问的准确值。

#### 数据源

(DeltaTotalWait + DeltaCpuTime) / (DeltaUserCalls + DeltaRecursiveCalls)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值
- DeltaUserCalls：采样结束和开始时的 'select value from v$sysstat where name='user calls'' 的差值
- DeltaRecursiveCalls：采样结束和开始时的 'select value from v$sysstat where name='recursive calls'' 的差值

#### 用户操作

进一步研究哪个组成部分 (等待时间或 CPU 时间) 是形成主要响应时间的原因，并继续诊断。

执行计数

## 执行计数

#### 说明

此数据项代表在采样周期内执行 SQL 语句的调用 (用户和递归) 总数。此统计数据表示每个采样周期所处理的 SQL 语句数。

#### 数据源

DeltaUserCalls + DeltaRecursiveCalls
其中：

- DeltaUserCalls：采样结束和开始时的 'select value from v$sysstat where name='user calls'' 的差值
- DeltaRecursiveCalls：采样结束和开始时的 'select value from v$sysstat where name='recursive calls'' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。执行率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，则意味着您的系统可以处理更多的负载。实际上执行率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，执行负载在一天的不同时间可能变化非常大。

用户响应时间

# 用户响应时间

按单个用户分解的响应时间

此类包括下列图表：

- 平均事务处理每个用户的长度

- 用户事务处理比率 (插入/更新)

- 用户每次执行花费的时间

- 用户花费时间的组成部分

用户响应时间缺省图表
用户响应时间缺省图表

按单个用户分解的响应时间

等待时间百分比

## 等待时间百分比

#### 说明

此数据项代表此采样周期内此会话等待资源或对象所花费的时间百分比。

#### 数据源

DeltaTotalWait / (DeltaTotalWait + DeltaCpuTime)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

进一步研究哪些特定的等待事件是形成大量等待时间的原因。单个等待事件可以识别数据库中的独特问题。将在适当的地方通过专用于单个等待事件的下钻定制诊断。

CPU 时间百分比

## CPU 时间百分比

#### 说明

此数据项代表此采样周期内此会话执行 CPU 指令所花费的时间百分比。

#### 数据源

DeltaCpuTime / (DeltaTotalWait + DeltaCpuTime)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

当 CPU 时间是总响应时间的最大贡献者时，就需要将其分解以进一步正确理解此问题。基本上将 CPU 时间分解为以下类别：

- 分析 CPU 时间：用于分析 SQL 语句的 CPU 时间。
- 递归 CPU 时间：用于分析行高速缓存语句 (如在数据字典中进行查找、执行触发器、PL/SQL 等) 的 CPU 时间。
- 其他 CPU 时间：用于诸如查找缓冲区、提取行或索引关键字之类的任务的 CPU 时间。

每个事务处理的响应时间

## 每个事务处理的响应时间

#### 说明

通过只使用数据库内可用的统计数据，此数据项给出此采样周期内每个事务处理响应时间的最佳近似值 (秒)。

#### 数据源

(DeltaTotalWait + DeltaCpuTime) / (DeltaCommits + DeltaRollbacks)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
- DeltaCommits：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user commits' and n.statistic#=s.statistic#' 的差值
- DeltaRollbacks：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user rollbacks' and n.statistic#=s.statistic#' 的差值

#### 用户操作

进一步研究哪个组成部分 (等待时间或 CPU 时间) 是形成主要响应时间的原因，并继续诊断。

事务处理计数

## 事务处理计数

#### 说明

此数据项代表此采样周期内此会话执行的提交和回退总数。

#### 数据源

DeltaCommits + DeltaRollbacks
其中：

- DeltaCommits：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user commits' and n.statistic#=s.statistic#' 的差值
- DeltaRollbacks：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user rollbacks' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，则意味着您的系统可以处理更多的负载。实际上，事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。

提交计数

## 提交计数

#### 说明

此数据项代表此采样周期内此会话执行的用户提交数。当用户提交事务处理时，必须将生成的反映对数据库块更改的重做写入磁盘。提交数通常代表最接近用户事务处理率的数据。

#### 数据源

DeltaCommits
其中：

- DeltaCommits：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user commits' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，则意味着您的系统可以处理更多的负载。实际上，事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。

回退计数

## 回退计数

#### 说明

此数据项代表采样周期内此会话手动发出 ROLLBACK 语句或会话事务处理过程中出现错误的次数。

#### 数据源

DeltaRollbacks
其中：

- DeltaRollbacks：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user rollbacks' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据说明用户发出 ROLLBACK 语句或者在他们的事务处理期间遇到错误的频率。应该进行进一步的研究，以确定这些回退是错误应用程序逻辑的一部分，还是由于在数据库访问时发生的错误引起的。

每个执行的响应时间

## 每个执行的响应时间

#### 说明

通过只使用数据库中可用的统计数据，此数据项就可以给出每个 SQL 语句执行的响应时间的最佳近似值 (秒)。此统计数据可能比每个事务处理的响应时间更有效，因为它甚至可以显示关于只读访问的准确值。

#### 数据源

(DeltaTotalWait + DeltaCpuTime) / (DeltaUserCalls + DeltaRecursiveCalls)
其中：

- DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
- DeltaCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
- DeltaUserCalls：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#' 的差值
- DeltaRecursiveCalls：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#' 的差值

#### 用户操作

进一步研究哪个组成部分 (等待时间或 CPU 时间) 是形成主要响应时间的原因，并继续诊断。

执行计数

## 执行计数

#### 说明

此数据项代表此采样周期内执行 SQL 语句的此会话中的调用 (用户和递归) 总数。此统计数据表示每个采样周期所处理的 SQL 语句数。

#### 数据源

DeltaUserCalls + DeltaRecursiveCalls
其中：

- DeltaUserCalls：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#' 的差值
- DeltaRecursiveCalls：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。执行率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，则意味着您的系统可以处理更多的负载。实际上执行率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，执行负载在一天的不同时间可能变化非常大。

例程等待事件

# 例程等待事件

等数据库内的单个事件所花费的时间

此类包括下列图表：

- 按时间的等待事件

- 等待事件计数

- 时间最长的 5 个等待

例程等待事件缺省图表
例程等待事件缺省图表

等数据库内的单个事件所花费的时间

等待时间

## 等待时间

#### 说明

此数据项代表最后一个采样周期内等待此事件花费的时间 (秒)。

#### 数据源

DeltaTimeWaited
其中：

- DeltaTimeWaited：采样结束和开始时的 'select time_waited from v$system_event' 的差值

#### 用户操作

等待所花费的时间是处理可能已经花费的时间。用最长的等待时间攻击等待事件很可能会产生最大的收益。对于为帮助诊断和提高单个等待事件性能而定制的图表，下钻是可用的。

等待数

## 等待数

#### 说明

此数据项代表此采样周期内每个事件的等待数。等待数不如等待花费的时间长度重要。即使事件请求立即完成，也将更新事件的等待计数。

#### 数据源

DeltaWaitCounts
其中：

- DeltaWaitCounts：采样结束和开始时的 'select total_waits from v$system_event' 的差值

#### 用户操作

超时数

## 超时数

#### 说明

此数据项代表此采样周期内每个事件的超时数。

#### 数据源

DeltaWaitTimeOuts
其中：

- DeltaWaitTimeOuts：采样结束和开始时的 'select total_timeouts from v$system_event' 的差值

#### 用户操作

等待的“例程块等待数”和等待持续时间

# 等待的“例程块等待数”和等待持续时间

等数据库内的单个事件所花费的时间

此类包括下列图表：

- 按时间的块等待数

- 块等待计数

等待的例程块等待数和等待持续时间缺省图表
等待的例程块等待数和等待持续时间缺省图表

等数据库内的单个事件所花费的时间

等待时间

## 等待时间

#### 说明

此数据项代表此采样周期内等待特定类块花费的时间。

#### 数据源

DeltaWait
其中：

- DeltaWait：采样结束和开始时的 'select time from v$waitstat' 的差值

#### 用户操作

总等待数/秒

## 总等待数/秒

#### 说明

此数据项代表此采样周期内每秒等待特定类块的次数。

#### 数据源

DeltaWait / Seconds
其中：

DeltaWait：采样结束和开始时的 'select count from v$waitstat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

AQ 统计数据

# AQ 统计数据

“AQ 队列”统计数据

此类包括下列图表：

AQ 统计数据

AQ 等待时间

AQ 统计数据缺省图表
AQ 统计数据缺省图表

“AQ 队列”统计数据

队列表名称

## 队列表名称

队列表名称

正在等待

## 正在等待

处于“正在等待”状态的消息数

就绪

## 就绪

处于“就绪”状态的消息数

过期

## 过期

处于“过期”状态的消息数

总等待时间

## 总等待时间

队列中的消息已在“就绪”状态下等待的秒数

平均等待时间

## 平均等待时间

处于“就绪”状态的消息已等待出列的平均秒数

顶层 SQL

# 顶层 SQL

按某一特定资源排序的顶层的 N 条 SQL 语句

此类包括下列图表：

顶层 SQL (物理读取数)

顶层 SQL (缓冲区获取数)

顶层 SQL 缺省图表
顶层 SQL 缺省图表

按某一特定资源排序的顶层的 N 条 SQL 语句

SQL 文本

## SQL 文本

#### 说明

此数据项包括当前游标的 SQL 文本的前八十个字符。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

select disk_reads from v$sqlarea

#### 用户操作

缓冲区获取数

## 缓冲区获取数

#### 说明

此数据项代表高速缓存中的缓冲区满足的读取请求数。换句话说，它的值就是此语句的所有执行所读取的总块数。

#### 数据源

select buffer_gets from v$sqlarea

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表在此采样周期内每秒执行此语句的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaExecutions：采样结束和开始时的 'select executions from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析调用数/秒

## 分析调用数/秒

#### 说明

此数据项代表此采样周期内每秒分析此语句的次数。

#### 数据源

DeltaParseCalls / Seconds
其中：

DeltaParseCalls：采样结束和开始时的 'select parse_calls from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内此语句每秒执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲区获取数/秒

## 缓冲区获取数/秒

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区每秒满足的此语句的读取请求数。

#### 数据源

DeltaBufferGets / Seconds
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

已处理的行数/秒

## 已处理的行数/秒

#### 说明

此数据项代表在此采样周期内为完成此语句每秒处理的总行数。

#### 数据源

DeltaRowsProcessed / Seconds
其中：

DeltaRowsProcessed：采样结束和开始时的 'select rows_processed from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

可共享内存总计

## 可共享内存总计

#### 说明

此数据项代表此语句所使用的全部可共享内存的总和 (字节)。

#### 数据源

select sharable_mem from v$sqlarea

#### 用户操作

永久内存总计

## 永久内存总计

#### 说明

此数据项代表此语句所使用的全部永久内存的总和 (字节)。

#### 数据源

select persistent_mem from v$sqlarea

#### 用户操作

运行时内存

## 运行时内存

#### 说明

此数据项代表当前此语句所使用的全部内存的总和 (字节)。

#### 数据源

select runtime_mem from v$sqlarea

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$sqlarea

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$sqlarea

#### 用户操作

物理读取数百分比

## 物理读取数百分比

#### 说明

此图表项代表采样过程中属于此语句的总物理读取数的百分比。

#### 数据源

DeltaPhysicalReads / DeltaTotalReads
其中：

DeltaPhysicalReads：采样结束和开始时的“select sum(disk_reads) from v$sql”差值
DeltaTotalReads：采样结束和开始时的“select value from v$sysstat where name='physical reads'”的差值

#### 用户操作

缓冲区获取数百分比

## 缓冲区获取数百分比

#### 说明

此图表项代表采样过程中属于此语句的总缓冲区获取数的百分比。

#### 数据源

DeltaBufferGets / DeltaTotalGets
其中：

DeltaBufferGets：采样结束和开始时的“select sum(buffer_gets) from v$sql”差值
DeltaTotalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值

#### 用户操作

文件统计数据

# 文件统计数据

此类按每个文件分解 I/O 动作

此类包括下列图表：

I/O 的平均成本

文件写操作

文件读操作

每个 I/O 的块数

I/O 时间

文件统计数据缺省图表
文件统计数据缺省图表

此类按每个文件分解 I/O 动作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内从此数据文件的每秒物理读取数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select phyrds from v$filestat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理写入数/秒

## 物理写入数/秒

#### 说明

此数据项代表此采样周期内到此数据文件的每秒物理写入数。

#### 数据源

DeltaPhysicalWrites / Seconds
其中：

DeltaPhysicalWrites：采样结束和开始时的 'select phywrts from v$filestat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理块读取数/秒

## 物理块读取数/秒

#### 说明

此数据项代表此采样周期内从此数据文件的每秒物理块读取数。

#### 数据源

DeltaPhysicalBlockReads / Seconds
其中：

DeltaPhysicalBlockReads：采样结束和开始时的 'select phyblkrd from v$filestat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理块写入数/秒

## 物理块写入数/秒

#### 说明

此数据项代表此采样周期内到此数据文件的每秒物理块写入数。

#### 数据源

DeltaPhysicalBlockWrites / Seconds
其中：

DeltaPhysicalBlockWrites：采样结束和开始时的 'select phyblkwrt from v$filestat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

读取时间

## 读取时间

#### 说明

此数据项代表此采样周期内从此数据文件进行读取花费的时间。除非 TIMED_STATISTICS 参数为 TRUE，否则此值将始终为 0。

#### 数据源

DeltaReadTime
其中：

DeltaReadTime：采样结束和开始时的 'select readtim from v$filestat' 的差值

#### 用户操作

写入时间

## 写入时间

#### 说明

此数据项代表此采样周期内进行到此数据文件的写入花费的时间。除非 TIMED_STATISTICS 参数为 TRUE，否则此值将始终为 0。

#### 数据源

DeltaWriteTime
其中：

DeltaWriteTime：采样结束和开始时的 'select writetim from v$filestat' 的差值

#### 用户操作

平均时间/读取

## 平均时间/读取

#### 说明

此数据项代表此采样周期内从此数据文件进行读取花费的时间。除非 TIMED_STATISTICS 参数为 TRUE，否则此值将始终为 0。

#### 数据源

DeltaReadTime / DeltaPhysicalReads
其中：

DeltaReadTime：采样结束和开始时的 'select readtim from v$filestat' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select phyrds from v$filestat' 的差值

#### 用户操作

平均时间/写入

## 平均时间/写入

#### 说明

此数据项代表此采样周期内进行到此数据文件的写入花费的时间。除非 TIMED_STATISTICS 参数为 TRUE，否则此值将始终为 0。

#### 数据源

DeltaWriteTime / DeltaPhysicalWrites
其中：

DeltaWriteTime：采样结束和开始时的 'select writetim from v$filestat' 的差值
DeltaPhysicalWrites：采样结束和开始时的 'select phywrts from v$filestat' 的差值

#### 用户操作

物理块数/读取

## 物理块数/读取

#### 说明

此数据项代表此采样周期内从此数据文件的每次读取所读取的块数。一个接近于 1 的值指示单个块的读取正在发生这一事实。

#### 数据源

DeltaPhysicalBlockReads / DeltaPhysicalReads
其中：

DeltaPhysicalBlockReads：采样结束和开始时的 'select phyblkrd from v$filestat' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select phyrds from v$filestat' 的差值

#### 用户操作

物理块数/写入

## 物理块数/写入

#### 说明

此数据项代表此采样周期内每次到此数据文件的写入所写入的块数。一个接近于 1 的值指示单个块的写入正在发生这一事实。

#### 数据源

DeltaPhysicalBlockWrites / DeltaPhysicalWrites
其中：

DeltaPhysicalBlocksReads：采样结束和开始时的 'select phyblkwrt from v$filestat' 的差值
DeltaPhysicalWrites：采样结束和开始时的 'select phywrts from v$filestat' 的差值

#### 用户操作

栓锁数

# 栓锁数

栓锁统计数据 - 仅显示休眠数、轮选数、等待者数、丢失数 > 0 的栓锁

此类包括下列图表：

栓锁休眠数

栓锁获取/丢失比率

栓锁争用 (>1% 潜在问题)

栓锁数缺省图表
栓锁数缺省图表

栓锁统计数据 - 仅显示休眠数、轮选数、等待者数、丢失数 > 0 的栓锁

获取数/秒

## 获取数/秒

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表此采样周期内的每秒成功“愿意等待栓锁请求”数。

#### 数据源

DeltaGets / Seconds
其中：

DeltaGets：采样结束和开始时的 'select gets from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

旋转获取数/秒

## 旋转获取数/秒

#### 说明

如果一个进程不能立即获得栓锁，则它必须等待栓锁。这将导致减速的发生并导致额外的 CPU 使用，直到有一个栓锁可用为止。CPU 使用是进程“旋转”的结果。“旋转”是指进程在固定时间间隔之后继续寻找该栓锁的可用性，在此时间间隔内进程休眠。它继续旋转，直到有一个栓锁可用为止。

此数据项代表，此采样周期内每秒为了获取特定栓锁的尝试 (第一次尝试失败但在轮选后成功) 次数。

#### 数据源

DeltaSpinGets / Seconds
其中：

DeltaSpinGets：采样结束和开始时的 'select spin_gets from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

丢失数/秒

## 丢失数/秒

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表此采样周期内初始“愿意等待栓锁请求”每秒不成功次数。

#### 数据源

DeltaMisses / Seconds
其中：

DeltaMisses：采样结束和开始时的 'select misses from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

休眠数/秒

## 休眠数/秒

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表，此采样周期内进程在初始“愿意等待请求”之后每秒等待请求的栓锁的次数。

#### 数据源

DeltaMisses / Seconds
其中：

DeltaMisses：采样结束和开始时的 'select misses from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

唤醒的等待者数/秒

## 唤醒的等待者数/秒

#### 说明

此数据项代表此采样周期内每秒唤醒此栓锁的等待的次数。

#### 数据源

DeltaWaitersWoken / Seconds
其中：

DeltaWaitersWoken：采样结束和开始时的 'select waiters_woken from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持有的等待者数/秒

## 持有的等待者数/秒

#### 说明

此数据项代表此采样周期内在持有不同栓锁的同时每秒等待此栓锁的次数。

#### 数据源

DeltaWaitersWoken / Seconds
其中：

DeltaWaitersWoken：采样结束和开始时的 'select waiters_woken from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

立即获取数/秒

## 立即获取数/秒

#### 说明

如果用立即请求来请求栓锁并且该栓锁不可用，则请求进程将不等待但继续处理。

此数据项代表此采样周期内每秒此栓锁的成功立即请求数。

#### 数据源

DeltaImmediateGets / Seconds
其中：

DeltaImmediateGets：采样结束和开始时的 'select immediate_gets from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

立即丢失数/秒

## 立即丢失数/秒

#### 说明

如果用立即请求来请求栓锁并且该栓锁不可用，则请求进程将不等待但继续处理。

此数据项代表此采样周期内每秒此栓锁的不成功立即请求数。

#### 数据源

DeltaImmediateMisses / Seconds
其中：

DeltaImmediateMisses：采样结束和开始时的 'select immediate_misses from v$latch' 的差值
Seconds：采样周期内的秒数

#### 用户操作

丢失/获取比率

## 丢失/获取比率

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表此采样周期内此栓锁的“愿意等待请求”尝试在第一次尝试时失败的次数百分比。

#### 数据源

(DeltaMisses / DeltaGets) * 100
其中：

DeltaMisses：采样结束和开始时的 'select misses from v$latch' 的差值
DeltaGets：采样结束和开始时的 'select gets from v$latch' 的差值

#### 用户操作

立即丢失比率

## 立即丢失比率

#### 说明

如果用立即请求来请求栓锁并且该栓锁不可用，则请求进程将不等待但继续处理。

此数据项代表此采样周期内此栓锁的立即请求第一次尝试失败的次数百分比。

#### 数据源

(DeltaImmediateMisses / (DeltaImmediateGets + DeltaImmediateMisses)) * 100
其中：

DeltaImmediateMisses：采样结束和开始时的 'select immediate_misses from v$latch' 的差值
DeltaImmediateGets：采样结束和开始时的 'select immediate_gets from v$latch' 的差值

#### 用户操作

级别序号

## 级别序号

#### 说明

栓锁是锁的一种类型，可以快速获得和释放。栓锁通常用来阻止多于一个进程在给定时间执行同一段代码。栓锁具有用来阻止死锁的关联级别。一旦一个进程获得某一级别的栓锁，随后它就不能获得与该级别相等或低于该级别的栓锁 (除非它无等待地获得栓锁)。

此数据项代表栓锁级别。

#### 数据源

select level# from v$latch

#### 用户操作

休眠一次

## 休眠一次

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表，此采样周期内进程在初始“愿意等待请求”之后为请求的栓锁等待 1 次的次数。

#### 数据源

select sleep1 from v$latch

#### 用户操作

休眠两次

## 休眠两次

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表，此采样周期内进程在初始“愿意等待请求”之后为请求的栓锁等待 2 次的次数。

#### 数据源

select sleep2 from v$latch

#### 用户操作

休眠三次

## 休眠三次

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表，此采样周期内进程在初始“愿意等待请求”之后为请求的栓锁等待 3 次的次数。

#### 数据源

select sleep3 from v$latch

#### 用户操作

休眠四次

## 休眠四次

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表，此采样周期内进程在初始“愿意等待请求”之后为请求的栓锁等待 4 次的次数。

#### 数据源

select sleep4 from v$latch

#### 用户操作

例程统计数据

# 例程统计数据

例程范围内的统计数据

此类包括下列图表：

命中率

栓锁命中百分比

游标高速缓存命中百分比

缓冲区高速缓存命中百分比

库高速缓存命中百分比

递归调用与用户调用的比率

重做分配无等待百分比

软分析百分比/A>

例程范围内的 CPU 分解

缓冲区和库高速缓存命中百分比

内存排序百分比

每个排序的行数

最大排序分配

例程统计数据缺省图表
例程统计数据缺省图表

例程范围内的统计数据

游标高速缓存命中数

## 游标高速缓存命中数

#### 说明

此数据项代表分析调用在会话游标高速缓存中找到游标的次数百分比。

#### 数据源

(DeltaCursorHits / (DeltaParseCount)) * 100
其中：

DeltaCursorHits：采样结束和开始时的 'select value from v$sysstat where name='parse count (total)'' 的差值
DeltaParseCount：采样结束和开始时的 'select value from v$sysstat where name='session cursor cache hits'' 的差值

#### 用户操作

如果此统计数据是会话的分析调用总数的较小百分比，只要 SESSION_CACHED_CURSORS 对操作系统的分页和交换活动没有负作用，就考虑将它设置为较大的值
缓冲区高速缓存命中百分比

## 缓冲区高速缓存命中百分比

#### 说明

此数据项代表数据块缓冲区高速缓存的效率，由查询所请求的数据块在内存中的次数百分比度量。

缓冲区高速缓存的有效使用可以大大减少数据库上的 I/O 负载。如果缓冲区高速缓存太小，频繁访问的数据将很快被从缓冲区高速缓存中清除出来，这将迫使从磁盘重新提取信息。因为磁盘访问比内存访问要慢得多，所以应用程序的性能将受到损害。另外，加在 I/O 子系统上的额外负担可能在一个或多个设备处带来瓶颈，进一步降低性能。

#### 数据源

((DeltaLogicalGets - (DeltaPhysicalReads - DeltaPhysicalReadsDirect)) / DeltaLogicalGets) * 100
其中：

DeltaLogicalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select value from v$sysstat where name='physical reads'' 的差值
DeltaPhysicalReadsDirect：采样结束和开始时的 'select value from v$sysstat where name='physical reads direct'' 的差值 (Oracle 8.i)

#### 用户操作

DB_BLOCK_BUFFERS 初始化参数确定在缓冲区高速缓存中可用的数据库缓冲区数。它是导致例程上的 SGA 的内存总需求的主要参数之一。DB_BLOCK_BUFFERS 参数与 DB_BLOCK_SIZE 参数一起控制缓冲区高速缓存的总大小。因为只能在第一次创建数据库时指定 DB_BLOCK_SIZE，所以缓冲区高速缓存的大小通常是通过使用 DB_BLOCK_BUFFERS 参数来控制的。

要增大缓冲区高速缓存的大小，请考虑增大 DB_BLOCK_BUFFERS 初始化参数。此增大允许 Oracle Server 在内存中保存更多的信息，这样减少使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
递归调用数/用户调用数

## 递归调用数/用户调用数

#### 说明

此数据项代表递归调用数与用户调用数的百分比。

有时，为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

#### 数据源

DeltaRecursiveCalls / DeltaUserCalls
其中：

DeltaRecursiveCalls：采样结束和开始时的 'select value from v$sysstat where name='recursive calls'' 的差值
DeltaUserCalls：采样结束和开始时的 'select value from v$sysstat where name='user calls'' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.I，则可以考虑利用本地管理的表空间，这样也可以降低扩展的频率。
软分析百分比

## 软分析百分比

#### 说明

当不得不将 SQL 语句加载到共享池中时发生硬分析。在这种情况下，Oracle Server 不得不在共享池中分配内存并分析该语句。当 Oracle Server 为 SQL 语句检查共享池并找到一种它可以重用的语句版本时将记录软分析。

此数据项代表游标已经在游标高速缓存中的分析请求百分比；换句话说，就是软分析百分比。

#### 数据源

((DeltaParseCountTotal - DeltaParseCountHard) / DeltaParseCountTotal) * 100
其中：

DeltaParseCountTotal：采样结束和开始时的 'select value from v$sysstat where name='parse count (total)'' 的差值
DeltaParseCountHard：采样结束和开始时的 'select value from v$sysstat where name='parse count (hard)'' 的差值

#### 用户操作

分析 CPU 时间百分比

## 分析 CPU 时间百分比

#### 说明

此数据项代表分析 SQL 语句所花费的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaTotalTime) * 100
其中：

DeltaParseTime：采样结束和开始时的 'select value from v$sysstat where name='parse time cpu'' 的差值
DeltaTotalTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 时间百分比

## 递归 CPU 时间百分比

#### 说明

此数据项代表执行递归调用花费的时间百分比。

有时，为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

#### 数据源

(DeltaRecursiveTime / DeltaTotalTime) * 100
其中：

DeltaRecursiveTime：采样结束和开始时的 'select value from v$sysstat where name='recursive cpu usage'' 的差值
DeltaTotalTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.I，则可以考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 时间百分比

## 其他 CPU 时间百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaTotalTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaTotalTime) * 100
其中：

DeltaTotalTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值
DeltaParseTime：采样结束和开始时的 'select value from v$sysstat where name='parse time cpu'' 的差值
DeltaRecursiveTime：采样结束和开始时的 'select value from v$sysstat where name='recursive cpu usage'' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
库高速缓存命中百分比

## 库高速缓存命中百分比

#### 说明

此数据项代表库高速缓存的效率，由 PL/SQL 块和 SQL 语句的完全分析或编译的结果已经在内存中的次数百分比度量。

共享池是 SGA 中的一个区域，它包含专用于特定例程配置的共享 SQL 请求库高速缓存、字典高速缓存和其他高速缓存结构。

共享池机制至少能够用下列三种方式大大减少系统资源开销：

如果 SQL 语句已经在共享池中，则可以避免分析时间。
因为所有应用程序都利用共享 SQL 语句和字典资源的同一个池，所以会减少应用程序内存开销。
因为共享池中的字典元素不要求访问，所以会节省 I/O 资源。

如果共享池太小，用户就会消耗其他资源来完成数据库操作。对于库高速缓存访问，开销主要是重新分析 SQL 语句所要求的其他 CPU 资源。

#### 数据源

(DeltaPinHits / DeltaPins) * 100
其中：

DeltaPinHits：采样结束和开始时的 'select sum(pinhits) from v$librarycache' 的差值
DeltaPins：采样结束和开始时的 'select sum(pins) from v$librarycache' 的差值

#### 用户操作

SHARED_POOL_SIZE 初始化参数控制共享池的总大小。要降低从共享池中清除 SQL 请求以便为新请求腾出空间的频率，请考虑增大 SHARED_POOL_SIZE。

要利用共享 SQL 区域可用的其他内存，您还需要增大每个会话允许的游标数。通过增大初始化参数 OPEN_CURSORS 的值您就可以增大此限制值。

另外，检查可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的 SQL 语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
内存排序百分比

## 内存排序百分比

#### 说明

此数据项代表排序效率，它是由在内存中执行 (与转到磁盘上相对) 的排序次数的百分比度量的。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

(DeltaMemorySorts / (DeltaDiskSorts + DeltaMemorySorts)) * 100
其中：

DeltaMemorySorts：采样结束和开始时的 'select value from v$sysstat where name='sorts (memory)'' 的差值
DeltaDiskSorts：采样结束和开始时的 'select value from v$sysstat where name='sorts (disk)'' 的差值

#### 用户操作

如果磁盘上发生了过多的排序，请考虑增大 SORT_AREA_SIZE 初始化参数，以增加排序区域的大小。更大的排序区域使 Oracle Server 能够将排序保持在内存中，从而减少了使用当前大小的排序区域完成等量工作所需的 I/O 操作数。
行数/排序

## 行数/排序

#### 说明

此数据项代表此采样周期内每次排序的平均行数。

#### 数据源

(DeltaSortRows / (DeltaDiskSorts + DeltaMemorySorts)) * 100
where:

DeltaSortRows：采样结束和开始时的 'select value from v$sysstat where name='sorts (rows)'' 的差值
DeltaMemorySorts：采样结束和开始时的 'select value from v$sysstat where name='sorts (memory)'' 的差值
DeltaDiskSorts：采样结束和开始时的 'select value from v$sysstat where name='sorts (disk)'' 的差值

#### 用户操作

最大排序分配

## 最大排序分配

#### 说明

此数据项代表分配给所有排序的最大空间大小 (以块为单位)。

#### 数据源

select sum(max_used_blocks) from v$sort_segment

#### 用户操作

重做无等待百分比

## 重做无等待百分比

#### 说明

重做日志条目包含对数据库块缓冲区所进行的更改的记录。日志写入器 (LGWR) 进程将重做日志条目从日志缓冲区写入一个重做日志文件。应该调整日志缓冲区的大小以便新条目在缓冲区中始终有可用空间，即使是在对重做日志的访问繁忙时也应满足这一条件。如果日志缓冲区不够大，在用户进程等待 LGWR 释放重做日志缓冲区中的空间时将延迟用户进程。

此数据项代表重做日志缓冲区的效率，由用户无需等待日志写入器释放重做日志缓冲区中的空间的次数百分比度量。

#### 数据源

((DeltaRedoEntries - DeltaRedoLogSpaceRequests) / DeltaRedoEntries) * 100
其中：

DeltaRedoEntries：采样结束和开始时的 'select value from v$sysstat where name='redo entries'' 的差值
DeltaRedoLogSpaceRequests：采样结束和开始时的 'select value from v$sysstat where name='redo log space requests'' 的差值

#### 用户操作

LOG_BUFFER 初始化参数决定将重做条目缓冲到重做日志文件中时所使用的内存大小。

如果等待是一个问题，请考虑增大 LOG_BUFFER 初始化参数以增大重做日志缓冲区的大小。重做日志条目包含对数据库块缓冲区所进行的更改的记录。日志写入器进程 (LGWR) 将重做日志条目从日志缓冲区写入一个重做日志。应该调整重做日志缓冲区的大小以便新条目在缓冲区中始终有可用空间，即使是在对重做日志的访问繁忙时也应满足这一条件。
栓锁百分比

## 栓锁百分比

#### 说明

如果使用“愿意等待请求”来请求栓锁并且栓锁是不可用的，则请求进程短暂等待之后会重新请求栓锁。此进程在栓锁可用之前继续等待和请求。

此数据项代表此采样周期内此栓锁的“愿意等待请求”尝试在第一次尝试时失败的次数百分比。

#### 数据源

(DeltaMisses / DeltaGets) * 100
其中：

DeltaMisses：采样结束和开始时的 'select misses from v$latch' 的差值
DeltaGets：采样结束和开始时的 'select gets from v$latch' 的差值

#### 用户操作

活动会话

## 活动会话

#### 说明

此数据项代表活动会话数。

#### 数据源

select count(*) from v$session where status = 'ACTIVE'

#### 用户操作

非活动会话

## 非活动会话

#### 说明

此数据项代表非活动会话数。

#### 数据源

TotalSessions - ActiveSessions
其中：

TotalSessions：select count(*) from v$session
ActiveSessions：select count(*) from v$session where status = 'ACTIVE'

#### 用户操作

例程 I/O 统计数据

# 例程 I/O 统计数据

为整个例程汇总的 I/O 统计数据

此类包括下列图表：

每秒的 I/O 速率

空闲缓冲区扫描数

通过表扫描检索的行数百分比

表扫描速率

每秒的网络字节数

每次表扫描的块数

总计的灰数据队列长度

DBWR 效率统计数据

每个事务处理的 I/O 速率

每个事务处理的表扫描

每个事务处理的网络字节数

例程 I/O 统计数据缺省图表
例程 I/O 统计数据缺省图表

为整个例程汇总的 I/O 统计数据

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理写入数/秒

## 物理写入数/秒

#### 说明

此数据项代表此采样周期内每秒的磁盘写入数。

#### 数据源

DeltaWrites / Seconds
其中：

DeltaWrites：采样周期结束和开始时的 'select value from v$sysstat where name=' physical writes'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

逻辑读取数/秒

## 逻辑读取数/秒

#### 说明

此数据项代表此采样周期内每秒的逻辑读取数。

#### 数据源

DeltaReads / Seconds
其中：

DeltaReads：采样周期结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

每次表扫描的块数

## 每次表扫描的块数

Blocks_gotten / (short_scans + long_scans)

平均空闲缓冲区扫描数

## 平均空闲缓冲区扫描数

寻找空闲缓冲区时扫描的平均缓冲区数

全表扫描行数比率

## 全表扫描行数比率

行扫描/(行扫描 + 行标识扫描)

表扫描数 (长型)/秒

## 表扫描数 (长型)/秒

#### 说明

此数据项代表采样周期内每秒的长表扫描数。如果某个表未被高速缓存而且其高水线标记大于 5 个块，则认为此表是“长型的”。

#### 数据源

DeltaScans / Seconds
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (long tables)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

表扫描数 (短型)/秒

## 表扫描数 (短型)/秒

#### 说明

此数据项代表采样周期内每秒的短表扫描数。如果某个表被高速缓存而且其高水线标记小于 5 个块，则认为此表是“短型的”。

#### 数据源

DeltaScans / Seconds
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (short tables)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

每次表扫描获得的行数

## 每次表扫描获得的行数

行标识扫描/(行扫描 + 行标识扫描)

表扫描行数/秒

## 表扫描行数/秒

#### 说明

在扫描操作期间， Oracle Server 按顺序检索每一行。此数据项代表此采样周期内每秒扫描的行数。

#### 数据源

select s.value from v$sysstat s, v$statname n where n.name='table scan rows gotten' and n.statistic#=s.statistic#

#### 用户操作

网络字节数/秒

## 网络字节数/秒

每秒的所有网络读取/写入数

总计的灰数据队列长度

## 总计的灰数据队列长度

#### 说明

此项代表此采样周期内在 LRU 缓冲区列表中找到的灰数据缓冲区数和写入请求数的总和。总计的灰数据队列长度是完成写入请求后停留在灰数据队列中的块数。

#### 数据源

select s.value from v$sysstat s, v$statname n where n.name='summed dirty queue length' and n.statistic#=s.statistic#

#### 用户操作

如果存在许多灰数据缓冲区，那么一个或多个 DBWn 进程很可能无法继续下去。请增大缓冲区高速缓存的大小或调整 DBWn 进程。
写入请求数

## 写入请求数

由 DBWR 进程生成的 I/O 请求数

平均灰数据队列长度

## 平均灰数据队列长度

每个写入请求在 LRU 列表上遗留的平均灰数据块数

每个空闲请求的灰数据缓冲区数

## 每个空闲请求的灰数据缓冲区数

对于每个空闲请求找到的灰数据缓冲区数

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表采样周期内作为更新或删除操作的结果每秒对 SGA 中的所有块进行的更改数。此值是对全部数据库工作的一个粗略指示，正像它指示缓冲区被灰化的速率那样。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样周期结束和开始时的 'select value from v$sysstat where name='db block changes'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表采样周期内用户进程每秒应用回退条目对块执行持续读取的次数。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样周期结束和开始时的 'select value from v$sysstat where name='consistent changes'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/事务处理

## 物理读取数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的磁盘读取数。

#### 数据源

DeltaReads / Transactions
其中：

DeltaReads：采样周期结束和开始时的 'select value from v$sysstat where name=' physical reads'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

物理写入数/事务处理

## 物理写入数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的磁盘写入数。

#### 数据源

DeltaWrites / Transactions
其中：

DeltaWrites：采样周期结束和开始时的 'select value from v$sysstat where name=' physical writes'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

逻辑读取数/事务处理

## 逻辑读取数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的逻辑读取数。

#### 数据源

DeltaReads / Transactions
其中：

DeltaReads：采样周期结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

表扫描数 (长型)/事务处理

## 表扫描数 (长型)/事务处理

#### 说明

此数据项代表采样周期内每个事务处理的长表扫描数。如果某个表未被高速缓存而且其高水线标记大于 5 个块，则认为此表是“长型的”。

#### 数据源

DeltaScans / Transactions
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (long tables)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

表扫描数 (短型)/事务处理

## 表扫描数 (短型)/事务处理

#### 说明

此数据项代表采样周期内每个事务处理的短表扫描数。如果某个表被高速缓存而且其高水线标记小于 5 个块，则认为此表是“短型的”。

#### 数据源

DeltaScans / Transactions
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (short tables)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

表扫描行数/事务处理

## 表扫描行数/事务处理

每个事务处理的表扫描数

块更改数/事务处理

## 块更改数/事务处理

#### 说明

此数据项代表采样周期内作为更新或删除操作的结果每个事务处理对 SGA 中的所有块进行的更改数。此值是对全部数据库工作的一个粗略指示，正像它指示缓冲区被灰化的速率那样。

#### 数据源

DeltaBlockChanges / Transactions
其中：

DeltaBlockChanges：采样周期结束和开始时的 'select value from v$sysstat where name='db block changes'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

持续更改数/事务处理

## 持续更改数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理中用户进程应用回退条目对块执行持续读取的次数。

#### 数据源

DeltaConsistentChanges / Transactions
其中：

DeltaConsistentChanges：采样周期结束和开始时的 'select value from v$sysstat where name='consistent changes'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

网络字节数/事务处理

## 网络字节数/事务处理

每个事务处理的全部网络读取/写入

物理直接读取数/秒

## 物理直接读取数/秒

每秒从磁盘直接读取的数据块数

物理直接读取数/事务处理

## 物理直接读取数/事务处理

每个事务处理从磁盘直接读取的数据块数

重做大小/秒

## 重做大小/秒

#### 说明

此数据项代表此采样周期内每秒生成的重做大小 (字节)。

重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

#### 数据源

DeltaRedoSize / Seconds
其中：

DeltaRedoSize:采样周期结束和开始时的 'select value from v$sysstat where name='redo size'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

重做统计数据

# 重做统计数据

关于已更改数据块的处理的统计数据

此类包括下列图表：

重做日志统计数据

重做日志写入的平均大小

每秒的重做大小

重做分配条目

重做统计数据缺省图表
重做统计数据缺省图表

关于已更改数据块的处理的统计数据

重做写入的平均大小

## 重做写入的平均大小

#### 说明

此数据项代表此采样周期内每个重做写入操作写入磁盘的平均重做块数。

重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

日志写入器进程 (LGWR) 负责重做日志缓冲区的管理；即将重做日志缓冲区写入到磁盘上的重做日志文件中。

#### 数据源

DeltaRedoBlocksWritten / DeltaRedoWrites
其中：

DeltaRedoBlocksWritten：采样周期结束和开始时的 'select value from v$sysstat where name='redo blocks written'' 的差值
DeltaRedoWrites：采样周期结束和开始时的 'select value from v$sysstat where name='redo writes'' 的差值

#### 用户操作

重做条目数/秒

## 重做条目数/秒

#### 说明

此数据项代表此采样周期内每秒复制到重做日志缓冲区中的平均重做块数。

重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

#### 数据源

DeltaRedoEntries / Seconds
其中：

DeltaRedoEntries：采样周期结束和开始时的 'select value from v$sysstat where name='redo entries'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

重做日志空间请求数/秒

## 重做日志空间请求数/秒

#### 说明

此数据项代表每秒活动重做日志文件变满并且 Oracle Server 不得不等待为重做日志条目分配磁盘空间的次数。此空间是通过执行日志切换创建的。

重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

日志写入器进程 (LGWR) 负责重做日志缓冲区的管理；即将重做日志缓冲区写入到磁盘上的重做日志文件中。

相对于 SGA 的大小或工作量提交率而言，较小的日志文件会引起问题。当日志切换发生时，Oracle Server 必须确保在切换到一个新日志文件之前将所有提交的灰数据缓冲区写入到磁盘中。如果您有一个充满灰数据缓冲区和较小重做日志文件的较大 SGA，在继续进行之前日志切换必须等待数据库写入进程 (DBWR) 将灰数据缓冲区写入到磁盘中。这会降低吞吐量。

#### 数据源

DeltaRedoLogSpaceRequests / Seconds
其中：

DeltaRedoLogSpaceRequests：采样周期结束和开始时的 'select value from v$sysstat where name='redo log space requests'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

重做同步信号写入数/秒

## 重做同步信号写入数/秒

#### 说明

此数据项代表此采样周期内作为 COMMIT 的结果每秒将更改写入到磁盘中的次数。当用户发出 COMMIT 语句时，日志写入器进程 (LGWR) 在重做日志缓冲区中放入提交记录并立即将它与事务处理的重做条目一起写入到磁盘中。

#### 数据源

DeltaRedoLogSpaceRequests / Seconds
其中：

DeltaRedoLogSpaceRequests：采样周期结束和开始时的 'select value from v$sysstat where name='redo log space requests'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

写入的重做块数/秒

## 写入的重做块数/秒

#### 说明

此数据项代表此采样周期内每秒写入到重做日志文件中的平均块数。

重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

日志写入器进程 (LGWR) 负责重做日志缓冲区的管理；即将重做日志缓冲区写入到磁盘上的重做日志文件中。

#### 数据源

DeltaBlocksWritten / Seconds
其中：

DeltaBlocksWritten：采样周期结束和开始时的 'select value from v$sysstat where name='redo blocks written'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

重做写入数/秒

## 重做写入数/秒

#### 说明

此数据项代表此采样周期内每秒重做写入操作数。

重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

日志写入器进程 (LGWR) 负责重做日志缓冲区的管理；即将重做日志缓冲区写入到磁盘上的重做日志文件中。

#### 数据源

DeltaRedoWrites / Seconds
其中：

DeltaRedoWrites：采样周期结束和开始时的 'select value from v$sysstat where name='redo writes'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

重做大小/秒

## 重做大小/秒

#### 说明

此数据项代表此采样周期内每秒生成的重做大小 (字节)。

重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

#### 数据源

DeltaRedoSize / Seconds
其中：

DeltaRedoSize:采样周期结束和开始时的 'select value from v$sysstat where name='redo size'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

重做分配重试次数

## 重做分配重试次数

#### 说明

此数据项代表进程需要等待重做分配的次数。

#### 数据源

select value from v$sysstat where name='redo buffer allocation retries'

#### 用户操作

SQL

# SQL

SQL 语句的使用与误用

SQL 缺省图表
SQL 缺省图表

SQL 语句的使用与误用

等待此事件的会话

# 等待此事件的会话

等待特定事件的会话的会话统计数据

此类包括下列图表：

等待此事件的会话

等待此事件的会话的缺省图表
等待此事件的会话的缺省图表

等待特定事件的会话的会话统计数据

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间百分比

## 总的 CPU 时间百分比

#### 说明

此数据项代表此会话所使用的 CPU 时间百分比。

#### 数据源

(DeltaCpuTime / DeltaTotalCpuTime) * 100
其中：

DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaTotalCpuTime：采样周期结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

分析 CPU 百分比

## 分析 CPU 百分比

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaCpuTime) * 100
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 百分比

## 递归 CPU 百分比

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

(DeltaRecursiveTime / DeltaCpuTime) * 100
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 百分比

## 其他 CPU 百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaCpuTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaCpuTime) * 100
其中：

DeltaCpuTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaParseTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaRecursiveTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表在此采样周期内每秒以CURRENT 模式获得的块数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表此采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘读取比率

## 磁盘读取比率

#### 说明

此数据项代表此采样周期内从磁盘直接读取 (绕过缓冲区高速缓存) 的读取数百分比。例如，在高带宽、数据密集型操作 (如并行查询) 中，绕过缓冲区高速缓存的磁盘块读取使传输率达到最大，并防止驻留在缓冲区高速缓存中的共享数据块过早超龄。

#### 数据源

DeltaDirectReads / DeltaPhysicalReads
其中：

DeltaDirectReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads direct' and n.statistic#=s.statistic#' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。某些更改正在生成重做日志条目，如果事务处理被提交，它们将成为对数据库的永久更改。

此统计数据是数据库总工作的粗略指示。此统计数据表明缓冲区的灰化速率。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db block changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。产生大量持续更改的工作量可能消耗大量的资源。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表此采样周期内每秒转到磁盘的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序(与在磁盘上执行的排序相对)数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (rows)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/内存排序数比率

## 磁盘排序数/内存排序数比率

#### 说明

此数据项代表在此采样周期内在磁盘上执行的排序数(与在内存中执行的排序数相对)百分比。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / DeltaMemorySorts
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
磁盘排序数/排序行数的比率

## 磁盘排序数/排序行数的比率

执行到磁盘的排序数百分比

分析计数 (硬)/秒

## 分析计数 (硬)/秒

#### 说明

此数据项代表此采样周期内每秒的分析数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (hard)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
分析计数 (总计)/秒

## 分析计数 (总计)/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析花费的时间

## 分析花费的时间

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseElapsedTime
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值

#### 用户操作

UGA 内存

## UGA 内存

#### 说明

此数据项代表用于此会话的当前 UGA 大小。

#### 数据源

采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session uga memory' and n.statistic#=s.statistic#' 的差值

#### 用户操作

平均每次分析的等待时间

## 平均每次分析的等待时间

#### 说明

此数据项代表此采样周期内每个分析的平均等待时间 (秒)。

#### 数据源

((DeltaParseElapsedTime - DeltaParseCpuTime) / Seconds) / DeltaParseCount
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值
DeltaParseCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='execute count' and n.statistic#=s.statistic#'的差值
Seconds：采样周期内的秒数

#### 用户操作

序列号

## 序列号

会话序列号

DBWR 统计数据

# DBWR 统计数据

显示数据库写入器进程健康状况的统计数据

此类包括下列图表：

DBWR 空闲块统计数据

DBWR 扫描统计数据

DBWR 检查点

DBWR 统计数据缺省图表
DBWR 统计数据缺省图表

显示数据库写入器进程健康状况的统计数据

DBWR 发出空闲请求

## DBWR 发出空闲请求

#### 说明

此数据项代表此采样周期内每秒请求 DBWn 产生空闲缓冲区的次数。

数据库写入器进程 (DBWn) 将缓冲区的内容写入到数据文件中。DBWn 进程负责将数据库缓冲区高速缓存中的已修改 (灰的) 缓冲区写入到磁盘中。

当数据库缓冲区高速缓存中的缓冲区被修改时，它被标记为“灰的”。DBWn 进程的主要任务是通过将灰数据缓冲区写入到磁盘中来保持缓冲区高速缓存是“干净的”。随着用户进程使缓冲区变灰，空闲缓冲区数将减少。如果空闲缓冲区数减少到很小，必须将块从磁盘读取到高速缓存中的用户进程就找不到空闲缓冲区。DBWR 管理缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

当 Oracle Server 进程在扫描缓冲区数阈值后找不到干净的可重用缓冲区时，它将发出信号提示 DBWn 写入。当接收到增加空闲缓冲区的此请求时，DBWn 将最近最少使用 (LRU) 的缓冲区写入到磁盘中。通过将最近最少使用的灰数据缓冲区写入到磁盘中，DBWn 在保持最近使用的缓冲区驻留在内存中的同时提高查找空闲缓冲区的性能。例如，将属于频繁访问的小表或索引的块保存在高速缓存中，这样就无需重新从磁盘读入它们。LRU 算法将更频繁访问的块保存在缓冲区高速缓存中，这样当有缓冲区被写入磁盘时，它就不太可能包含很快可能会有用的数据。

另外，DBWn 定期写入缓冲区以提前检查点，检查点是重做日志中的一个位置，崩溃和例程恢复将需要从此位置开始。

#### 数据源

DeltaMakeFreeRequests / Seconds
其中：

DeltaMakeFreeRequests：采样结束和开始时的 'select value from v$sysstat where name='DBWR make free requests'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

从 Oracle 8.0 开始，DB_WRITER_PROCESSES 参数提供一种消除 DBWn 进程处 I/O 瓶颈的方法。DB_WRITER_PROCESSES 参数指定例程的起始 DBWn (从 DBW0 到 DBW9) 进程数。每个都是完全独立的进程，既执行“收集”阶段也执行“写入”阶段。每个其他的 DBWn 进程从数据库高速缓存中其自身专用的部分写入缓冲区。因此，从吞吐量的角度看，多重 DBWn 进程应该能够比具有多个 I/O 从进程的单个 DBWn 传送更多的 I/O。但是，仅在多处理器计算机上使用 DB_WRITER_PROCESSES 参数才是有益的。

另一种方法是启动 DBWn I/O 从进程以便分散跨多个从进程写入数据库缓冲区的负载，单个主 DBWn 进程进行数据“收集”，多个从进程进行写入。因为 I/O 从进程不是串行地写入，即使只有一个 CPU 时也是如此，所以在单个 CPU 系统上具有多个 I/O 从进程可以是有用的。

一般说来，除非明显存在数据库写入器瓶颈，否则不应该使用 DBWR_IO_SLAVES 或 DB_WRITER_PROCESSES。
已找到的 DBWR 空闲缓冲区

## 已找到的 DBWR 空闲缓冲区

#### 说明

此数据项代表此采样周期内当 DBWn 被请求产生空闲缓冲区时每秒找到的干净缓冲区数。

数据库写入器进程 (DBWn) 将缓冲区的内容写入到数据文件中。DBWn 进程负责将数据库缓冲区高速缓存中的已修改 (灰的) 缓冲区写入到磁盘中。

当数据库缓冲区高速缓存中的缓冲区被修改时，它被标记为“灰的”。DBWn 进程的主要任务是通过将灰数据缓冲区写入到磁盘中来保持缓冲区高速缓存是“干净的”。随着用户进程使缓冲区变灰，空闲缓冲区数将减少。如果空闲缓冲区数减少到很小，必须将块从磁盘读取到高速缓存中的用户进程就找不到空闲缓冲区。DBWR 管理缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

当 Oracle Server 进程在扫描缓冲区数阈值后找不到干净的可重用缓冲区时，它将发出信号提示 DBWn 写入。当接收到增加空闲缓冲区的此请求时，DBWn 将最近最少使用 (LRU) 的缓冲区写入到磁盘中。通过将最近最少使用的灰数据缓冲区写入到磁盘中，DBWn 在保持最近使用的缓冲区驻留在内存中的同时提高查找空闲缓冲区的性能。例如，将属于频繁访问的小表或索引的块保存在高速缓存中，这样就无需重新从磁盘读入它们。LRU 算法将更频繁访问的块保存在缓冲区高速缓存中，这样当有缓冲区被写入磁盘时，它就不太可能包含很快可能会有用的数据。

另外，DBWn 定期写入缓冲区以提前检查点，检查点是重做日志中的一个位置，崩溃和例程恢复将需要从此位置开始。

#### 数据源

DeltaFreeBuffers / Seconds
其中：

DeltaFreeBuffers：采样结束和开始时的 'select value from v$sysstat where name='DBWR free buffers found'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

DBWR LRU 扫描次数

## DBWR LRU 扫描次数

#### 说明

此数据项代表此采样周期内每秒 DBWn 扫描 LRU 队列以寻找要写入的缓冲区的次数。此值还包括扫描用于填充为另一个目的 (如检查点) 而编写的批处理的次数。

数据库写入器进程 (DBWn) 将缓冲区的内容写入到数据文件中。DBWn 进程负责将数据库缓冲区高速缓存中的已修改 (灰的) 缓冲区写入到磁盘中。

当数据库缓冲区高速缓存中的缓冲区被修改时，它被标记为“灰的”。DBWn 进程的主要任务是通过将灰数据缓冲区写入到磁盘中来保持缓冲区高速缓存是“干净的”。随着用户进程使缓冲区变灰，空闲缓冲区数将减少。如果空闲缓冲区数减少到很小，必须将块从磁盘读取到高速缓存中的用户进程就找不到空闲缓冲区。DBWR 管理缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

当 Oracle Server 进程在扫描缓冲区数阈值后找不到干净的可重用缓冲区时，它将发出信号提示 DBWn 写入。当接收到增加空闲缓冲区的此请求时，DBWn 将最近最少使用 (LRU) 的缓冲区写入到磁盘中。通过将最近最少使用的灰数据缓冲区写入到磁盘中，DBWn 在保持最近使用的缓冲区驻留在内存中的同时提高查找空闲缓冲区的性能。例如，将属于频繁访问的小表或索引的块保存在高速缓存中，这样就无需重新从磁盘读入它们。LRU 算法将更频繁访问的块保存在缓冲区高速缓存中，这样当有缓冲区被写入磁盘时，它就不太可能包含很快可能会有用的数据。

另外，DBWn 定期写入缓冲区以提前检查点，检查点是重做日志中的一个位置，崩溃和例程恢复将需要从此位置开始。

#### 数据源

DeltaLRUScans / Seconds
其中：

DeltaLRUScans：采样结束和开始时的 'select value from v$sysstat where name='DBWR lru scans'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

DBWR 总计的扫描深度

## DBWR 总计的扫描深度

#### 说明

此数据项代表此采样周期内 DBWn 每次扫描 LRU 以寻找灰数据缓冲区时的每秒总计的扫描深度。

数据库写入器进程 (DBWn) 将缓冲区的内容写入到数据文件中。DBWn 进程负责将数据库缓冲区高速缓存中的已修改 (灰的) 缓冲区写入到磁盘中。

当数据库缓冲区高速缓存中的缓冲区被修改时，它被标记为“灰的”。DBWn 进程的主要任务是通过将灰数据缓冲区写入到磁盘中来保持缓冲区高速缓存是“干净的”。随着用户进程使缓冲区变灰，空闲缓冲区数将减少。如果空闲缓冲区数减少到很小，必须将块从磁盘读取到高速缓存中的用户进程就找不到空闲缓冲区。DBWR 管理缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

当 Oracle Server 进程在扫描缓冲区数阈值后找不到干净的可重用缓冲区时，它将发出信号提示 DBWn 写入。当接收到增加空闲缓冲区的此请求时，DBWn 将最近最少使用 (LRU) 的缓冲区写入到磁盘中。通过将最近最少使用的灰数据缓冲区写入到磁盘中，DBWn 在保持最近使用的缓冲区驻留在内存中的同时提高查找空闲缓冲区的性能。例如，将属于频繁访问的小表或索引的块保存在高速缓存中，这样就无需重新从磁盘读入它们。LRU 算法将更频繁访问的块保存在缓冲区高速缓存中，这样当有缓冲区被写入磁盘时，它就不太可能包含很快可能会有用的数据。

另外，DBWn 定期写入缓冲区以提前检查点，检查点是重做日志中的一个位置，崩溃和例程恢复将需要从此位置开始。

#### 数据源

DeltaSumScanDepth / Seconds
其中：

DeltaSumScanDepth：采样结束和开始时的 'select value from v$sysstat where name='DBWR summed scan dept'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

DBWR 已扫描的缓冲区数

## DBWR 已扫描的缓冲区数

#### 说明

此数据项代表此采样周期内当 DBWn 扫描 LRU 队列以寻找要写入的缓冲区时 DBWn 每秒检查的缓冲区 (干净的和灰的) 数。

数据库写入器进程 (DBWn) 将缓冲区的内容写入到数据文件中。DBWn 进程负责将数据库缓冲区高速缓存中的已修改 (灰的) 缓冲区写入到磁盘中。

当数据库缓冲区高速缓存中的缓冲区被修改时，它被标记为“灰的”。DBWn 进程的主要任务是通过将灰数据缓冲区写入到磁盘中来保持缓冲区高速缓存是“干净的”。随着用户进程使缓冲区变灰，空闲缓冲区数将减少。如果空闲缓冲区数减少到很小，必须将块从磁盘读取到高速缓存中的用户进程就找不到空闲缓冲区。DBWR 管理缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

当 Oracle Server 进程在扫描缓冲区数阈值后找不到干净的可重用缓冲区时，它将发出信号提示 DBWn 写入。当接收到增加空闲缓冲区的此请求时，DBWn 将最近最少使用 (LRU) 的缓冲区写入到磁盘中。通过将最近最少使用的灰数据缓冲区写入到磁盘中，DBWn 在保持最近使用的缓冲区驻留在内存中的同时提高查找空闲缓冲区的性能。例如，将属于频繁访问的小表或索引的块保存在高速缓存中，这样就无需重新从磁盘读入它们。LRU 算法将更频繁访问的块保存在缓冲区高速缓存中，这样当有缓冲区被写入磁盘时，它就不太可能包含很快可能会有用的数据。

另外，DBWn 定期写入缓冲区以提前检查点，检查点是重做日志中的一个位置，崩溃和例程恢复将需要从此位置开始。

#### 数据源

DeltaSumScanDepth / Seconds
其中：

DeltaSumScanDepth：采样结束和开始时的 'select value from v$sysstat where name='DBWR buffers scanned'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

DBWR 检查点

## DBWR 检查点

#### 说明

此数据项代表此采样周期内每秒要求 DBWn 扫描高速缓存并写入所有为检查点标记的块的次数。

数据库写入器进程 (DBWn) 将缓冲区的内容写入到数据文件中。DBWn 进程负责将数据库缓冲区高速缓存中的已修改 (灰的) 缓冲区写入到磁盘中。

当数据库缓冲区高速缓存中的缓冲区被修改时，它被标记为“灰的”。DBWn 进程的主要任务是通过将灰数据缓冲区写入到磁盘中来保持缓冲区高速缓存是“干净的”。随着用户进程使缓冲区变灰，空闲缓冲区数将减少。如果空闲缓冲区数减少到很小，必须将块从磁盘读取到高速缓存中的用户进程就找不到空闲缓冲区。DBWR 管理缓冲区高速缓存以便用户进程总是能够找到空闲缓冲区。

当 Oracle Server 进程在扫描缓冲区数阈值后找不到干净的可重用缓冲区时，它将发出信号提示 DBWn 写入。当接收到增加空闲缓冲区的此请求时，DBWn 将最近最少使用 (LRU) 的缓冲区写入到磁盘中。通过将最近最少使用的灰数据缓冲区写入到磁盘中，DBWn 在保持最近使用的缓冲区驻留在内存中的同时提高查找空闲缓冲区的性能。例如，将属于频繁访问的小表或索引的块保存在高速缓存中，这样就无需重新从磁盘读入它们。LRU 算法将更频繁访问的块保存在缓冲区高速缓存中，这样当有缓冲区被写入磁盘时，它就不太可能包含很快可能会有用的数据。

另外，DBWn 定期写入缓冲区以提前检查点，检查点是重做日志中的一个位置，崩溃和例程恢复将需要从此位置开始。

#### 数据源

DeltaCheckpoints / Seconds
其中：

DeltaCheckpoints：采样结束和开始时的 'select value from v$sysstat where name='DBWR checkpoints'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲池

# 缓冲池

当前在 SGA 中的块数

此类包括下列图表：

缓冲池

缓冲池缺省图表
缓冲池缺省图表

当前在 SGA 中的块数

块计数

## 块计数

块数

相异块计数

## 相异块计数

具有不同文件序号或块序号的块的数目

初始化参数

# 初始化参数

此例程的初始化参数

此类包括下列图表：

游标例程参数

SGA 中的 DB 块数

重做日志缓冲区大小

LRU 栓锁计数

缓冲池参数

定时统计数据

排序区域的大小

初始化参数缺省图表
初始化参数缺省图表

此例程的初始化参数

DB_BLOCK_BUFFERS

## DB_BLOCK_BUFFERS

#### 说明

DB_BLOCK_BUFFERS 指定在缓冲区高速缓存中可用的数据库缓冲区数。它是导致例程上的 SGA 的内存总需求的主要参数之一。

DB_BLOCK_BUFFERS 参数与 DB_BLOCK_SIZE 参数一起确定缓冲区高速缓存的总大小。缓冲区高速缓存的有效使用可以大大减少数据库上的 I/O 负载。因为只能在第一次创建数据库时指定 DB_BLOCK_SIZE，所以请使用 DB_BLOCK_BUFFERS 来控制缓冲区高速缓存的大小。

在启用并行服务器时此参数将影响数据块被强制回应的概率：缓冲区越多，强制回应的机会就越多。

#### 数据源

select value from v$parameter where name='db_block_buffers'

#### 用户操作

BUFFER_POOL_KEEP

## BUFFER_POOL_KEEP

#### 说明

BUFFER_POOL_KEEP 用来定义 KEEP 缓冲池的大小。KEEP 缓冲池用来维持缓冲区高速缓存中的对象。为 KEEP 缓冲池指定了以下两个属性：缓冲池中的缓冲区数和分配给此缓冲池的 LRU 栓锁数。

KEEP 缓冲池的目标是将对象保留在内存中，从而避免 I/O 操作。因此 KEEP 缓冲池的大小取决于您希望在缓冲区高速缓存中保存的对象。通过累加专用于此缓冲池的所有对象的大小，您就可以计算出 KEEP 缓冲池的近似大小。

要放入 KEEP 缓冲池的最佳侯选段是小于 DEFAULT 缓冲池大小的 10% 并至少引起系统中总 I/O 的 1% 的段。

#### 数据源

select value from v$parameter where name='buffer_pool_keep'

#### 用户操作

DB_BLOCK_LRU_LATCHES

## DB_BLOCK_LRU_LATCHES

#### 说明

DB_BLOCK_LRU_LATCHES 指定 LRU 栓锁集数的上限。将此参数设置为一个等于所需 LRU 栓锁集数的值。Oracle Server 决定是使用此值还是基于很多内部检查而减小它。如果未设置此参数，Oracle 将为集数计算一个值。Oracle Server 计算的值通常是合适的。只有在 V$LATCH 中丢失数大于 3% 时才增大此值。

#### 数据源

select value from v$parameter where name='db_block_lru_latches'

#### 用户操作

BUFFER_POOL_RECYCLE

## BUFFER_POOL_RECYCLE

#### 说明

BUFFER_POOL_RECYCLE 用来定义 RECYCLE 缓冲池的大小。RECYCLE 缓冲池用来阻止对象消耗高速缓存中的不必要的空间。为 RECYCLE 缓冲池指定了以下两个属性：缓冲池中的缓冲区数和分配给此缓冲池的 LRU 栓锁数。

RECYCLE 缓冲池的目标是一旦不再需要块就将这些块从内存中清除出去。如果应用程序以随机方式访问很大对象的块，则在超龄释放之前重用存储在缓冲池中的块的机会很小。不管缓冲池的大小是多少，这都是正确的。由于此原因，不应该将此对象的块存入高速缓存；可以将那些高速缓存缓冲区分配给其他对象。

但是，注意不要太快地将块从内存中丢弃。如果缓冲池太小，则在事务处理或 SQL 语句完成求值之前块可能从高速缓存中超龄释放。

要放入 KEEP 缓冲池的最佳侯选段是小于 DEFAULT 缓冲池大小的 10% 并至少引起系统中总 I/O 的 1% 的段。

#### 数据源

select value from v$parameter where name='buffer_pool_recycle'

#### 用户操作

LOG_BUFFER

## LOG_BUFFER

#### 说明

LOG_BUFFER 指定重做日志缓冲区大小 (字节)重做日志缓冲区是 SGA 中的一个循环缓冲区，持有关于对数据库进行的更改的信息。此信息存储在重做条目中。重做条目包含重新构造 (或重做) 由 INSERT，UPDATE，DELETE，CREATE，ALTER 或 DROP 操作对数据库进行的更改所必需的信息。 如果有必要，重做条目将用于数据库的恢复。

一般说来，较大的 LOG_BUFFER 值会减少重做日志文件 I/O，尤其是如果事务处理较长或很多。

#### 数据源

select value from v$parameter where name='log_buffer'

#### 用户操作

CURSOR_SPACE_FOR_TIME

## CURSOR_SPACE_FOR_TIME

#### 说明

CURSOR_SPACE_FOR_TIME 指定是否可以从库高速缓存中回收共享 SQL 区域以便为新的 SQL 语句腾出空间。

如果此参数的值为假，则可以从库高速缓存中回收共享 SQL 区域，不管与其 SQL 语句相关联的应用程序游标是否打开。在这种情况下，Oracle Server 必须验证包含此语句的共享 SQL 区域在库高速缓存中。

如果此参数的值为假，只有关闭所有与其语句相关联的应用程序游标才能回收共享 SQL 区域。在这种情况下，因为在与共享 SQL 区域相关联的应用程序游标打开的同时永远不会回收共享 SQL 区域，所以 Oracle Server 不需要验证共享 SQL 区域在高速缓存中。

将此参数的值设置为真将节省 Oracle Server 的少量时间并可能稍微提高执行调用的性能。

但是，如果您已经发现执行调用的库高速缓存丢失，则不应将它设置为真。这样的库高速缓丢失表明共享池不是足够大，从而难以容纳所有并发打开游标的共享 SQL 区域。如果此值为真并且共享池没有用于新 SQL 语句的空间，则不能分析此语句，Oracle Server 返回错误，声明已经没有共享内存了。如果此值为假并且没有新语句的空间，Oracle Server 将回收一个现有的共享 SQL 区域。虽然回收共享 SQL 区域以后将导致库高速缓存丢失，但是这比因不能分析 SQL 语句而引起的停止应用程序的错误更可取。

此外，如果为每个用户提供专用 SQL 区域的可用内存不足，则不要将 CURSOR_SPACE_FOR_TIME 设置为真。此值还阻止与打开游标相关联的专用 SQL 区域的回收。如果所有并发打开游标的专用 SQL 区域填满用户的可用内存以致于没有可以为新 SQL 语句分配专用 SQL 区域的空间，则不能分析此语句，Oracle Server 返回表明没有足够内存的错误。

#### 数据源

select value from v$parameter where name='cursor_space_for_time'

#### 用户操作

SESSION_CACHED_CURSORS

## SESSION_CACHED_CURSORS

#### 说明

如果一个应用程序反复发出对同一组 SQL 语句的分析调用，则会话游标的重新打开可能影响系统性能。可以将会话游标存储在会话游标高速缓存中。此功能对于使用 Oracle Forms 设计的应用程序尤其有用，因为从一个表格切换到另一个表格会关闭与第一个表格相关联的所有会话游标。

Oracle Server 使用共享的 SQL 区域来确定是否对给定语句发出了多于三个分析请求。如果是这样，Oracle Server 将假定与此语句相关联的会话游标应该被存入高速缓存并将游标移动到会话游标高速缓存中。然后借助同一会话分析该 SQL 语句的随后请求将在会话游标高速缓存中找到游标。

要启用将会话游标存入高速缓存，请使用 SESSION_CACHED_CURSORS 来指定保存在高速缓存中的最大会话游标数。最近最少使用 (LRU) 算法在需要时删除会话游标高速缓存中的条目以便为新条目腾出空间。

要确定会话游标高速缓存对于您的例程是否足够大，您可以检查 V$SESSTAT 视图中的会话统计数据“会话游标高速缓存命中数”。此统计数据对分析调用在会话游标高速缓存中找到游标的次数进行计数。如果此统计数据是此会话的分析调用总数的较小百分比，您就应该考虑将 SESSION_CACHED_CURSORS 设置为一个较大的值。

#### 数据源

select value from v$parameter where name='session_cached_cursors'

#### 用户操作

OPEN_CURSORS

## OPEN_CURSORS

#### 说明

OPEN_CURSORS 定义会话可以一次拥有的最大打开游标数。如果一个会话达到此极限，将返回 MAX OPEN CURSORS EXCEEDED 错误消息。

OPEN_CURSORS 还定义例程的 PL/SQL 游标高速缓存的大小。PL/SQL 保存从 PL/SQL 内执行的打开游标的高速缓存。如果游标仍然在高速缓存中，下次用户执行它时，就可以直接使用它。否则，必须对它进行重新分析等操作。PL/SQL 游标高速缓存的大小等于 OPEN_CURSORS 减去用户已经直接打开的游标数。

#### 数据源

select value from v$parameter where name='open_cursors'

#### 用户操作

TIMED_STATISTICS

## TIMED_STATISTICS

#### 说明

TIMED_STATISTICS 允许定时统计数据的收集。

#### 数据源

select value from v$parameter where name='timed_statistics'

#### 用户操作

SORT_AREA_SIZE

## SORT_AREA_SIZE

#### 说明

SORT_AREA_SIZE 定义排序期间用户进程可用的内存大小 (字节)。它是按用户从可用内存中分配的。

当用户执行要求排序的数据库操作时，要排序的信息被加载到用户的 PGA 内存中。当要排序的数据总量小于 SORT_AREA_SIZE 时，排序全部在内存中完成。

如果数据总量超过 SORT_AREA_SIZE，则执行磁盘排序。磁盘排序处理在排序运行中要排序的数据的 SORT_AREA_SIZE 子集。作为临时段将每次排序运行都写入到磁盘中。

#### 数据源

select value from v$parameter where name='sort_area_size'

#### 用户操作

SORT_AREA_RETAINED_SIZE

## SORT_AREA_RETAINED_SIZE

#### 说明

SORT_AREA_RETAINED_SIZE 定义在最后一次排序运行完成之后 Oracle Server 将排序区域内存分配减小到的大小 (字节)保留大小参数控制用来维持内存中已排序信息部分的读取缓冲区的大小。如果进程需要执行多个并发排序，则每个排序被给予 SORT_AREA_RETAINED_SIZE 的内存分配。

在排序处理期间 Oracle Server 使用由 SORT_AREA_SIZE 确定的内存大小。一旦所有的信息都被排序并且第一次提取已经完成，如果保留大小小于排序区域大小，Oracle Server 就会将所有的排序运行合并为单个运行，并将排序内存减小到保留大小。

#### 数据源

select value from v$parameter where name='sort_area_retained_size'

#### 用户操作

表空间

# 表空间

所有表空间中的空闲空间概览

此类包括下列图表：

每个表空间的数据文件计数

每个表空间的状态

每个表空间的块计数

每个表空间的空闲空间 (%)

每个表空间的空闲空间 (Kb)

每个表空间的可用扩展块数

表空间缺省图表
表空间缺省图表

所有表空间中的空闲空间概览

数据文件计数

## 数据文件计数

#### 说明

此数据项代表此表空间中的数据文件数。

#### 数据源

select count(*) from dba_data_files where tablespace_name='name'

#### 用户操作

总块数

## 总块数

#### 说明

此数据项代表此表空间的总大小 (以块为单位)。

#### 数据源

select sum(blocks) from dba_data_files where tablespace_name='name'

#### 用户操作

空闲块数

## 空闲块数

#### 说明

此数据项代表此表空间的空闲空间总大小 (以块为单位)。随着表空间内的段的增长，该表空间内的空闲空间将减小。如果空闲空间变得不足，创建新段或扩展现有段的操作将失败。

#### 数据源

select sum(blocks) from dba_free_space where tablespace_name='name'

#### 用户操作

如果空闲空间不足，请通过启用其数据文件之一的自动扩展，手动调整其数据文件之一的大小，或者添加新的数据文件来增加表空间的大小。
空闲空间 (KB)

## 空闲空间 (KB)

#### 说明

此数据项代表此表空间的空闲空间总大小 (KB)。随着表空间内的段的增长，该表空间内的空闲空间将减小。如果空闲空间变得不足，创建新段或扩展现有段的操作将失败。

#### 数据源

select sum(bytes)/1024 from dba_free_space where tablespace_name='name'

#### 用户操作

如果空闲空间不足，请通过启用其数据文件之一的自动扩展，手动调整其数据文件之一的大小，或者添加新的数据文件来增加表空间的大小。
空闲空间 (%)

## 空闲空间 (%)

#### 说明

此数据项代表此表空间的空闲空间 (以块为单位) 百分比。随着表空间内的段的增长，该表空间内的空闲空间将减小。如果空闲空间变得不足，创建新段或扩展现有段的操作将失败。

#### 数据源

(FreeBlocks / TotalBlocks) * 100
其中：

FreeBlocks：select sum(blocks) from dba_free_space where tablespace_name='name'
TotalBlocks：select sum(blocks) from dba_data_files where tablespace_name='name'

#### 用户操作

如果空闲空间不足，请通过启用其数据文件之一的自动扩展，手动调整其数据文件之一的大小，或者添加新的数据文件来增加表空间的大小。
总限额块数

## 总限额块数

#### 说明

此数据项代表此表空间中当前正在被所有用户使用的总块数。

#### 数据源

select sum(blocks) from dba_ts_quotas where tablespace_name='name'

#### 用户操作

状态

## 状态

#### 说明

此数据项表明此表空间的状态；例如，此表空间是联机，脱机，还是只读。

#### 数据源

select status from dba_tablespaces where tablespace_name='name'

#### 用户操作

可用的扩展块数

## 可用的扩展块数

#### 说明

此数据项代表此表空间中的可用扩展块数。

#### 数据源

select count(*) from dba_free_space where tablespace_name='name'

#### 用户操作

已用块数

## 已用块数

#### 说明

此数据项代表此表空间已使用块的总数。

#### 数据源

(TotalBlocks - FreeBlocks)
其中：

TotalBlocks：select sum(blocks) from dba_data_files where tablespace_name='name'
FreeBlocks：select sum(blocks) from dba_free_space where tablespace_name='name'

#### 用户操作

数据字典

# 数据字典

显示字典高速缓存的丢失百分比。

此类包括下列图表：

数据字典丢失百分比

数据字典命中/丢失比率

数据字典缺省图表
数据字典缺省图表

显示字典高速缓存的丢失百分比。

丢失百分比

## 丢失百分比

#### 说明

此数据项代表字典高速缓存的效率，由请求数占尚未在内存中的字典数据的百分比来度量。确定数据字典上的丢失是否确实在影响 Oracle Server 的性能是很重要的。

共享池是 SGA 中的一个区域，它包含专用于特定例程配置的共享 SQL 请求库高速缓存、字典高速缓存和其他高速缓存结构。

数据字典高速缓存上的丢失在某些情况下是可预见的。在例程启动时，数据字典高速缓存不含有任何数据，因此发出的任何 SQL 语句都可能导致高速缓存缺失。随着更多的数据被写入到高速缓存中，高速缓存缺失的可能性应该降低。最后数据库应该达到一个“稳定状态”，在此状态下，最频繁使用的字典数据将在高速缓存中。此时几乎不会发生高速缓存丢失。要优化高速缓存，请仅在您的应用程序已经运行之后检查它的活动情况。

#### 数据源

(Misses/Gets) * 100
其中：

Misses：select sum(getmisses) from v$rowcache
Gets：select sum(gets) from v$rowcache

#### 用户操作

如果丢失数百分比超过 10% 到 15%，为了减少从共享池中清除字典数据以便为新数据腾出空间的频率，请考虑增大 SHARED_POOL_SIZE。要增加高速缓存可用的内存，请增大初始化参数 SHARED_POOL_SIZE 的值。
获取数/秒

## 获取数/秒

#### 说明

此数据项代表此采样周期内每秒对来自数据字典对象的信息的请求总数。

#### 数据源

DeltaGets / Seconds
其中：

DeltaGets：采样结束和开始时的 'select sum(gets) from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

丢失数/秒

## 丢失数/秒

#### 说明

此数据项代表此采样周期内每秒对来自导致高速缓存缺失的数据字典对象的信息的请求总数。

#### 数据源

DeltaMisses / Seconds
其中：

DeltaMisses：采样结束和开始时的 'select sum(getmisses) from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

数据字典详细信息

# 数据字典详细信息

数据字典的详细统计数据

此类包括下列图表：

每个高速缓存的数据字典条目计数

每个高速缓存的数据字典丢失速率

数据字典缺省图表
数据字典详细信息缺省图表

数据字典的详细统计数据

高速缓存中的条目

## 高速缓存中的条目

#### 说明

此数据项代表数据字典高速缓存中的条目总数。

#### 数据源

select count from v$rowcache

#### 用户操作

丢失数/秒

## 丢失数/秒

#### 说明

此数据项代表此采样周期内每秒对来自导致高速缓存缺失的数据字典对象的信息的请求总数。

#### 数据源

DeltaMisses / Seconds
其中：

DeltaMisses：采样结束和开始时的 'select sum(getmisses) from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

有效条目

## 有效条目

#### 说明

此数据项代表数据字典高速缓存中包含有效数据的条目总数。

#### 数据源

select usage from v$rowcache

#### 用户操作

获取数/秒

## 获取数/秒

#### 说明

此数据项代表此采样周期内每秒对来自数据字典对象的信息的请求总数。

#### 数据源

DeltaGets / Seconds
其中：

DeltaGets：采样结束和开始时的 'select sum(gets) from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

扫描数/秒

## 扫描数/秒

#### 说明

此数据项代表此采样周期内每秒扫描请求数。

#### 数据源

DeltaScans / Seconds
其中：

DeltaScans：采样结束和开始时的 'select scans from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

扫描丢失数/秒

## 扫描丢失数/秒

#### 说明

此数据项代表此采样周期内每秒在高速缓存中未能找到数据的扫描请求数。

#### 数据源

DeltaScanMisses / Seconds
其中：

DeltaScanMisses：采样结束和开始时的 'select scanmisses from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

完全扫描数/秒

## 完全扫描数/秒

#### 说明

此数据项代表此采样周期内每秒列表被完全扫描的次数。

#### 数据源

DeltaScanCompletes / Seconds
其中：

DeltaScanCompletes：采样结束和开始时的 'select scancompletes from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

修改数/秒

## 修改数/秒

#### 说明

此数据项代表此采样周期内每秒的插入、更新和删除数。

#### 数据源

DeltaModifications / Seconds
其中：

DeltaModifications：采样结束和开始时的 'select modifications from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

清除数/秒

## 清除数/秒

#### 说明

此数据项代表此采样周期内每秒将数据清除到磁盘上的次数。

#### 数据源

DeltaFlushes / Seconds
其中：

DeltaFlushes：采样结束和开始时的 'select flushes from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

DLM_Requests/秒

## DLM_Requests/秒

#### 说明

此数据项代表此采样周期内每秒的 DLM 请求数。

#### 数据源

DeltaRequests / Seconds
其中：

DeltaRequests：采样结束和开始时的 'select dlm_requests from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

DLM_Conflicts/秒

## DLM_Conflicts/秒

#### 说明

此数据项代表此采样周期内每秒 DLM 冲突数。

#### 数据源

DeltaConflicts / Seconds
其中：

DeltaConflicts：采样结束和开始时的 'select dlm_conflicts from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

DLM_Releases/秒

## DLM_Releases/秒

#### 说明

此数据项代表此采样周期内每秒 DLM 释放数。

#### 数据源

DeltaReleases / Seconds
其中：

DeltaReleases：采样结束和开始时的 'select dlm_releases from v$rowcache' 的差值
Seconds：采样周期内的秒数

#### 用户操作

来自等待事件的 SQL

# 来自等待事件的 SQL

当前等待事件的 SQL

此类包括下列图表：

等待此事件的 SQL 语句

来自等待事件的 SQL 的缺省图表
来自等待事件的 SQL 的缺省图表

当前等待事件的 SQL

SQL 文本

## SQL 文本

#### 说明

此数据项包括当前游标的 SQL 文本的前八十个字符。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

select disk_reads from v$sqlarea

#### 用户操作

缓冲区获取数

## 缓冲区获取数

#### 说明

此数据项代表高速缓存中的缓冲区满足的读取请求数。换句话说，它的值就是此语句的所有执行所读取的总块数。

#### 数据源

select buffer_gets from v$sqlarea

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表在此采样周期内每秒执行此语句的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaExecutions：采样结束和开始时的 'select executions from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析调用数/秒

## 分析调用数/秒

#### 说明

此数据项代表此采样周期内每秒分析此语句的次数。

#### 数据源

DeltaParseCalls / Seconds
其中：

DeltaParseCalls：采样结束和开始时的 'select parse_calls from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内此语句每秒执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲区获取数/秒

## 缓冲区获取数/秒

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区每秒满足的此语句的读取请求数。

#### 数据源

DeltaBufferGets / Seconds
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

处理的行数/秒

## 处理的行数/秒

#### 说明

此数据项代表在此采样周期内为完成此语句每秒处理的总行数。

#### 数据源

DeltaRowsProcessed / Seconds
其中：

DeltaRowsProcessed：采样结束和开始时的 'select rows_processed from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

可共享内存总计

## 可共享内存总计

#### 说明

此数据项代表此语句所使用的全部可共享内存的总和 (字节)。

#### 数据源

select sharable_mem from v$sqlarea

#### 用户操作

永久内存总计

## 永久内存总计

#### 说明

此数据项代表此语句所使用的全部永久内存的总和 (字节)。

#### 数据源

select persistent_mem from v$sqlarea

#### 用户操作

运行时内存

## 运行时内存

#### 说明

此数据项代表当前此语句所使用的全部内存的总和 (字节)。

#### 数据源

select runtime_mem from v$sqlarea

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$sqlarea

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$sqlarea

#### 用户操作

物理读取数百分比

## 物理读取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的物理读取总数百分比。

#### 数据源

DeltaPhysicalReads / DeltaTotalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select sum(disk_reads) from v$sql' 的差值
DeltaTotalReads：采样结束和开始时的 'select value from v$sysstat where name='physical reads'' 的差值

#### 用户操作

缓冲区获取数百分比

## 缓冲区获取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的缓冲区获取总数百分比。

#### 数据源

DeltaBufferGets / DeltaTotalGets
其中：

DeltaBufferGets：采样结束和开始时的 'select sum(buffer_gets) from v$sql' 的差值
DeltaTotalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值

#### 用户操作

回退统计数据

# 回退统计数据

回退段标题访问统计数据。

此类包括下列图表：

回退无等待百分比

回退段统计数据缺省图表
回退段统计数据缺省图表

回退段标题访问统计数据。

回退无等待百分比

## 回退无等待百分比

#### 说明

对回退段的争用反映在对包含回退段块的缓冲区的争用上。此数据项代表访问回退段标题时无等待次数的百分比。此值应大于 99%。

回退段是记录事务处理操作的数据库的一部分，以备回退事务处理时使用。回退段用于提供读一致性、支持回退事务处理以及恢复数据库。

正确分配回退段有助于获得最佳的数据库性能。使用足够多的回退段可以跨许多段分布回退段争用并提高性能。

#### 数据源

((DeltaGets - DeltaWaits) / DeltaGets) * 100
其中：

DeltaGets：采样结束和开始时的 'select sum(gets) from v$rollstat' 的差值
DeltaWaits：采样结束和开始时的 'select sum(waits) from v$rollstat' 的差值

#### 用户操作

要减少对包含回退段块的缓冲区的争用，请创建额外的回退段。用于选择分配多少回退段的一般准则是，根据数据库上并发活动事务处理的数量和类型来决定。为每 10 个并发 OLTP (联机事务处理) 事务处理分配一个回退段，为每个并发批处理作业分配一个回退段。

另外，当创建回退段时，请使回退段中的区大小与 NEXT=INITIAL 处所指定的 STORAGE 参数的大小相同。

还建议您将 MINEXTENTS 参数的值设置为 20。因为在逻辑上回退段被视为区的循环队列，所以要求它们的 MINEXTENTS 值至少为 2。回退段要求分配新区的可能性取决于后续的区包含活动重做的可能性。回退段拥有的区越多，回退段要求分配区的可能性就越小，要求分配新区的情况是可以避免的。管理员应该创建带有许多区的回退段。当然存在一个收益递减点。随着区数的增加，需要扩展回退段的可能性有一个快速下降。如果超过 20 个区，则所增加的扩展回退段可能性的降低已无法与附加区的成本相比。
用户事件

# 用户事件

每个活动用户等待的事件的列表。

此类包括下列图表：

每个用户等待事件的时间

每个用户的等待事件计数

用户事件缺省图表
用户事件缺省图表

每个活动用户等待的事件的列表。

等待时间

## 等待时间

#### 说明

此数据项代表此采样周期内等待此事件所耗费的时间 (秒)。

#### 数据源

DeltaWaitTime
其中：

DeltaWaitTime：周期结束和开始时的 'select sum(time_waited) from v$session_event' 的差值

#### 用户操作

等待数

## 等待数

#### 说明

此数据项代表此采样周期内等待此事件的次数。

#### 数据源

DeltaWaits
其中：

DeltaWaits：周期结束和开始时的 'select sum(total_waits) from v$session_event' 的差值

#### 用户操作

超时次数

## 超时次数

#### 说明

此数据项代表此采样周期内此事件的超时次数。

#### 数据源

DeltaTimeouts
其中：

DeltaTimeouts：周期结束和开始时的 'select sum(total_timeouts) from v$session_event' 的差值

#### 用户操作

用户缓冲区忙

# 用户缓冲区忙

用户缓冲区忙缺省图表
用户缓冲区忙缺省图表

块序号

## 块序号

等待类型

## 等待类型

会话 Id

## 会话 Id

段名

## 段名

所有者

## 所有者

用户级统计数据

# 用户级统计数据

当前连接到服务器的用户以及他们的统计数据

此类包括下列图表：

用户分析和执行总计

用户的分析和执行速率

用户的总 CPU

用户 CPU 分解

用户 I/O 速率

用户排序速率

用户磁盘排序与内存排序的比率

用户排序数与已排序行数的比率

用户 UGA 内存的使用情况

用户花费的分析时间

用户平均等待分析的时间

用户级统计数据缺省图表
用户级统计数据缺省图表

当前连接到服务器的用户以及他们的统计数据

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间百分比

## 总的 CPU 时间百分比

#### 说明

此数据项代表此会话所使用的 CPU 时间百分比。

#### 数据源

(DeltaCpuTime / DeltaTotalCpuTime) * 100
其中：

DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaTotalCpuTime：采样周期结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

分析 CPU 百分比

## 分析 CPU 百分比

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaCpuTime) * 100
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 百分比

## 递归 CPU 百分比

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

(DeltaRecursiveTime / DeltaCpuTime) * 100
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 百分比

## 其他 CPU 百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaCpuTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaCpuTime) * 100
其中：

DeltaCpuTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaParseTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaRecursiveTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表在此采样周期内每秒以CURRENT 模式获得的块数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表此采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘读取比率

## 磁盘读取比率

#### 说明

此数据项代表此采样周期内从磁盘直接读取 (绕过缓冲区高速缓存) 的读取数百分比。例如，在高带宽、数据密集型操作 (如并行查询) 中，绕过缓冲区高速缓存的磁盘块读取使传输率达到最大，并防止驻留在缓冲区高速缓存中的共享数据块过早超龄。

#### 数据源

DeltaDirectReads / DeltaPhysicalReads
其中：

DeltaDirectReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads direct' and n.statistic#=s.statistic#' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。某些更改正在生成重做日志条目，如果事务处理被提交，它们将成为对数据库的永久更改。

此统计数据是数据库总工作的粗略指示。此统计数据表明缓冲区的灰化速率。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db block changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。产生大量持续更改的工作量可能消耗大量的资源。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表在此采样周期内每秒到磁盘 (与在内存中执行的排序相对) 的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序(与在磁盘上执行的排序相对)数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (rows)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/内存排序数比率

## 磁盘排序数/内存排序数比率

#### 说明

此数据项代表在此采样周期内在磁盘上执行的排序数(与在内存中执行的排序数相对)百分比。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / DeltaMemorySorts
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
磁盘排序数/排序行数的比率

## 磁盘排序数/排序行数的比率

执行到磁盘的排序数百分比

分析计数 (硬)/秒

## 分析计数 (硬)/秒

#### 说明

此数据项代表此采样周期内每秒的分析数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (hard)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
分析计数 (总计)/秒

## 分析计数 (总计)/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析花费的时间

## 分析花费的时间

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseElapsedTime
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值

#### 用户操作

UGA 内存

## UGA 内存

#### 说明

此数据项代表用于此会话的当前 UGA 大小。

#### 数据源

采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session uga memory' and n.statistic#=s.statistic#' 的差值

#### 用户操作

平均每次分析的等待时间

## 平均每次分析的等待时间

#### 说明

此数据项代表此采样周期内每个分析的平均等待时间 (秒)。

#### 数据源

((DeltaParseElapsedTime - DeltaParseCpuTime) / Seconds) / DeltaParseCount
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值
DeltaParseCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='execute count' and n.statistic#=s.statistic#'的差值
Seconds：采样周期内的秒数

#### 用户操作

回退段

# 回退段

回退段标题访问统计数据

此类包括下列图表：

回退段无等待率 (>99%)

回退段命中百分比

回退段访问速率

回退段状态

回退段缺省图表
回退段缺省图表

回退段标题访问统计数据

标题获取数/秒

## 标题获取数/秒

#### 说明

此数据项代表此采样周期内每秒的回退段标题获取数。

#### 数据源

DeltaGets / Seconds
其中：

DeltaGets：采样结束和开始时的 'select gets from v$rollstat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

标题等待数/秒

## 标题等待数/秒

#### 说明

此数据项代表此采样周期内每秒的回退段标题等待数。

#### 数据源

DeltaWaits / Seconds
其中：

DeltaWaits：采样结束和开始时的 'select waits from v$rollstat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

回退无等待百分比

## 回退无等待百分比

#### 说明

回退段是记录事务处理操作的数据库的一部分，以备回退事务处理时使用。回退段用于提供读一致性、支持回退事务处理以及恢复数据库。

正确分配回退段有助于获得最佳的数据库性能。使用足够多的回退段可以跨许多段分布回退段争用并提高性能。

对回退段的争用反映在对包含回退段块的缓冲区的争用上。此数据项代表访问回退段标题时无等待次数的百分比。此值应大于 99%。

#### 数据源

((DeltaGets - DeltaWaits) / DeltaGets) * 100
其中：

DeltaGets：采样结束和开始时的 'select sum(gets) from v$rollstat' 的差值
DeltaWaits：采样结束和开始时的 'select sum(waits) from v$rollstat' 的差值

#### 用户操作

要减少对包含回退段块的缓冲区的争用，请创建额外的回退段。用于选择分配多少回退段的一般准则是，根据数据库上并发活动事务处理的数量和类型来决定。为每 10 个并发 OLTP (联机事务处理) 事务处理分配一个回退段，为每个并发批处理作业分配一个回退段。

另外，当创建回退段时，请使回退段中的区大小与 NEXT=INITIAL 处所指定的 STORAGE 参数的大小相同。

还建议您将 MINEXTENTS 参数的值设置为 20。因为在逻辑上回退段被视为区的循环队列，所以要求它们的 MINEXTENTS 值至少为 2。回退段要求分配新区的可能性取决于后续的区包含活动重做的可能性。回退段拥有的区越多，回退段要求分配区的可能性就越小，要求分配新区的情况是可以避免的。管理员应该创建带有许多区的回退段。当然存在一个收益递减点。随着区数的增加，需要扩展回退段的可能性有一个快速下降。现在已经确定如果超过 20 个区，则所增加的扩展回退段可能性的降低已无法与附加区的成本相比。
活动事务处理数

## 活动事务处理数

#### 说明

此数据项代表活动事务处理的总数。

#### 数据源

select xacts from v$rollstat

#### 用户操作

压缩次数/秒

## 压缩次数/秒

#### 说明

此数据项代表此采样周期内每秒从回退段中释放区的次数。

#### 数据源

DeltaShrinks / Seconds
其中：

DeltaShrinks：采样结束和开始时的 'select shrinks from v$rollstat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

OPTIMAL 参数指定回退段的最佳大小。应该根据系统运行的事务处理的种类小心地选择此参数的值，以避免频繁的压缩和扩展。对于执行长时间运行的事务处理或长查询的系统而言，OPTIMAL 应该比较大。对于主要执行短事务处理和短查询的系统而言，OPTIMAL 应该比较小。

假定例程具有大小相同的回退段，并且这些回退段的区的大小也差不多，则应将给定回退段的 OPTIMAL 参数设置为稍大于回退段中活动区的平均字节数。

而且应将 OPTIMAL 设置为小于 MINEXTENTS 区数所需字节数的值。

如果压缩数大于回退段使用 (获取) 总数的 1%，则压缩可能正在过于频繁地发生。在这种情况下，您可以考虑增大 OPTIMAL 设置来减少压缩所花费的时间。
折返次数/秒

## 折返次数/秒

#### 说明

此数据项代表此采样周期内事务处理每秒从回退段的一个区继续写到另一个现有的区的次数。

#### 数据源

DeltaWraps / Seconds
其中：

DeltaWraps：采样结束和开始时的 'select wraps from v$rollstat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

扩展次数/秒

## 扩展次数/秒

#### 说明

此数据项代表此采样周期内每秒从回退段中分配区的次数。

#### 数据源

DeltaExtents / Seconds
其中：

DeltaExtents：采样结束和开始时的 'select extents from v$rollstat' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果回退段扩展的次数大于回退段使用 (获取) 总数的 1%，则可能正在发生过多的分配。发生过多分配可能是由以下两种问题之一所导致的：

使用了过小的区大小
使用了过小的 OPTIMAL 值

如果是区大小过小，则应该用更大的区大小重新创建回退段。如果是 OPTIMAL 的值过小，则应该变更回退段以使用更大的 OPTIMAL 值。
状态

## 状态

#### 说明

此数据项代表回退段的状态。回退段总是处理几种状态之一。回退段状态决定它是否可用于某个事务处理，以及 DBA 可以对其执行哪些管理过程。

OFFLINE：尚未被任何例程获取 (使 ONLINE)
ONLINE：已被某个例程获取 (使 ONLINE)；可能包含来自活动事务处理的数据
NEEDS RECOVERY：包含来自未提交的事务处理的数据，并且这些事务处理不能回退，因为涉及的数据文件不可访问或者回退段已损坏
PARTLY AVAILABLE：包含来自未决事务处理的数据；也就是未解决的分布式事务处理
INVALID：已删除

#### 数据源

select status from v$rollstat

#### 用户操作

等待逻辑读取比率

## 等待逻辑读取比率

#### 说明

#### 数据源

((DeltaLogReads - DeltaWaits) / DeltaLogReads) * 100
其中：

DeltaLogReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session logical reads' and n.statistic#=s.statistic#' 的差值
DeltaWaits：采样结束和开始时的 'select waits from v$rollstat' 的差值

#### 用户操作

大小

## 大小

#### 说明

此数据项代表回退段的大小 (字节)。

#### 数据源

select rssize from v$rollstat

#### 用户操作

写入数

## 写入数

#### 说明

此数据项代表写入回退段的字节数。

#### 数据源

select rssize from v$rollstat

#### 用户操作

OptSize

## OptSize

#### 说明

此数据项代表回退段的 OPTIMAL 大小 (字节)。OPTIMAL 参数指定回退段的最佳大小。应该根据系统运行的事务处理的种类小心地选择此参数的值，以避免频繁的压缩和扩展。对于执行长时间运行的事务处理或长查询的系统而言，OPTIMAL 应该比较大。对于主要执行短事务处理和短查询的系统而言，OPTIMAL 应该比较小。

假定例程具有大小相同的回退段，并且这些回退段的区的大小也差不多，则应将给定回退段的 OPTIMAL 参数设置为稍大于回退段中活动区的平均字节数。

而且应将 OPTIMAL 设置为小于 MINEXTENTS 区数所需字节数的值。

如果压缩数大于回退段使用 (获取) 总数的 1%，则压缩可能正在过于频繁地发生。在这种情况下，您可以考虑增大 OPTIMAL 设置来减少压缩所花费的时间。

#### 数据源

select optsize from v$rollstat

#### 用户操作

HWMSize

## HWMSize

#### 说明

此数据项代表曾经为回退段分配的最大空间 (字节)。

#### 数据源

select hwmsize from v$rollstat

#### 用户操作

AveShrink

## AveShrink

#### 说明

此数据项代表 Oracle 从回退段截取的空间的平均大小 (字节)。

#### 数据源

select aveshrink from v$rollstat

#### 用户操作

如果发生的压缩数较低而且压缩出的平均大小较大，则已正确设置 OPTIMAL。

如果发生的压缩数较高而且压缩出的平均大小较小，则 OPTIMAL 过小，因为正在发生过多的压缩。您应该变更回退段以增大 OPTIMAL 设置。
AveActive

## AveActive

#### 说明

此数据项代表在不同时刻度量的回退段中活动区的平均字节数。

#### 数据源

select aveactive from v$rollstat

#### 用户操作

区数

## 区数

#### 说明

此数据项代表回退段中的区数。

#### 数据源

select extents from v$rollstat

#### 用户操作

顶层会话

# 顶层会话

按选定的排序统计排序的顶层会话的概要信息

此类包括下列图表：

顶层会话

按硬分析计数的顶层会话数

按已排序行数的顶层会话数

按物理读取数的顶层会话数

顶层的 5 个会话

顶层会话缺省图表
顶层会话缺省图表

按选定的排序统计排序的顶层会话的概要信息

会话名

## 会话名

#### 说明

此数据项既可以代表当前会话的 Oracle 用户名，也可以代表后台进程名。

#### 数据源

select NVL(s.username, b.name) from v$session s, v$bgprocess b

#### 用户操作

OS 用户名

## OS 用户名

#### 说明

此数据项代表操作系统客户机用户的名称。

#### 数据源

select osuser from v$session

#### 用户操作

排序统计数据

## 排序统计数据

#### 说明

此数据项包含用于对显示会话进行排序的排序统计的值。

#### 数据源

#### 用户操作

状态

## 状态

#### 说明

此数据项代表此会话的状态。

ACTIVE：当前正在执行的 SQL
INACTIVE：非活动的
KILLED：已标记为将被终止
CACHED：暂时被存入高速缓存中供 Oracle*XA 使用
SNIPED：非活动的、等待此客户机的会话

#### 数据源

select status from v$session

#### 用户操作

计算机

## 计算机

#### 说明

此数据项代表操作系统计算机名。

#### 数据源

select machine from v$session

#### 用户操作

终端

## 终端

#### 说明

此数据项代表操作系统终端名。

#### 数据源

select terminal from v$session

#### 用户操作

程序

## 程序

#### 说明

此数据项代表客户机程序的名称。

#### 数据源

select program from v$session

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$session

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$session

#### 用户操作

序列号

## 序列号

#### 说明

此数据项代表会话序列号。此值用于唯一标识会话的对象。当会话结束并且另一个会话以相同的会话 ID 开始时，此值保证会话级的命令可以被应用到正确的会话对象上。

#### 数据源

select serial# from v$session

#### 用户操作

SPID

## SPID

#### 说明

此数据项代表 Oracle 进程标识符。

#### 数据源

select p.spid from v$process p, v$session s where s.paddr = p.addr

#### 用户操作

提交计数

## 提交计数

#### 说明

此数据项代表此采样周期内此会话执行的用户提交数。当用户提交事务处理时，必须将生成的反映对数据库块更改的重做写入磁盘。提交数通常代表最接近用户事务处理率的数据。

#### 数据源

DeltaCommits
其中：

DeltaCommits：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user commits' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，这意味着您的系统可以处理更多的负载。实际上事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。
回退计数

## 回退计数

#### 说明

此数据项代表采样周期内此会话手动发出 ROLLBACK 语句或会话事务处理过程中出现错误的次数。

#### 数据源

DeltaRollbacks
其中：

DeltaRollbacks：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user rollbacks' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据说明用户发出 ROLLBACK 语句，或者在他们的事务处理期间遇到错误的频率。应该进行进一步的调查，以确定这些回退是错误应用程序逻辑的一部分，还是由于在数据库访问时发生的错误引起的。
执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间

## 总的 CPU 时间

#### 说明

此数据项代表此会话所使用的 CPU 时间总量 (秒)。

#### 数据源

DeltaTotalCpuTime
其中：

DeltaTotalCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

分析 CPU

## 分析 CPU

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间长度。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

DeltaParseTime
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU

## 递归 CPU

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的长度。

#### 数据源

DeltaRecursiveTime
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
Block Gets

## Block Gets

#### 说明

此数据项代表以 CURRENT 模式获取的块数。

#### 数据源

DeltaBlockGets
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值

#### 用户操作

持续获取数

## 持续获取数

#### 说明

此数据项代表为某个块请求持续读取的次数。

#### 数据源

DeltaConsistentGets
其中：

DeltaConsistentGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表在此采样周期内从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数

## 块更改数

对 SGA 中的所有块进行的更改数，这些更改是某个更新或删除操作的一部分

持续更改数

## 持续更改数

数据库块应用回退段条目对此块执行持续读取的次数

磁盘排序数

## 磁盘排序数

具有磁盘写操作的排序数

内存排序数

## 内存排序数

无磁盘写操作的排序数

排序行数

## 排序行数

已排序的总行数

分析计数 (硬)

## 分析计数 (硬)

分析调用 (实际分析) 的总数。

分析计数总计

## 分析计数总计

分析调用 (硬和软) 的总数。

分析花费的时间

## 分析花费的时间

分析花费的总时间 (秒)

UGA 内存

## UGA 内存

会话的当前 UGA 大小

登录时间

## 登录时间

#### 说明

此数据项代表此会话的登录时间。

#### 数据源

select logon from v$session s

#### 用户操作

物理读取数 (%)

## 物理读取数 (%)

#### 说明

此数据项代表此采样周期内对此会话有贡献的物理读取总数百分比。

#### 数据源

DeltaPhysicalReads / DeltaTotalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
DeltaTotalReads：采样结束和开始时的 'select value from v$sysstat where name='physical reads'' 的差值

#### 用户操作

逻辑读取数(%)

## 逻辑读取数(%)

#### 说明

此数据项代表此采样周期内对此会话有贡献的缓冲区获取总数百分比。

#### 数据源

DeltaBufferGets / DeltaTotalGets
其中：

DeltaBufferGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session logical reads' and n.statistic#=s.statistic#' 的差值
DeltaTotalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值

#### 用户操作

用户名表扫描

# 用户名表扫描

按用户的表扫描统计数据

此类包括下列图表：

具有大型表 (>5 个块) 表扫描的用户

具有小型表 (<5 个块) 表扫描的用户

具有链接行或移植行的表上的表扫描

绕过缓冲区高速缓存的表扫描 (直接到磁盘)

用户表扫描速率

用户表扫描缺省图表
用户表扫描缺省图表

按用户的表扫描统计数据

长表数/秒

## 长表数/秒

#### 说明

此数据项代表此采样周期内每秒的长表扫描数。如果某个表未被高速缓存而且其高水线标记大于 5 个块，则认为此表是“长型的”。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='table scans (long tables)' and n.statistic#=s.statistic#

#### 用户操作

短表数/秒

## 短表数/秒

#### 说明

此数据项代表此采样周期内每秒的短表扫描数。如果某个表被高速缓存而且其高水线标记小于 5 个块，则认为表扫描是“短型的”。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='table scans (short tables)' and n.statistic#=s.statistic#

#### 用户操作

获取的行数/秒

## 获取的行数/秒

#### 说明

在扫描操作期间， Oracle Server 按顺序检索每一行。此数据项代表此采样周期内每秒扫描的行数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='table scan rows gotten' and n.statistic#=s.statistic#

#### 用户操作

提取的连续行数/秒

## 提取的连续行数/秒

#### 说明

在两种情况下表中的行的数据可能太大而无法存储在单个数据块中。这将导致行碎片。

第一种情况是在行首次被插入时由于太大而无法存储在一个数据块中。在这种情况中，Oracle Server 将行的数据存储在为该段保留的数据块链中。行链接大多数情况下是由于大型行 (诸如包含数据类型为 LONG 或 LONG RAW 的列的行) 而出现的。在这些情况中如果不使用更大的 DB_BLOCK_SIZE，则行延续是不可避免的。

但第二种情况是，原先存储在一个数据块中的行被更新以致整个行的长度增加，而块的空闲空间已被完全填满。在这种情况下，Oracle 会将整个行的数据移植到一个新的数据块中 (假定整个行可以放入一个新块中)。Oracle 保持被移植行的原始行片并使其指向包含被移植行的新块。

当某个行被链接或移植以后，与此行相关联的 I/O 性能将降低，因为 Oracle 为检索此行的信息必须扫描多个块。

此数据项代表采样周期内每秒链接行的检索数。

#### 数据源

select se.username,s.value from v$sesstat s, v$statname n, v$session se where n.name='table fetch continued row' and n.statistic#=s.statistic# and s.sid=se.sid

#### 用户操作

获取的块数/秒

## 获取的块数/秒

#### 说明

在扫描操作期间， Oracle 按顺序检索每一行。此数据项代表此采样周期内从缓冲区高速缓存中检索的块数。

#### 数据源

select se.username,s.value from v$sesstat s, v$statname n, v$session se where n.name='table scan blocks gotten' and n.statistic#=s.statistic# and s.sid=se.sid

#### 用户操作

高速缓存分区数/秒

## 高速缓存分区数/秒

#### 说明

此数据项代表采样周期内使用 CACHE 选项对表执行的全表扫描数。CACHE 选项指定在执行全表扫描时将为表检索的块放入缓冲区高速缓存中 LRU 列表的最近最少使用的尾部。此选项对于被频繁访问的小型查找表是很有用的。

#### 数据源

select se.username,s.value from v$sesstat s, v$statname n, v$session se where n.name='table scans (cache partitions)' and n.statistic#=s.statistic# and s.sid=se.sid

#### 用户操作

直接读取数/秒

## 直接读取数/秒

#### 说明

此数据项代表采样周期内每秒使用直接读取从而绕过缓冲区高速缓存的全表扫描数。

#### 数据源

select se.username,s.value from v$sesstat s, v$statname n, v$session se where n.name='table scans (direct reads)' and n.statistic#=s.statistic# and s.sid=se.sid

#### 用户操作

行标识范围数/秒

## 行标识范围数/秒

#### 说明

此数据项代表采样周期内每秒具有指定的 ROWID 端点的全表扫描数。

#### 数据源

select se.username,s.value from v$sesstat s, v$statname n, v$session se where n.name='table scans (rowid ranges)' and n.statistic#=s.statistic# and s.sid=se.sid

#### 用户操作

共享池

# 共享池

显示有关共享池的统计数据

此类包括下列图表：

SGA 空闲内存

SGA 请求失败和丢失速率

SGA 分解

SGA 命中百分比

共享池缺省图表
共享池缺省图表

显示有关共享池的统计数据

空闲内存大小

## 空闲内存大小

#### 说明

此数据项代表共享池中可用空闲内存的大小 (MB)。

#### 数据源

select bytes/1024/1024 from v$sgastat where name = 'free memory'

#### 用户操作

保留列表请求丢失数

## 保留列表请求丢失数

#### 说明

此数据项代表保留列表没有空闲内存片来满足请求而需要从 LRU 列表开始刷新对象。

只有当将初始化参数 SHARED_POOL_RESERVED_SIZE 设置为有效的值时此值才有效。

#### 数据源

select request_misses from v$shared_pool_reserved

#### 用户操作

保留列表请求失败数

## 保留列表请求失败数

#### 说明

此数据项代表找不到内存来满足共享池请求的次数，也就是 ORA-4031 出现的次数。

#### 数据源

select request_failures from v$shared_pool_reserved

#### 用户操作

请求失败是共享池大小不足的非常明确的指示器。
共享池大小

## 共享池大小

#### 说明

SGA 的共享池部分包含三个主要的区域：库高速缓存、字典高速缓存和各种控制结构。共享池的总大小是由初始化参数 SHARED_POOL_SIZE 决定。

此数据项代表共享池的大小 (MB)。

如果共享池不够大，用户就会消耗额外资源来完成数据库操作。对于库高速缓存，开销将主要是用于响应 SQL 语句的额外 CPU 资源。字典高速缓存的开销将表现为额外的 I/O，因为已被从高速缓存中取代的字典引用将需要从磁盘重新提取。对用户响应时间的影响将根据为开销申请的资源是否有瓶颈而有所不同。

如果共享池过大，就会浪费在数据库环境的其他地方可以利用的内存资源。在内存已经是紧缺资源的数据库环境中，这可能导致性能下降。此外，用于共享池的附加内存将不能由系统中的其他进程使用，并且也不能用于其他高速缓存，如缓冲区高速缓存。

#### 数据源

select value from v$parameter where name='shared_pool_size'

#### 用户操作

保留共享池的大小

## 保留共享池的大小

#### 说明

SGA 的共享池部分包含三个主要的区域：库高速缓存、字典高速缓存和各种控制结构。

此数据项代表为对共享池内存的大型连续请求保留的共享池空间大小 (MB)。在共享池碎片强制 Oracle 搜索并释放未使用的共享池中的块来编译当前请求的情况下，此参数与 SHARED_POOL_RESERVED_MIN_ALLOC 参数一起可用来避免共享池中的性能下降。

#### 数据源

select value from v$parameter where name='shared_pool_reserved_size'

#### 用户操作

会话 UGA 大小

## 会话 UGA 大小

#### 说明

此数据项代表用于某个会话的当前 UGA 大小。

#### 数据源

select se.username,s.value from v$sesstat s, v$statname n, v$session se where n.name='session uga memory' and n.statistic#=s.statistic# and s.sid=se.sid

#### 用户操作

会话 UGA 的最大内存

## 会话 UGA 的最大内存

#### 说明

此数据项代表用于某个会话的 UGA 峰值大小。

#### 数据源

select se.username,s.value from v$sesstat s, v$statname n, v$session se where n.name='session uga memory max' and n.statistic#=s.statistic# and s.sid=se.sid

#### 用户操作

保留列表分配命中率

## 保留列表分配命中率

#### 说明

此数据项代表共享池保留列表的命中率。此值给出保留列表运转情况的指示并且应该在 95% 到 100% 之间。

#### 数据源

((Requests - Misses) / Requests) * 100
其中：

Requests：select requests from v$shared_pool_reserved
Misses：select request_misses from v$shared_pool_reserved

#### 用户操作

Java 池大小

## Java 池大小

#### 说明

此数据项代表 Java 池的大小 (MB)。

#### 数据源

select value from v$parameter where name='java_pool_size'

#### 用户操作

数据库块缓冲池大小

## 数据库块缓冲池大小

#### 说明

此数据项代表数据库块缓冲区的大小 (MB)。

#### 数据源

select sum(decode(name,'db_block_buffers',bytes)) from v$sgasta

#### 用户操作

日志缓冲区大小

## 日志缓冲区大小

#### 说明

此数据项代表日志缓冲区的大小 (MB)。

#### 数据源

select sum(decode(name,'log_buffer',bytes)) from v$sgasta

#### 用户操作

固定 SGA 大小

## 固定 SGA 大小

#### 说明

此数据项代表 SGA 固定部分的大小 (MB)。

#### 数据源

select sum(decode(name,'fixed_sga',bytes)) from v$sgasta

#### 用户操作

例程大小统计数据

# 例程大小统计数据

表明数据库及其对象的当前大小的统计数据

此类包括下列图表：

数据库大小

重做日志缓冲区大小

对象计数

例程大小统计数据缺省图表
例程大小统计数据缺省图表

表明数据库及其对象的当前大小的统计数据

数据库大小

## 数据库大小

#### 说明

此数据项代表数据库的大小 (MB)。

#### 数据源

select sum(bytes)/(1024*1024) from sys.dba_data_files where status = 'AVAILABLE'

#### 用户操作

表空间数

## 表空间数

#### 说明

此数据项代表数据库中的表空间数。

#### 数据源

select count(*) from sys.dba_tablespaces where status != 'OFFLINE'

#### 用户操作

方案数

## 方案数

#### 说明

此数据项代表数据库中的方案数。

#### 数据源

select count(*) from sys.user$ u where exists (select null from sys.obj$ o where o.owner# = u.user# and o.type# in (1,2,3,19,20,21,34,35,40,41))

#### 用户操作

数据文件数

## 数据文件数

#### 说明

此数据项代表数据库中的数据文件数。

#### 数据源

select count(*) from sys.dba_data_files where status = 'AVAILABLE'

#### 用户操作

用户数

## 用户数

#### 说明

此数据项代表数据库中的用户数。

#### 数据源

select count(*) from sys.dba_users

#### 用户操作

最大日志缓冲区大小

## 最大日志缓冲区大小

#### 说明

此数据项代表日志缓冲区的最大容量 (MB)。

#### 数据源

select max(bytes)/(1024*1024) from v$log

#### 用户操作

锁数

# 锁数

当前由 Oracle 服务器和对锁或栓锁未完成的请求所持有的锁的数目

此类包括下列图表：

锁管理器

用户类型锁数图表

锁数缺省图表
锁数缺省图表

当前由 Oracle 服务器和对锁或栓锁未完成的请求所持有的锁的数目

会话 Id

## 会话 Id

持有或获取锁的会话

会话序列号

## 会话序列号

持有或获取锁的会话的会话序列号

锁类型

## 锁类型

#### 说明

入队是将数据库资源访问串行化的共享内存结构 (锁)。它们可以与会话或事务处理相关联。入队名显示在DBA_LOCKS 和 DBA_LOCK_INTERNAL 数据字典视图的 LOCK_TYPE 列中。

资源唯一标识可由同一例程中 (本地资源)或不同例程中 (全局资源) 的不同会话锁定的对象。试图锁定资源的每个会话将在资源上拥有一个入队。 注意： 入队的名称及其定义可能随发行版的不同而不同。

Oracle 入队有：

BL，缓冲区高速缓存管理
CF，控制文件事务处理
CI，跨例程调用启用
CU，连接入队
DF，数据文件
DL，直接加载器索引创建
DM，数据库装载
DR，分布式恢复
DX，分布式 TX
FS，文件集
IN，例程编号
IR，例程恢复
IS，例程状态
IV，库高速缓存无效
JQ，作业队列
KK，重做日志 "Kick"
L[A-P]，库高速缓存锁定
MR，介质恢复
N[A-Z]，库高速缓存连接
PF，口令文件
PI，并行从属进程
PR，进程启动
PS，并行从属进程同步
Q[A-Z]，行高速缓存
RT，重做线程
SC，系统提交数
SM，SMON
SQ，序列号入队
SR，同步复制
SS，排序段
ST，空间管理事务处理
SV，序列号值
TA，事务处理恢复
TM，DML 入队
TS，临时段 (也称为临时表空间)
TT，临时表
TX，事务处理
UL，用户定义的锁
UN，用户名
US，重做段，串行化
WL，正被写入重做日志
XA，例程属性锁
XI，例程注册锁

#### 数据源

V$LOCK 表中的 LOCK_TYPE 列。

#### 用户操作

确定引起锁争用的原因并尝试将其排除。虽然通过选定会话并使用终止会话的工具将其终止是激烈的，但这确实是一种终止会话的方法。如果已经确定阻塞锁不会被很快释放，则这应该用作删除它的最后一种手段。
持有模式

## 持有模式

会话按其持有锁的锁模式

请求模式

## 请求模式

进程按其请求锁的锁模式

对象名

## 对象名

锁定对象的名称

ROWID

## ROWID

被锁定的当前 ROWID

对象所有者

## 对象所有者

对象所有者的用户名

对象类型

## 对象类型

对象的类型

资源 ID1

## 资源 ID1

锁标识符 #1 (取决于类型)

资源 ID2

## 资源 ID2

锁标识符 #2 (取决于类型)

进程 Id

## 进程 Id

操作系统进程 Id

会话动作计数

# 会话动作计数

处于活动、等待、已注册等状态的会话计数

此类包括下列图表：

会话计数

会话动作计数缺省图表
会话动作计数缺省图表

处于活动、等待、已注册等状态的会话计数

会话计数

## 会话计数

#### 说明

此数据项代表当前用关联状态标记的会话编号。会话的状态可以是：

ACTIVE：当前正在执行的 SQL
INACTIVE：非活动的
KILLED：已标记为将被终止
CACHED：暂时被存入高速缓存中供 Oracle*XA 使用
SNIPED：非活动的、等待此客户机的会话

#### 数据源

select status from v$session group by status

#### 用户操作

事务处理统计数据

# 事务处理统计数据

按此例程的操作类型分类的当前事务处理数

此类包括下列图表：

并发事务处理计数

当前操作分解

事务处理统计数据缺省图表
事务处理统计数据缺省图表

按此例程的操作类型分类的当前事务处理数

并行事务处理

## 并行事务处理

#### 说明

此数据项代表活动会话数。

#### 数据源

select sum(decode(command,0,0,1)) from v$session where status = 'ACTIVE'

#### 用户操作

选择

## 选择

#### 说明

此数据项代表采样时执行的 SELECT 语句数。

#### 数据源

select sum(decode(command,3,1,0)) from v$session where status = 'ACTIVE'

#### 用户操作

更新

## 更新

#### 说明

此数据项代表采样时执行的 UPDATE 语句数。

#### 数据源

select sum(decode(command,6,1,0)) from v$session where status = 'ACTIVE'

#### 用户操作

插入

## 插入

#### 说明

此数据项代表采样时执行的 INSERT 语句数。

#### 数据源

select sum(decode(command,2,1,0)) from v$session where status = 'ACTIVE'

#### 用户操作

删除

## 删除

#### 说明

此数据项代表采样时执行的 DELETE 语句数。

#### 数据源

select sum(decode(command,7,1,0)) from v$session where status = 'ACTIVE'

#### 用户操作

加载

# 加载

加载容器类

加载缺省图表
加载缺省图表

加载容器类

线路

# 线路

通过分派进程和服务器连接到数据库的用户连接统计数据

线路缺省图表
线路缺省图表

通过分派进程和服务器连接到数据库的用户连接统计数据

服务器

## 服务器

共享服务器名

会话

## 会话

会话 id。

序列

## 序列

会话序列号

状态

## 状态

电路状态

队列

## 队列

线路当前所在的队列

消息

## 消息

已通过此线路的消息总数

字节数

## 字节数

已通过此线路的总字节数

分派进程

# 分派进程

分派进程统计数据

此类包括下列图表：

分派进程统计数据

分派进程缺省图表
分派进程缺省图表

分派进程统计数据

状态

## 状态

分派进程状态

接收

## 接收

此分派进程是否正在接收新连接

消息数/秒

## 消息数/秒

此分派进程所处理的消息数

字节数/秒

## 字节数/秒

此分派进程所处理消息的大小 (字节)

拥有的

## 拥有的

此分派进程所拥有的线路数

空闲

## 空闲

空闲所占的时间 (秒)

忙

## 忙

此采样周期内忙占用的时间百分比

忙百分比

## 忙百分比

忙/(忙+空闲)

空闲百分比

## 空闲百分比

空闲/(忙+空闲)

每个响应的平均等待时间

## 每个响应的平均等待时间

等待队列上的每个响应所花费的时间 (秒)

分派进程争用

# 分派进程争用

分派进程争用统计数据

此类包括下列图表：

分派进程争用

分派进程争用缺省图表
分派进程争用缺省图表

分派进程争用统计数据

忙比率

## 忙比率

忙/(忙+空闲)*100

平均等待时间

## 平均等待时间

队列中每一项的平均等待时间

共享服务器

# 共享服务器

共享服务器进程统计数据

此类包括下列图表：

共享服务器统计数据

共享服务器缺省图表
共享服务器缺省图表

共享服务器进程统计数据

状态

## 状态

服务器状态

请求数/秒

## 请求数/秒

每秒取自公用队列的请求数

空闲

## 空闲

空闲时间总计 (秒)

忙

## 忙

忙时间总计 (秒)

忙百分比

## 忙百分比

忙/(空闲+忙) * 100

线路名

## 线路名

当前为其服务的线路的地址

MTS 统计数据

# MTS 统计数据

多线程服务器的统计数据

此类包括下列图表：

MTS 加载

服务器的类型和计数

MTS 服务器启动/停止

MTS 统计数据缺省图表
MTS 统计数据缺省图表

多线程服务器的统计数据

专用服务器

## 专用服务器

专用服务器的数目

当前的共享服务器

## 当前的共享服务器

共享服务器的数目

分派进程

## 分派进程

分派进程的数目

最小服务器数

## 最小服务器数

允许的最小共享服务器数

服务器数的高水线标记

## 服务器数的高水线标记

自例程启动以来某一时刻同时运行的服务器的最大数目

最大服务器数

## 最大服务器数

允许同时运行的共享服务器进程的最大数目

启动的服务器数/秒

## 启动的服务器数/秒

Oracle 所启动的共享服务器进程数

终止的服务器数/秒

## 终止的服务器数/秒

Oracle 终止的共享服务器进程数

服务器忙百分比

## 服务器忙百分比

所有服务器的平均负载

分派进程忙百分比

## 分派进程忙百分比

所有分派进程的平均负载

当前的最大服务器数百分比

## 当前的最大服务器数百分比

(Current shared servers/max servers * 100) how close is the current count to the maximum number of servers

最大的峰值服务器数百分比

## 最大的峰值服务器数百分比

高水线标记/最大服务器数 * 100 表示高水线标记与服务器数限制有多接近

并行服务器块强制回应

# 并行服务器块强制回应

用于所有例程的总最大块强制回应

并行服务器块强制回应缺省图表
并行服务器块强制回应缺省图表

用于所有例程的总最大块强制回应

块强制回应

## 块强制回应

最大块强制回应的总和。

按表空间的并行服务器块强制回应

# 按表空间的并行服务器块强制回应

按表空间的块强制回应统计数据。

按表空间的并行服务器块强制回应缺省图表
按表空间的并行服务器块强制回应缺省图表

按表空间的块强制回应统计数据。

块强制回应

## 块强制回应

每个表空间的最大块强制回应

按例程的并行服务器块强制回应

# 按例程的并行服务器块强制回应

每个例程的最大块强制回应

按例程的并行服务器块强制回应缺省图表
按例程的并行服务器块强制回应缺省图表

每个例程的最大块强制回应

块强制回应

## 块强制回应

每个例程的最大块强制回应

并行服务器文件 I/O 速率

# 并行服务器文件 I/O 速率

用于所有例程的文件读/写统计数据

并行服务器文件 I/O 速率缺省图表
并行服务器文件 I/O 速率缺省图表

用于所有例程的文件读/写统计数据

物理读取数/秒

## 物理读取数/秒

物理读取数/秒

物理写入数/秒

## 物理写入数/秒

要求 DBWR 进行写入的次数

按对象的并行服务器文件 I/O 速率

# 按对象的并行服务器文件 I/O 速率

每个数据文件的文件读/写统计数据

按对象的并行服务器文件 I/O 速率缺省图表
按对象的并行服务器文件 I/O 速率缺省图表

每个数据文件的文件读/写统计数据

物理读取数/秒

## 物理读取数/秒

物理读取数/秒

物理写入数/秒

## 物理写入数/秒

要求 DBWR 进行写入的次数

按例程的并行服务器文件 I/O 速率

# 按例程的并行服务器文件 I/O 速率

每个例程的文件读取/写入统计数据

按例程的并行服务器文件 I/O 速率缺省图表
按例程的并行服务器文件 I/O 速率缺省图表

每个例程的文件读取/写入统计数据

物理读取数/秒

## 物理读取数/秒

物理读取数/秒

物理写入数/秒

## 物理写入数/秒

要求 DBWR 进行写入的次数

并行服务器锁定动作

# 并行服务器锁定动作

显示所有例程的 DLM 锁定操作动作

并行服务器块锁定动作缺省图表
并行服务器块锁定动作缺省图表

显示所有例程的 DLM 锁定操作动作

从：

## 从：

PCM 锁初始状态：NULL；S；X；SSX

到：

## 到：

PCM 锁初始状态：NULL；S；X；SSX

总和

## 总和

执行锁操作的次数

并行服务器会话数

# 并行服务器会话数

当前会话统计数据

并行服务器会话缺省图表
并行服务器会话缺省图表

当前会话统计数据

会话序列号

## 会话序列号

会话序列号

PID

## PID

Oracle 进程标识符

状态

## 状态

会话的状态

用户名

## 用户名

Oracle 用户名

锁等待

## 锁等待

此会话正在等待的锁的地址

命令

## 命令

进行中的命令 (分析的最后一条语句)

并行服务器用户数

# 并行服务器用户数

所有例程的用户数。

并行服务器用户缺省图表
并行服务器用户缺省图表

所有例程的用户数。

已登录的

## 已登录的

已经登录到 OPS 服务器的用户数

活动的

## 活动的

活动用户的数目

每个例程的并行服务器用户数

# 每个例程的并行服务器用户数

每个例程的用户数

每个例程的并行服务器用户数缺省图表
每个例程的并行服务器用户数缺省图表

每个例程的用户数

已登录的

## 已登录的

对于每个例程的已登录用户数

活动的

## 活动的

每个例程的活动用户数

重做栓锁

# 重做栓锁

重做栓锁统计数据

重做栓锁缺省图表
重做栓锁缺省图表

重做栓锁统计数据

重做无等待百分比

## 重做无等待百分比

重做分配命中百分比

## 重做分配命中百分比

立即丢失比率

## 立即丢失比率

SQL 文本

# SQL 文本

完整 SQL 文本

此类包括下列图表：

SQL 文本

SQL 文本缺省图表
SQL 文本缺省图表

完整 SQL 文本

SQL 文本

## SQL 文本

#### 说明

此数据项代表完整的 SQL 文件。

#### 数据源

select piece, sql_text from v$sqltext_with_newlines order by piece ASC

#### 用户操作

并行服务器例程

# 并行服务器例程

并行服务器例程统计数据

并行服务器例程缺省图表
并行服务器例程缺省图表

并行服务器例程统计数据

例程编号

## 例程编号

用户例程注册的例程编号

主机名

## 主机名

宿主计算机的名称

PARALLEL

## PARALLEL

并行服务器模式下的 YES/NO

线程序号

## 线程序号

由例程打开的重做线程

用户

# 用户

用户名

用户缺省图表
用户缺省图表

用户名

用户编号

## 用户编号

用户编号

性能概览

# 性能概览

性能概览图表

性能概览缺省图表
性能概览缺省图表

性能概览图表

会话

# 会话

由选定的排序统计度量的顶层会话的概要信息

会话缺省图表
会话缺省图表

由选定的排序统计度量的顶层会话的概要信息

会话名

## 会话名

#### 说明

此数据项既可以代表当前会话的 Oracle 用户名，也可以代表后台进程名。

#### 数据源

select NVL(s.username, b.name) from v$session s, v$bgprocess b

#### 用户操作

OS 用户名

## OS 用户名

#### 说明

此数据项代表操作系统客户机用户的名称。

#### 数据源

select osuser from v$session

#### 用户操作

排序统计数据

## 排序统计数据

#### 说明

此数据项包含用于对显示会话进行排序的排序统计的值。

#### 数据源

select value from v$sesstat where statistic#=:1

#### 用户操作

状态

## 状态

#### 说明

此数据项代表此会话的状态。

ACTIVE：当前正在执行的 SQL
INACTIVE：非活动的
KILLED：已标记为将被终止
CACHED：暂时被存入高速缓存中供 Oracle*XA 使用
SNIPED：非活动的、等待此客户机的会话

#### 数据源

select status from v$session

#### 用户操作

计算机

## 计算机

#### 说明

此数据项代表操作系统计算机名。

#### 数据源

select machine from v$session

#### 用户操作

终端

## 终端

#### 说明

此数据项代表操作系统终端名。

#### 数据源

select terminal from v$session

#### 用户操作

程序

## 程序

#### 说明

此数据项代表客户机程序的名称。

#### 数据源

select program from v$session

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$session

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$session

#### 用户操作

序列号

## 序列号

#### 说明

此数据项代表会话序列号。此值用于唯一标识会话的对象。当会话结束并且另一个会话以相同的会话 ID 开始时，此值保证会话级的命令可以被应用到正确的会话对象上。

#### 数据源

select serial# from v$session

#### 用户操作

SPID

## SPID

#### 说明

此数据项代表 Oracle 进程标识符。

#### 数据源

select p.spid from v$process p, v$session s where s.paddr = p.addr

#### 用户操作

提交计数

## 提交计数

#### 说明

此数据项代表此采样周期内此会话执行的用户提交数。当用户提交事务处理时，必须将生成的反映对数据库块更改的重做写入磁盘。提交数通常代表最接近用户事务处理率的数据。

#### 数据源

DeltaCommits
其中：

DeltaCommits：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user commits' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，这意味着您的系统可以处理更多的负载。实际上事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。
回退计数

## 回退计数

#### 说明

此数据项代表采样周期内此会话手动发出 ROLLBACK 语句或会话事务处理过程中出现错误的次数。

#### 数据源

DeltaRollbacks
其中：

DeltaRollbacks：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='user rollbacks' and n.statistic#=s.statistic#' 的差值

#### 用户操作

此统计数据说明用户发出 ROLLBACK 语句，或者在他们的事务处理期间遇到错误的频率。应该进行进一步的调查，以确定这些回退是错误应用程序逻辑的一部分，还是由于在数据库访问时发生的错误引起的。
执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间

## 总的 CPU 时间

#### 说明

此数据项代表此会话所使用的 CPU 时间总量 (秒)。

#### 数据源

DeltaTotalCpuTime
其中：

DeltaTotalCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

分析 CPU

## 分析 CPU

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间长度。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

DeltaParseTime
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU

## 递归 CPU

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

DeltaRecursiveTime
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
Block Gets

## Block Gets

#### 说明

此数据项代表以 CURRENT 模式获取的块数。

#### 数据源

DeltaBlockGets
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值

#### 用户操作

持续获取数

## 持续获取数

#### 说明

此数据项代表为某个块请求持续读取的次数。

#### 数据源

DeltaConsistentGets
其中：

DeltaConsistentGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表在此采样周期内从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数

## 块更改数

对 SGA 中的所有块进行的更改数，这些更改是某个更新或删除操作的一部分

持续更改数

## 持续更改数

数据库块应用回退段条目对此块执行持续读取的次数

磁盘排序数

## 磁盘排序数

具有磁盘写操作的排序数

内存排序数

## 内存排序数

无磁盘写操作的排序数

排序行数

## 排序行数

已排序的总行数

分析计数 (硬)

## 分析计数 (硬)

分析调用 (实际分析) 的总数。

分析计数总计

## 分析计数总计

分析调用 (硬和软) 的总数。

分析花费的时间

## 分析花费的时间

分析花费的总时间 (秒)

UGA 内存

## UGA 内存

会话的当前 UGA 大小

登录时间

## 登录时间

#### 说明

此数据项代表此会话的登录时间。

#### 数据源

select logon from v$session s

#### 用户操作

会话逻辑读取数

## 会话逻辑读取数

#### 说明

此数据项代表此会话所进行的逻辑读取的总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='session logical reads' and n.statistic#=s.statistic#

#### 用户操作

用户会话响应时间

# 用户会话响应时间

先按单个用户后按会话分解的响应时间

此类包括下列图表：

每个会话的平均事务处理长度

会话事务处理比率 (插入/更新)

每个会话的每次执行花费的时间

会话等待或 CPU？

用户会话响应时间缺省图表
用户会话响应时间缺省图表

先按单个用户后按会话分解的响应时间

等待时间百分比

## 等待时间百分比

#### 说明

此数据项代表整个例程等待资源或对象而花费的时间百分比。

TotalWait / (TotalWait + CpuTime)
其中：

TotalWait：等待 v$system_event 中的所有等待事件的时间总和
CpuTime：select value from v$sysstat where name='CPU used by this session'

#### 用户操作

进一步调查哪些特定的等待事件是形成大量等待时间的原因。单个等待事件可以识别数据库中的独特问题。将在适当的地方通过专用于单个等待事件的下钻定制诊断。
CPU 时间百分比

## CPU 时间百分比

#### 说明

此数据项代表整个例程中 CPU 用于执行指令的时间的百分比。

#### 数据源

CpuTime / (TotalWait + CpuTime)
其中：

CpuTime：select value from v$sysstat where name='CPU used by this session'
TotalWait：等待 v$system_event 中的所有等待事件的时间总和

#### 用户操作

当 CPU 时间是总响应时间的最大贡献者时，就需要将其分解以进一步正确理解此问题。基本上将 CPU 时间分解为 3 个类别：

分析 CPU 时间：用于分析 SQL 语句的 CPU 时间。
递归 CPU 时间：用于分析行高速缓存语句 (如在数据字典中进行查找、执行触发器、PL/SQL 等) 的 CPU 时间。
其他 CPU 时间：用于诸如查找缓冲区、提取行或索引关键字之类的任务的 CPU 时间。
每个事务处理的响应时间

## 每个事务处理的响应时间

#### 说明

通过只使用数据库中可用的统计数据，此数据项就可以给出每个事务处理的响应时间的最佳近似值 (秒)。

#### 数据源

(DeltaTotalWait + DeltaCpuTime) / (DeltaCommits + DeltaRollbacks)
其中：

DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
DeltaCpuTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值
DeltaCommits：采样结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值
DeltaRollbacks：采样结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值

#### 用户操作

进一步调查哪个组件，等待时间或 CPU 时间，是形成主要响应时间的原因并继续诊断。
事务处理计数

## 事务处理计数

#### 说明

此数据项代表此采样周期内所执行的提交和回退的总数。

#### 数据源

DeltaCommits + DeltaRollbacks
其中：

DeltaCommits：采样结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值
DeltaRollbacks：采样结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，这意味着您的系统可以处理更多的负载。实际上事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。
提交计数

## 提交计数

#### 说明

此数据项代表此采样周期内所执行的用户提交的数目。当用户提交事务处理时，必须将生成的反映对数据库块更改的重做写入磁盘。提交数通常代表最接近用户事务处理率的数据。

#### 数据源

DeltaCommits
其中：

DeltaCommits：采样结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，这意味着您的系统可以处理更多的负载。实际上事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。
回退计数

## 回退计数

#### 说明

此数据项代表在此采样周期内用户手动发出 ROLLBACK 语句的次数或在用户的事务处理期间发生错误的次数。

#### 数据源

DeltaRollbacks
其中：

DeltaRollbacks：采样结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值

#### 用户操作

此统计数据说明用户发出 ROLLBACK 语句，或者在他们的事务处理期间遇到错误的频率。应该进行进一步的调查，以确定这些回退是错误应用程序逻辑的一部分，还是由于在数据库访问时发生的错误引起的。
每个执行的响应时间

## 每个执行的响应时间

#### 说明

通过只使用数据库中可用的统计数据，此数据项就可以给出每个 SQL 语句执行的响应时间的最佳近似值 (秒)。此统计数据可能比每个事务处理的响应时间更有效，因为它甚至可以显示关于只读访问的准确值。

#### 数据源

(DeltaTotalWait + DeltaCpuTime) / (DeltaUserCalls + DeltaRecursiveCalls)
其中：

DeltaTotalWait：采样结束和开始时的 'sum of time waited for all wait events in v$system_event'' 的差值
DeltaCpuTime：采样结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值
DeltaUserCalls：采样结束和开始时的 'select value from v$sysstat where name='user calls'' 的差值
DeltaRecursiveCalls：采样结束和开始时的 'select value from v$sysstat where name='recursive calls'' 的差值

#### 用户操作

进一步调查哪个组件，等待时间或 CPU 时间，是形成主要响应时间的原因并继续诊断。
执行计数

## 执行计数

#### 说明

此数据项代表在采样周期内执行 SQL 语句的调用 (用户和递归) 总数。此统计数据表示每个采样周期所处理的 SQL 语句数。

#### 数据源

DeltaUserCalls + DeltaRecursiveCalls
其中：

DeltaUserCalls：采样结束和开始时的 'select value from v$sysstat where name='user calls'' 的差值
DeltaRecursiveCalls：采样结束和开始时的 'select value from v$sysstat where name='recursive calls'' 的差值

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。执行率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，这意味着您的系统可以处理更多的负载。实际上执行率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，执行负载在一天的不同时间可能变化非常大。
会话缓冲区忙

# 会话缓冲区忙

显示等待文件和块的会话序号

此类包括下列图表：

会话缓冲区忙等待

会话缓冲区忙缺省图表
会话缓冲区忙缺省图表

显示等待文件和块的会话序号

文件名

## 文件名

数据文件名

块序号

## 块序号

块的编号

等待

## 等待

等待的类型

段名

## 段名

包含被等待块的段的名称

所有者

## 所有者

段的所有者

响应时间

# 响应时间

显示响应时间及其分解的类

响应时间缺省图表
响应时间缺省图表

显示响应时间及其分解的类

等待事件

# 等待事件

与等待事件及其诊断相关的类

等待事件缺省图表
等待事件缺省图表

与等待事件及其诊断相关的类

用户统计数据

# 用户统计数据

按用户分解统计数据的类

用户统计数据缺省图表
用户统计数据缺省图表

按用户分解统计数据的类

数据库例程

# 数据库例程

整个数据库的统计数据 (来源于 v$systat)

数据库例程缺省图表
数据库例程缺省图表

整个数据库的统计数据 (来源于 v$systat)

I/O

# I/O

I/O 类

I/O 缺省图表
I/O 缺省图表

I/O 类

内存

# 内存

SGA 利用、各种高速缓存统计数据等

内存缺省图表
内存缺省图表

SGA 利用、各种高速缓存统计数据等

后台进程

# 后台进程

重做日志、DBWR 以及与后台进程相关的其他统计数据

后台进程缺省图表
后台进行缺省图表

重做日志、DBWR 以及与后台进程相关的其他统计数据

存储

# 存储

表空间和与存储相关的其他信息

存储缺省图表
存储缺省图表

表空间和与存储相关的其他信息

按模块、操作排序的 SQL

# 按模块、操作排序的 SQL

用于利用 DBMS_APPLICATION_INFO 程序包的应用程序的 SQL

此类包括下列图表：

按模块、操作、物理读取数排序的 SQL

按模块、操作、缓冲区获取数排序的 SQL

按模块、操作排序的 SQL 的缺省图表
按模块、操作排序的 SQL 的缺省图表

用于利用 DBMS_APPLICATION_INFO 程序包的应用程序的 SQL

SQL 文本

## SQL 文本

#### 说明

此数据项包括当前游标的 SQL 文本的前八十个字符。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表此采样周期内此语句执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads from v$sqlarea' 的差值

#### 用户操作

缓冲区获取数

## 缓冲区获取数

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区满足的此语句的读取请求数。

#### 数据源

DeltaReadTime
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets from v$sqlarea' 的差值

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表在此采样周期内每秒执行此语句的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaExecutions：采样结束和开始时的 'select executions from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析调用数/秒

## 分析调用数/秒

#### 说明

此数据项代表此采样周期内每秒分析此语句的次数。

#### 数据源

DeltaParseCalls / Seconds
其中：

DeltaParseCalls：采样结束和开始时的 'select parse_calls from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内此语句每秒执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲区获取数/秒

## 缓冲区获取数/秒

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区每秒满足的此语句的读取请求数。

#### 数据源

DeltaBufferGets / Seconds
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

处理的行数/秒

## 处理的行数/秒

#### 说明

此数据项代表在此采样周期内为完成此语句每秒处理的总行数。

#### 数据源

DeltaRowsProcessed / Seconds
其中：

DeltaRowsProcessed：采样结束和开始时的 'select rows_processed from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

可共享内存总计

## 可共享内存总计

#### 说明

此数据项代表此语句所使用的全部可共享内存的总和 (字节)。

#### 数据源

select sharable_mem from v$sqlarea

#### 用户操作

永久内存总计

## 永久内存总计

#### 说明

此数据项代表此语句所使用的全部永久内存的总和 (字节)。

#### 数据源

select persistent_mem from v$sqlarea

#### 用户操作

运行时内存

## 运行时内存

#### 说明

此数据项代表当前此语句所使用的全部内存的总和 (字节)。

#### 数据源

select runtime_mem from v$sqlarea

#### 用户操作

应用程序监视

# 应用程序监视

报告使用 DBMS_APPLICATION_INFO 程序包的应用程序的数据类

此类包括下列图表：

应用程序模块动作

应用程序监视缺省图表
应用程序监视缺省图表

报告使用 DBMS_APPLICATION_INFO 程序包的应用程序的数据类

会话计数

## 会话计数

#### 说明

此数据项代表当前正在特定模块下执行的会话数。

#### 数据源

select count(module) from v$session where module_hash != 0
SQL 语句计数

## SQL 语句计数

高速缓存中拥有此模块集的 SQL 语句计数

等待事件的会话数

# 等待事件的会话数

当前等待特定事件的会话计数

此类包括下列图表：

正在等待的会话数

等待事件的会话数缺省图表
等待事件的会话数缺省图表

当前等待特定事件的会话计数

会话计数

## 会话计数

#### 说明

此数据项代表当前等待此事件的会话数。

#### 数据源

select count(*) from v$session_wait where wait_time = 0
MTS

# MTS

多线程服务器类

MTS 缺省图表
MTS 缺省图表

多线程服务器类

OPS

# OPS

Oracle Parallel Server 类

OPS 缺省图表
OPS 缺省图表

Oracle Parallel Server 类

主机级统计数据

# 主机级统计数据

当前连接到服务器的主机 (节点) 及其统计数据

此类包括下列图表：

每个主机的 CPU 分解

主机的总 CPU 时间

主机级统计数据缺省图表
主机级统计数据缺省图表

当前连接到服务器的主机 (节点) 及其统计数据

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间百分比

## 总的 CPU 时间百分比

#### 说明

此数据项代表此会话所使用的 CPU 时间百分比。

#### 数据源

(DeltaCpuTime / DeltaTotalCpuTime) * 100
其中：

DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaTotalCpuTime：采样周期结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

分析 CPU 百分比

## 分析 CPU 百分比

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaCpuTime) * 100
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 百分比

## 递归 CPU 百分比

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

(DeltaRecursiveTime / DeltaCpuTime) * 100
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 百分比

## 其他 CPU 百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaCpuTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaCpuTime) * 100
其中：

DeltaCpuTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaParseTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaRecursiveTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表在此采样周期内每秒以CURRENT 模式获得的块数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表此采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaConsistentGets / Seconds
其中：

DeltaConsistentGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘读取比率

## 磁盘读取比率

#### 说明

此数据项代表此采样周期内从磁盘直接读取 (绕过缓冲区高速缓存) 的读取数百分比。例如，在高带宽、数据密集型操作 (如并行查询) 中，绕过缓冲区高速缓存的磁盘块读取使传输率达到最大，并防止驻留在缓冲区高速缓存中的共享数据块过早超龄。

#### 数据源

DeltaDirectReads / DeltaPhysicalReads
其中：

DeltaDirectReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads direct' and n.statistic#=s.statistic#' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。某些更改正在生成重做日志条目，如果事务处理被提交，它们将成为对数据库的永久更改。

此统计数据是数据库总工作的粗略指示。此统计数据表明缓冲区的灰化速率。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db block changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。产生大量持续更改的工作量可能消耗大量的资源。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表在此采样周期内每秒到磁盘 (与在内存中执行的排序相对) 的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序(与在磁盘上执行的排序相对)数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (rows)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/内存排序数比率

## 磁盘排序数/内存排序数比率

#### 说明

此数据项代表在此采样周期内在磁盘上执行的排序数(与在内存中执行的排序数相对)百分比。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / DeltaMemorySorts
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
磁盘排序数/排序行数的比率

## 磁盘排序数/排序行数的比率

执行到磁盘的排序数百分比

分析计数 (硬)/秒

## 分析计数 (硬)/秒

#### 说明

此数据项代表此采样周期内每秒的硬分析数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (hard)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
分析计数 (总计)/秒

## 分析计数 (总计)/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析花费的时间

## 分析花费的时间

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseElapsedTime
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值

#### 用户操作

UGA 内存

## UGA 内存

#### 说明

此数据项代表用于此会话的当前 UGA 大小。

#### 数据源

采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session uga memory' and n.statistic#=s.statistic#' 的差值

#### 用户操作

平均每次分析的等待时间

## 平均每次分析的等待时间

#### 说明

此数据项代表此采样周期内每个分析的平均等待时间 (秒)。

#### 数据源

((DeltaParseElapsedTime - DeltaParseCpuTime) / Seconds) / DeltaParseCount
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值
DeltaParseCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='execute count' and n.statistic#=s.statistic#'的差值
Seconds：采样周期内的秒数

#### 用户操作

程序级统计数据

# 程序级统计数据

当前连接到服务器的程序及其统计数据

此类包括下列图表：

程序 CPU 分解

程序的总 CPU 时间

程序级统计数据缺省图表
程序级统计数据缺省图表

当前连接到服务器的程序及其统计数据

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间百分比

## 总的 CPU 时间百分比

#### 说明

此数据项代表此会话所使用的 CPU 时间百分比。

#### 数据源

(DeltaCpuTime / DeltaTotalCpuTime) * 100
其中：

DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaTotalCpuTime：采样周期结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

分析 CPU 百分比

## 分析 CPU 百分比

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaCpuTime) * 100
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 百分比

## 递归 CPU 百分比

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

(DeltaRecursiveTime / DeltaCpuTime) * 100
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 百分比

## 其他 CPU 百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaCpuTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaCpuTime) * 100
其中：

DeltaCpuTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaParseTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaRecursiveTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表在此采样周期内每秒以CURRENT 模式获得的块数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表此采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaConsistentGets / Seconds
其中：

DeltaConsistentGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘读取比率

## 磁盘读取比率

#### 说明

此数据项代表此采样周期内从磁盘直接读取 (绕过缓冲区高速缓存) 的读取数百分比。例如，在高带宽、数据密集型操作 (如并行查询) 中，绕过缓冲区高速缓存的磁盘块读取使传输率达到最大，并防止驻留在缓冲区高速缓存中的共享数据块过早超龄。

#### 数据源

DeltaDirectReads / DeltaPhysicalReads
其中：

DeltaDirectReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads direct' and n.statistic#=s.statistic#' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。某些更改正在生成重做日志条目，如果事务处理被提交，它们将成为对数据库的永久更改。

此统计数据是数据库总工作的粗略指示。此统计数据表明缓冲区的灰化速率。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db block changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。产生大量持续更改的工作量可能消耗大量的资源。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表在此采样周期内每秒到磁盘 (与在内存中执行的排序相对) 的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序(与在磁盘上执行的排序相对)数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (rows)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/内存排序数比率

## 磁盘排序数/内存排序数比率

#### 说明

此数据项代表在此采样周期内在磁盘上执行的排序数(与在内存中执行的排序数相对)百分比。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / DeltaMemorySorts
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
磁盘排序数/排序行数的比率

## 磁盘排序数/排序行数的比率

执行到磁盘的排序数百分比

分析计数 (硬)/秒

## 分析计数 (硬)/秒

#### 说明

此数据项代表此采样周期内每秒的分析数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (hard)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
分析计数 (总计)/秒

## 分析计数 (总计)/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析花费的时间

## 分析花费的时间

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseElapsedTime
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值

#### 用户操作

UGA 内存

## UGA 内存

#### 说明

此数据项代表用于此会话的当前 UGA 大小。

#### 数据源

采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session uga memory' and n.statistic#=s.statistic#' 的差值

#### 用户操作

平均每次分析的等待时间

## 平均每次分析的等待时间

#### 说明

此数据项代表此采样周期内每个分析的平均等待时间 (秒)。

#### 数据源

((DeltaParseElapsedTime - DeltaParseCpuTime) / Seconds) / DeltaParseCount
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值
DeltaParseCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='execute count' and n.statistic#=s.statistic#'的差值
Seconds：采样周期内的秒数

#### 用户操作

并行查询

# 并行查询

并行查询动作

并行查询缺省图表
并行查询缺省图表

并行查询动作

进程 ID

## 进程 ID

Oracle 进程标识符

SPID

## SPID

操作系统进程标识符

例程 ID

## 例程 ID

例程 ID

服务器组

## 服务器组

此并行服务器进程所属的服务器逻辑组

服务器集

## 服务器集

此并行服务器进程所属的服务器逻辑集

并行度

## 并行度

服务器集所使用的并行度

请求的并行度

## 请求的并行度

用户所请求的并行度

等待事件

## 等待事件

此会话正在等待的事件名

不能扩展的表

# 不能扩展的表

由于 next_extent 大于可用空间而不能扩展的表

不能扩展的表的缺省图表
不能扩展的表的缺省图表

由于 next_extent 大于可用空间而不能扩展的表

表空间名

## 表空间名

表空间名

所有者

## 所有者

表的所有者

下一个扩展

## 下一个扩展

下一个扩展

最大的空闲空间 (字节)

## 最大的空闲空间 (字节)

表空间中最大的空闲块的大小

按主机的会话统计数据

# 按主机的会话统计数据

用于主机的会话统计数据

此类包括下列图表：

计算机会话详细信息

按主机的会话统计数据的缺省图表
按主机的会话统计数据的缺省图表

用于主机的会话统计数据

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间百分比

## 总的 CPU 时间百分比

#### 说明

此数据项代表此会话所使用的 CPU 时间百分比。

#### 数据源

(DeltaCpuTime / DeltaTotalCpuTime) * 100
其中：

DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaTotalCpuTime：采样周期结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

分析 CPU 百分比

## 分析 CPU 百分比

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaCpuTime) * 100
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 百分比

## 递归 CPU 百分比

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

(DeltaRecursiveTime / DeltaCpuTime) * 100
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 百分比

## 其他 CPU 百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaCpuTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaCpuTime) * 100
其中：

DeltaCpuTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaParseTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaRecursiveTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表在此采样周期内每秒以CURRENT 模式获得的块数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表此采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaConsistentGets / Seconds
其中：

DeltaConsistentGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘读取比率

## 磁盘读取比率

#### 说明

此数据项代表此采样周期内从磁盘直接读取 (绕过缓冲区高速缓存) 的读取数百分比。例如，在高带宽、数据密集型操作 (如并行查询) 中，绕过缓冲区高速缓存的磁盘块读取使传输率达到最大，并防止驻留在缓冲区高速缓存中的共享数据块过早超龄。

#### 数据源

DeltaDirectReads / DeltaPhysicalReads
其中：

DeltaDirectReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads direct' and n.statistic#=s.statistic#' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。某些更改正在生成重做日志条目，如果事务处理被提交，它们将成为对数据库的永久更改。

此统计数据是数据库总工作的粗略指示。此统计数据表明缓冲区的灰化速率。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db block changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。产生大量持续更改的工作量可能消耗大量的资源。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表在此采样周期内每秒到磁盘 (与在内存中执行的排序相对) 的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序(与在磁盘上执行的排序相对)数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (rows)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/内存排序数比率

## 磁盘排序数/内存排序数比率

#### 说明

此数据项代表在此采样周期内在磁盘上执行的排序数(与在内存中执行的排序数相对)百分比。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / DeltaMemorySorts
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
磁盘排序数/排序行数的比率

## 磁盘排序数/排序行数的比率

执行到磁盘的排序数百分比

分析计数 (硬)/秒

## 分析计数 (硬)/秒

#### 说明

此数据项代表此采样周期内每秒的分析数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (hard)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
分析计数 (总计)/秒

## 分析计数 (总计)/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析花费的时间

## 分析花费的时间

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseElapsedTime
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值

#### 用户操作

UGA 内存

## UGA 内存

#### 说明

此数据项代表用于此会话的当前 UGA 大小。

#### 数据源

采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session uga memory' and n.statistic#=s.statistic#' 的差值

#### 用户操作

平均每次分析的等待时间

## 平均每次分析的等待时间

#### 说明

此数据项代表此采样周期内每个分析的平均等待时间 (秒)。

#### 数据源

((DeltaParseElapsedTime - DeltaParseCpuTime) / Seconds) / DeltaParseCount
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值
DeltaParseCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='execute count' and n.statistic#=s.statistic#'的差值
Seconds：采样周期内的秒数

#### 用户操作

序列号

## 序列号

会话序列号

按程序的会话统计数据

# 按程序的会话统计数据

用于程序的会话统计数据

此类包括下列图表：

程序会话详细信息

按程序的会话统计数据的缺省图表
按程序的会话统计数据的缺省图表

用于程序的会话统计数据

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间百分比

## 总的 CPU 时间百分比

#### 说明

此数据项代表此会话所使用的 CPU 时间百分比。

#### 数据源

(DeltaCpuTime / DeltaTotalCpuTime) * 100
其中：

DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaTotalCpuTime：采样周期结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

分析 CPU 百分比

## 分析 CPU 百分比

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaCpuTime) * 100
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 百分比

## 递归 CPU 百分比

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

(DeltaRecursiveTime / DeltaCpuTime) * 100
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 百分比

## 其他 CPU 百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaCpuTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaCpuTime) * 100
其中：

DeltaCpuTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaParseTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaRecursiveTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表在此采样周期内每秒以CURRENT 模式获得的块数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表此采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaConsistentGets / Seconds
其中：

DeltaConsistentGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘读取比率

## 磁盘读取比率

#### 说明

此数据项代表此采样周期内从磁盘直接读取 (绕过缓冲区高速缓存) 的读取数百分比。例如，在高带宽、数据密集型操作 (如并行查询) 中，绕过缓冲区高速缓存的磁盘块读取使传输率达到最大，并防止驻留在缓冲区高速缓存中的共享数据块过早超龄。

#### 数据源

DeltaDirectReads / DeltaPhysicalReads
其中：

DeltaDirectReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads direct' and n.statistic#=s.statistic#' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。某些更改正在生成重做日志条目，如果事务处理被提交，它们将成为对数据库的永久更改。

此统计数据是数据库总工作的粗略指示。此统计数据表明缓冲区的灰化速率。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db block changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。产生大量持续更改的工作量可能消耗大量的资源。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表在此采样周期内每秒到磁盘 (与在内存中执行的排序相对) 的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序(与在磁盘上执行的排序相对)数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (rows)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/内存排序数比率

## 磁盘排序数/内存排序数比率

#### 说明

此数据项代表在此采样周期内在磁盘上执行的排序数(与在内存中执行的排序数相对)百分比。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / DeltaMemorySorts
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
磁盘排序数/排序行数的比率

## 磁盘排序数/排序行数的比率

执行到磁盘的排序数百分比

分析计数 (硬)/秒

## 分析计数 (硬)/秒

#### 说明

此数据项代表此采样周期内每秒的分析数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (hard)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
分析计数 (总计)/秒

## 分析计数 (总计)/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析花费的时间

## 分析花费的时间

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseElapsedTime
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值

#### 用户操作

UGA 内存

## UGA 内存

#### 说明

此数据项代表用于此会话的当前 UGA 大小。

#### 数据源

采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session uga memory' and n.statistic#=s.statistic#' 的差值

#### 用户操作

平均每次分析的等待时间

## 平均每次分析的等待时间

#### 说明

此数据项代表此采样周期内每个分析的平均等待时间 (秒)。

#### 数据源

((DeltaParseElapsedTime - DeltaParseCpuTime) / Seconds) / DeltaParseCount
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值
DeltaParseCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='execute count' and n.statistic#=s.statistic#'的差值
Seconds：采样周期内的秒数

#### 用户操作

序列号

## 序列号

会话序列号

按用户的会话统计数据

# 按用户的会话统计数据

用于用户的会话统计数据

此类包括下列图表：

用户会话详细信息

按用户的会话统计数据的缺省图表
按用户的会话统计数据的缺省图表

用于用户的会话统计数据

分析计数

## 分析计数

#### 说明

此数据项代表此会话的分析调用 (硬和软) 总数。

#### 数据源

select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#

#### 用户操作

执行计数

## 执行计数

#### 说明

此数据项代表为此会话执行 SQL 语句的调用 (用户和递归) 总数。

#### 数据源

UserCalls + RecursiveCalls
其中：

UserCalls：select s.value from v$sesstat s, v$statname n where n.name='user calls' and n.statistic#=s.statistic#
RecursiveCalls：select s.value from v$sesstat s, v$statname n where n.name='recursive calls' and n.statistic#=s.statistic#

#### 用户操作

会话游标高速缓存命中数

## 会话游标高速缓存命中数

#### 说明

此数据项代表此采样周期内会话游标高速缓存中的命中数。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache hits' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

会话游标高速缓存计数

## 会话游标高速缓存计数

#### 说明

此数据项代表此采样周期内存储于高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheHits
其中：

DeltaCursorCacheHits：采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='session cursor cache count' and n.statistic#=s.statistic#' 的差值。

#### 用户操作

总的 CPU 时间百分比

## 总的 CPU 时间百分比

#### 说明

此数据项代表此会话所使用的 CPU 时间百分比。

#### 数据源

(DeltaCpuTime / DeltaTotalCpuTime) * 100
其中：

DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaTotalCpuTime：采样周期结束和开始时的 'select value from v$sysstat where name='CPU used by this session'' 的差值

#### 用户操作

分析 CPU 百分比

## 分析 CPU 百分比

#### 说明

此数据项代表正被用于分析 (硬和软) 的此会话的 CPU 时间百分比。分析时间 CPU 可能是应用程序没有得到很好调整的明显表征。高分析时间 CPU 通常表明此应用程序可能正在花费过多的时间打开和关闭游标，或者未使用赋值变量。

#### 数据源

(DeltaParseTime / DeltaCpuTime) * 100
其中：

DeltaParseTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果正在发生过多的分析，请检查 SQL 语句。查找可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
递归 CPU 百分比

## 递归 CPU 百分比

#### 说明

有时为了执行用户发出的 SQL 语句，Oracle Server 必须发出其他语句。这样的语句称为递归调用或递归 SQL 语句。例如，当您向表中插入一行，而表无足够的空间容纳此行时，如果正在使用字典管理的表空间，则 Oracle Server 进行递归调用来动态分配空间。在下列情况下也会产生递归调用：

当数据字典高速缓存中无可用的数据字典信息而必须从磁盘检索时
在触发数据库触发器的过程中
在 DDL 语句执行的过程中
在存储过程、函数、程序包和匿名 PL/SQL 块内的 SQL 语句执行的过程中
在引用完整性约束条件的强制执行过程中

此数据项代表此会话的 CPU 时间正被用于递归调用的百分比。

#### 数据源

(DeltaRecursiveTime / DeltaCpuTime) * 100
其中：

DeltaRecursiveTime：采样周期结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值
DeltaCpuTime：此采样周期开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果在您的应用程序运行时 Oracle Server 看起来进行过多的递归调用，请确定是哪些动作引起这些递归调用。如果确定递归调用是由动态扩展引起的，则请通过分配更大的区来降低扩展的频率，或者如果您正在使用 Oracle 8.i，则请考虑利用本地管理的表空间，这样也可以降低扩展的频率。
其他 CPU 百分比

## 其他 CPU 百分比

#### 说明

此数据项代表查找缓冲区、提取行或索引关键字等所花费的时间百分比。通常“其他”CPU 应该代表所用总的 CPU 时间中 CPU 时间的最高百分比。

#### 数据源

((DeltaCpuTime - (DeltaParseTime + DeltaRecursiveTime)) / DeltaCpuTime) * 100
其中：

DeltaCpuTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='CPU used by this session' and n.statistic#=s.statistic#' 的差值
DeltaParseTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaRecursiveTime：采样开始和结束时的 'select s.value from v$sesstat s, v$statname n where n.name='recursive cpu usage' and n.statistic#=s.statistic#' 的差值

#### 用户操作

通过研究具有大量 buffer_gets 和/或大量物理读取的 SQL 语句，有可能减少“其他”CPU 时间。
块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表在此采样周期内每秒以CURRENT 模式获得的块数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaBlockGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db blocks gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表此采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaConsistentGets / Seconds
其中：

DeltaConsistentGets：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent gets' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表在此采样周期内每秒从磁盘读取的数据块数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘读取比率

## 磁盘读取比率

#### 说明

此数据项代表此采样周期内从磁盘直接读取 (绕过缓冲区高速缓存) 的读取数百分比。例如，在高带宽、数据密集型操作 (如并行查询) 中，绕过缓冲区高速缓存的磁盘块读取使传输率达到最大，并防止驻留在缓冲区高速缓存中的共享数据块过早超龄。

#### 数据源

DeltaDirectReads / DeltaPhysicalReads
其中：

DeltaDirectReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads direct' and n.statistic#=s.statistic#' 的差值
DeltaPhysicalReads：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='physical reads' and n.statistic#=s.statistic#' 的差值

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。某些更改正在生成重做日志条目，如果事务处理被提交，它们将成为对数据库的永久更改。

此统计数据是数据库总工作的粗略指示。此统计数据表明缓冲区的灰化速率。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='db block changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表作为更新或删除的一部分对 SGA 中的块进行更改的次数。产生大量持续更改的工作量可能消耗大量的资源。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='consistent changes' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表在此采样周期内每秒到磁盘 (与在内存中执行的排序相对) 的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序(与在磁盘上执行的排序相对)数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (rows)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/内存排序数比率

## 磁盘排序数/内存排序数比率

#### 说明

此数据项代表在此采样周期内在磁盘上执行的排序数(与在内存中执行的排序数相对)百分比。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / DeltaMemorySorts
其中：

DeltaDiskSorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (disk)' and n.statistic#=s.statistic#' 的差值
DeltaMemorySorts：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='sorts (memory)' and n.statistic#=s.statistic#' 的差值

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
磁盘排序数/排序行数的比率

## 磁盘排序数/排序行数的比率

执行到磁盘的排序数百分比

分析计数 (硬)/秒

## 分析计数 (硬)/秒

#### 说明

此数据项代表此采样周期内每秒的分析数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (hard)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
分析计数 (总计)/秒

## 分析计数 (总计)/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseCount / Second
其中：

DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析花费的时间

## 分析花费的时间

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 数。

#### 数据源

DeltaParseElapsedTime
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值

#### 用户操作

UGA 内存

## UGA 内存

#### 说明

此数据项代表用于此会话的当前 UGA 大小。

#### 数据源

采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='session uga memory' and n.statistic#=s.statistic#' 的差值

#### 用户操作

平均每次分析的等待时间

## 平均每次分析的等待时间

#### 说明

此数据项代表此采样周期内每个分析的平均等待时间 (秒)。

#### 数据源

((DeltaParseElapsedTime - DeltaParseCpuTime) / Seconds) / DeltaParseCount
其中：

DeltaParseElapsedTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time elapsed' and n.statistic#=s.statistic#' 的差值
DeltaParseCpuTime：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse time cpu' and n.statistic#=s.statistic#' 的差值
DeltaParseCount：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='parse count (total)' and n.statistic#=s.statistic#' 的差值
Seconds：采样周期内的秒数

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样结束和开始时的 'select s.value from v$sesstat s, v$statname n where n.name='execute count' and n.statistic#=s.statistic#'的差值
Seconds：采样周期内的秒数

#### 用户操作

序列号

## 序列号

会话序列号

SQL 视图使用情况

# SQL 视图使用情况

SQL 视图使用情况

SQL 视图使用情况缺省图表
SQL 视图使用情况缺省图表

SQL 视图使用情况

文本

## 文本

#### 说明

此数据项代表用于视图的文本。

#### 数据源

select text from dba_views

#### 用户操作

SQL 表使用情况

# SQL 表使用情况

列出正由 SQL 语句使用的表

此类包括下列图表：

此查询所引用的表

SQL 表使用情况缺省图表
SQL 表使用情况缺省图表

列出正由 SQL 语句使用的表

最近一次分析的

## 最近一次分析的

#### 说明

此数据项代表最近一次分析此表的日期。

#### 数据源

select analyzetime from sys.tab$

#### 用户操作

因为基于成本的优化程序依赖于统计数据，所以保证这些统计数据有效是非常重要的。如果表的大小和数据分布频繁变化，则应该定期生成这些统计数据以保证它们的准确性。基于成本的优化程序统计数据可以通过使用 ANALYZE 命令或 DBMS_STATS 程序包生成。

当您生成某个表的统计数据时，如果字典已经包含此分析对象的统计数据，则 Oracle 将更新现有的统计数据。Oracle 同时使访问此分析对象的任何当前分析 SQL 语句无效。

下次当这种语句执行时，优化程序就会自动选择基于新统计数据的新执行计划。
行数

## 行数

#### 说明

此数据项代表在基于成本的优化程序统计数据生成期间返回的行数。

因为基于成本的优化程序依赖于统计数据，所以保证这些统计数据有效是非常重要的。如果表的大小和数据分布频繁变化，则应该定期生成这些统计数据以保证它们的准确性。基于成本的优化程序统计数据可以通过使用 ANALYZE 命令或 DBMS_STATS 程序包生成。

出于对计算统计数据所需的时间和空间的考虑，在许多情况下可能使用估计而不使用计算。

#### 数据源

select rowcnt from sys.tab$

#### 用户操作

链接行百分比

## 链接行百分比

#### 说明

此数据项代表被链接或移植的行的百分比。

#### 数据源

select (chncnt/rowcnt)*100 from sys.tab$

#### 用户操作

在两种情况下表中的行的数据可能太大而无法存储在单个数据块中。这将导致行碎片。

第一种情况是在行首次被插入时由于太大而无法存储在一个数据块中。在这种情况中，Oracle Server 将行的数据存储在为该段保留的数据块链中。行链接大多数情况下是由于大型行 (诸如包含数据类型为 LONG 或 LONG RAW 的列的行) 而出现的。在这些情况中如果不使用更大的 DB_BLOCK_SIZE，则行链接是不可避免的。

但第二种情况是，原先存储在一个数据块中的行被更新以致整个行的长度增加，而块的空闲空间已被完全填满。在这种情况下，Oracle 会将整个行的数据移植到一个新的数据块中 (假定整个行可以放入一个新块中)。Oracle 保持被移植行的原始行片并使其指向包含被移植行的新块。

当某个行被延续或移植以后，与此行相关联的 I/O 性能将降低，因为 Oracle 为检索此行的信息必须扫描多个块。 可以通过使用分析列表链接行命令来标识移植行或链接行。此命令收集有关每个移植行和链接行的信息并将此信息保存在一个指定的输出表 (例如，CHAINED_ROWS) 中。所收集的信息包括任何移植行和链接行的头部行标识。一旦标识此信息以后，就可以按照下列步骤集中精力减少移植行和链接行，而不是重建整个表：

如果合适，禁用外键约束条件和触发器
创建一个与现有表具有相同列的中间表来容纳移植行和链接行：
create table intermediate as select * from existing where rowid in (select head_rowid from chained_rows where table_name='existing');
从现有的表中删除移植行和链接行：
delete from existing where rowid in
(select head_rowid from chained_rows where table_name='existing');
将此中间表的行插入现有的表中：
insert into existing select * from intermediate;
如果合适，重新启用相关性

消除行碎片比适当的预防代价更昂贵。通常，通过正确设置表的 pctfree 值可以将行移植问题减至最少。将 pctfree 设置得较高可以会浪费一定的空间，但这将在不同程度上保证不会发生行移植，过于保守可能导致过多的行移植并降低性能。Oracle 建议宁可在将 pctfree 设置为高值上犯错误，也不在将其设置为低值上犯错误，因为大多数情况下这可能只有大约 5% 的差别。对于没有变宽列和/或不会更新的表，则可以安全忽略此参数或将其设置为较低的值。

如果链接行和/或移植行的百分比大于 5% 而且最大的行长度小于数据库块的大小，则请考虑增大当前的 pctfree 设置以减少将来不得不对行进行移植的可能性。
访问此表的 SQL

# 访问此表的 SQL

访问此表的 SQL 语句

此类包括下列图表：

高速缓存中访问此表的所有 SQL

访问此表的 SQL 的缺省图表
访问此表的 SQL 的缺省图表

访问此表的 SQL 语句

SQL 文本

## SQL 文本

#### 说明

此数据项包括当前游标的 SQL 文本的前八十个字符。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

select disk_reads from v$sqlarea

#### 用户操作

缓冲区获取数

## 缓冲区获取数

#### 说明

此数据项代表高速缓存中的缓冲区满足的读取请求数。换句话说，它的值就是此语句的所有执行所读取的总块数。

#### 数据源

select buffer_gets from v$sqlarea

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表在此采样周期内每秒执行此语句的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaExecutions：采样结束和开始时的 'select executions from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析调用数/秒

## 分析调用数/秒

#### 说明

此数据项代表此采样周期内每秒分析此语句的次数。

#### 数据源

DeltaParseCalls / Seconds
其中：

DeltaParseCalls：采样结束和开始时的 'select parse_calls from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内此语句每秒执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲区获取数/秒

## 缓冲区获取数/秒

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区每秒满足的此语句的读取请求数。

#### 数据源

DeltaBufferGets / Seconds
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

处理的行数/秒

## 处理的行数/秒

#### 说明

此数据项代表在此采样周期内为完成此语句每秒处理的总行数。

#### 数据源

DeltaRowsProcessed / Seconds
其中：

DeltaRowsProcessed：采样结束和开始时的 'select rows_processed from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

可共享内存总计

## 可共享内存总计

#### 说明

此数据项代表此语句所使用的全部可共享内存的总和 (字节)。

#### 数据源

select sharable_mem from v$sqlarea

#### 用户操作

永久内存总计

## 永久内存总计

#### 说明

此数据项代表此语句所使用的全部永久内存的总和 (字节)。

#### 数据源

select persistent_mem from v$sqlarea

#### 用户操作

运行时内存

## 运行时内存

#### 说明

此数据项代表当前此语句所使用的全部内存的总和 (字节)。

#### 数据源

select runtime_mem from v$sqlarea

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$sqlarea

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$sqlarea

#### 用户操作

物理读取数百分比

## 物理读取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的物理读取总数百分比。

#### 数据源

DeltaPhysicalReads / DeltaTotalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select sum(disk_reads) from v$sql' 的差值
DeltaTotalReads：采样结束和开始时的 'select value from v$sysstat where name='physical reads'' 的差值

#### 用户操作

缓冲区获取数百分比

## 缓冲区获取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的缓冲区获取总数百分比。

#### 数据源

DeltaBufferGets / DeltaTotalGets
其中：

DeltaBufferGets：采样结束和开始时的 'select sum(buffer_gets) from v$sql' 的差值
DeltaTotalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值

#### 用户操作

来自会话的 SQL

# 来自会话的 SQL

当前会话正在执行的 SQL 语句

此类包括下列图表：

用于此会话的打开游标

按物理读取数排序的打开 SQL 游标

按分析调用数排序的打开 SQL 游标

来自会话的 SQL 的缺省图表
来自会话的 SQL 的缺省图表

当前会话正在执行的 SQL 语句

SQL 文本

## SQL 文本

#### 说明

此数据项包括当前游标的 SQL 文本的前八十个字符。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

select disk_reads/greatest(executions,1) from v$sqlarea

#### 用户操作

缓冲区获取数

## 缓冲区获取数

#### 说明

此数据项代表高速缓存中的缓冲区满足的读取请求数。换句话说，它的值就是此语句的所有执行所读取的总块数。

#### 数据源

select buffer_gets/greatest(executions,1) from v$sqlarea

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表在此采样周期内每秒执行此语句的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaExecutions：采样结束和开始时的 'select executions from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析调用数/秒

## 分析调用数/秒

#### 说明

此数据项代表此采样周期内每秒分析此语句的次数。

#### 数据源

DeltaParseCalls / Seconds
其中：

DeltaParseCalls：采样结束和开始时的 'select parse_calls from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内此语句每秒执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads/greatest(executions,1) from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲区获取数/秒

## 缓冲区获取数/秒

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区每秒满足的此语句的读取请求数。

#### 数据源

DeltaBufferGets / Seconds
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets/greatest(executions,1) from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

处理的行数/秒

## 处理的行数/秒

#### 说明

此数据项代表在此采样周期内为完成此语句每秒处理的总行数。

#### 数据源

DeltaRowsProcessed / Seconds
其中：

DeltaRowsProcessed：采样结束和开始时的 'select rows_processed from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

可共享内存总计

## 可共享内存总计

#### 说明

此数据项代表此语句所使用的全部可共享内存的总和 (字节)。

#### 数据源

select sharable_mem from v$sqlarea

#### 用户操作

永久内存总计

## 永久内存总计

#### 说明

此数据项代表此语句所使用的全部永久内存的总和 (字节)。

#### 数据源

select persistent_mem from v$sqlarea

#### 用户操作

运行时内存

## 运行时内存

#### 说明

此数据项代表当前此语句所使用的全部内存的总和 (字节)。

#### 数据源

select runtime_mem from v$sqlarea

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$sqlarea

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$sqlarea

#### 用户操作

物理读取数百分比

## 物理读取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的物理读取总数百分比。

#### 数据源

DeltaPhysicalReads / DeltaTotalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select sum(disk_reads) from v$sql' 的差值
DeltaTotalReads：采样结束和开始时的 'select value from v$sysstat where name='physical reads'' 的差值

#### 用户操作

缓冲区获取数百分比

## 缓冲区获取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的缓冲区获取总数百分比。

#### 数据源

DeltaBufferGets / DeltaTotalGets
其中：

DeltaBufferGets：采样结束和开始时的 'select sum(buffer_gets) from v$sql' 的差值
DeltaTotalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值

#### 用户操作

类似的 SQL 语句

# 类似的 SQL 语句

此类列出在高速缓存中找到的前 50 个字符相同的 SQL 语句

此类包括下列图表：

存放 SQL 语句的库高速缓存

类似的 SQL 语句的缺省图表
类似的 SQL 语句的缺省图表

此类列出在高速缓存中找到的前 50 个字符相同的 SQL 语句

计数

## 计数

#### 说明

此数据项代表在共享 SQL 区域中找到类似 SQL 段的次数。

#### 数据源

select count(*) from v$sql
group by substr(sql_text,1,50) having count(*) > 5

#### 用户操作

检查可以被修改以优化共享 SQL 池内存使用和避免不必要的语句重新分析的 SQL 语句。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
细部类似的 SQL

# 细部类似的 SQL

看起来几乎相同的 SQL 语句

此类包括下列图表：

类似 SQL 语句的详细信息

细部类似的 SQL 的缺省图表
细部类似的 SQL 的缺省图表

看起来几乎相同的 SQL 语句

SQL 文本

## SQL 文本

#### 说明

此数据项包括当前游标的 SQL 文本的前八十个字符。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表物理读取数。换句话说，就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

select disk_reads/greatest(executions,1) from v$sqlarea

#### 用户操作

缓冲区获取数

## 缓冲区获取数

#### 说明

此数据项代表高速缓存中的缓冲区满足的读取请求数。换句话说，它的值就是此语句的所有执行所读取的总块数。

#### 数据源

select buffer_gets/greatest(executions,1) from v$sqlarea

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表在此采样周期内每秒执行此语句的次数。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaExecutions：采样结束和开始时的 'select executions from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析调用数/秒

## 分析调用数/秒

#### 说明

此数据项代表此采样周期内每秒分析此语句的次数。

#### 数据源

DeltaParseCalls / Seconds
其中：

DeltaParseCalls：采样结束和开始时的 'select parse_calls from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内此语句每秒执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads/greatest(executions,1) from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲区获取数/秒

## 缓冲区获取数/秒

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区每秒满足的此语句的读取请求数。

#### 数据源

DeltaBufferGets / Seconds
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets/greatest(executions,1) from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

处理的行数/秒

## 处理的行数/秒

#### 说明

此数据项代表在此采样周期内为完成此语句每秒处理的总行数。

#### 数据源

DeltaRowsProcessed / Seconds
其中：

DeltaRowsProcessed：采样结束和开始时的 'select rows_processed from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

可共享内存总计

## 可共享内存总计

#### 说明

此数据项代表此语句所使用的全部可共享内存的总和 (字节)。

#### 数据源

select sharable_mem from v$sqlarea

#### 用户操作

永久内存总计

## 永久内存总计

#### 说明

此数据项代表此语句所使用的全部永久内存的总和 (字节)。

#### 数据源

select persistent_mem from v$sqlarea

#### 用户操作

运行时内存

## 运行时内存

#### 说明

此数据项代表当前此语句所使用的全部内存的总和 (字节)。

#### 数据源

select runtime_mem from v$sqlarea

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$sqlarea

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$sqlarea

#### 用户操作

物理读取数百分比

## 物理读取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的物理读取总数百分比。

#### 数据源

DeltaPhysicalReads / DeltaTotalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select sum(disk_reads) from v$sql' 的差值
DeltaTotalReads：采样结束和开始时的 'select value from v$sysstat where name='physical reads'' 的差值

#### 用户操作

缓冲区获取数百分比

## 缓冲区获取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的缓冲区获取总数百分比。

#### 数据源

DeltaBufferGets / DeltaTotalGets
其中：

DeltaBufferGets：采样结束和开始时的 'select sum(buffer_gets) from v$sql' 的差值
DeltaTotalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值

#### 用户操作

每秒的例程统计数据

# 每秒的例程统计数据

每秒为整个例程汇总的统计数据

此类包括下列图表：

获取速率和更改速率

空闲缓冲区统计数据

分析统计数据

连接的缓冲区计数

调用速率

内存排序比率

排序数和扫描

吞吐率

每秒的例程统计数据的缺省图表
每秒的例程统计数据的缺省图表

每秒为整个例程汇总的统计数据

查看的空闲缓冲区数/秒

## 查看的空闲缓冲区数/秒

#### 说明

此数据项代表此采样周期内为查找可重用的缓冲区每秒从 LRU 队列的尾部跳过的缓冲区数。此统计值与“检查到的灰缓冲区数”的差值是不能被使用的缓冲区的数目，因为这些缓冲区正忙、需要在快速超龄释放以后被写入，或者它们有用户、等待者，或者正被读取/写入。

#### 数据源

DeltaFreeBuffersInspected / Seconds
其中：

DeltaFreeBuffersInspected：采样周期结束和开始时的 'select value from v$sysstat where name='free buffer inspected'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

请求的空闲缓冲区/秒

## 请求的空闲缓冲区/秒

#### 说明

此数据项代表此采样周期内每秒请求可重用缓冲区或空闲缓冲区以创建或加载块的次数计数。

#### 数据源

DeltaFreeBuffersRequested / Seconds
其中：

DeltaFreeBuffersRequested：采样周期结束和开始时的 'select value from v$sysstat where name='free buffer requested'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

查看的灰数据缓冲区/秒

## 查看的灰数据缓冲区/秒

#### 说明

此数据项代表此采样周期内当前台查找要重用的缓冲区时每秒所找到的灰数据缓冲区的数目。

#### 数据源

DeltaFreeBuffersRequested / Seconds
其中：

DeltaFreeBuffersRequested：采样周期结束和开始时的 'select value from v$sysstat where name='dirty buffers inspected'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析数/秒

## 分析数/秒

#### 说明

此数据项代表此采样周期内每秒执行的分析调用 (硬和软) 总数。

#### 数据源

DeltaParses / Seconds
其中：

DeltaParses：采样周期结束和开始时的 'select value from v$sysstat where name='parse count (total)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

硬分析数/秒

## 硬分析数/秒

#### 说明

此数据项代表此采样周期内每秒的硬分析数。

#### 数据源

DeltaParses / Seconds
其中：

DeltaParses：采样周期结束和开始时的 'select value from v$sysstat where name='parse count (hard)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
执行数/秒

## 执行数/秒

#### 说明

此数据项代表此采样周期内每秒的语句执行 (用户和递归) 的次数。

#### 数据源

DeltaExecutes / Seconds
其中：

DeltaExecutes：采样周期结束和开始时的 'select value from v$sysstat where name='execute count'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

游标高速缓存计数/秒

## 游标高速缓存计数/秒

#### 说明

此数据项代表此采样周期内每秒存储到高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheCount / Seconds
其中：

DeltaCursorCacheCount：采样周期结束和开始时的 'select value from v$sysstat where name='session cursor cache count'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

游标高速缓存命中数/秒

## 游标高速缓存命中数/秒

#### 说明

此数据项代表采样周期内会话游标高速缓存中每秒的命中数计数。命中意味着 SQL 语句未被重新分析。通过从“分析计数 (总计)”中减去此值就可以确定所发生的实际分析数。

#### 数据源

DeltaCursorCacheHits / Seconds
其中：

DeltaCursorCacheHits：采样周期结束和开始时的 'select value from v$sysstat where name='session cursor cache hits'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续获取数/秒

## 持续获取数/秒

#### 说明

此数据项代表采样周期内每秒为块请求持续读取的次数。

#### 数据源

DeltaConsistentGets / Seconds
其中：

DeltaConsistentGets：采样周期结束和开始时的 'select value from v$sysstat where name='consistent gets'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

已连接缓冲区的次数/秒

## 已连接缓冲区的次数/秒

#### 说明

此数项代表在采样周期内当客户机检查所需的缓冲区以确定它是否已被连接时此缓冲区每秒已被客户机连接的次数。

#### 数据源

DeltaPinned / Seconds
where：

DeltaPinned：采样周期结束和开始时的 'select value from v$sysstat where name='buffer is pinned count'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

尚未连接缓冲区的次数/秒

## 尚未连接缓冲区的次数/秒

#### 说明

此数据项代表采样周期内当客户机检查缓冲区以确定它是否已被连接时此缓冲区每秒尚未被客户机连接的次数。

#### 数据源

DeltaNotPinned / Seconds
其中：

DeltaNotPinned：采样周期结束和开始时的 'select value from v$sysstat where name='buffer is not pinned count'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

用户调用数/秒

## 用户调用数/秒

#### 说明

此数据项代表采样周期内每秒的登录、分析或执行调用数。

#### 数据源

DeltaUserCalls / Seconds
其中：

DeltaUserCalls：采样周期结束和开始时的 'select value from v$sysstat where name='user calls'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

用户调用数/秒

## 用户调用数/秒

#### 说明

此数据项代表采样周期内导致对内部表的更改的每秒调用数。

#### 数据源

DeltaRecursiveCalls / Seconds
其中：

DeltaRecursiveCalls：采样周期结束和开始时的 'select value from v$sysstat where name='recursive calls'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

登录数/秒

## 登录数/秒

#### 说明

此数据项代表采样周期内每秒的登录数。

#### 数据源

DeltaLogons / Seconds
其中：

DeltaLogons：采样周期结束和开始时的 'select value from v$sysstat where name='logons cumulative'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

磁盘排序数/秒

## 磁盘排序数/秒

#### 说明

此数据项代表此采样周期内每秒转到磁盘的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Seconds
其中：

DeltaDiskSorts：采样周期结束和开始时的 'select value from v$sysstat where name='sorts (disk)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/秒

## 内存排序数/秒

#### 说明

此数据项代表在此采样周期内每秒在内存中执行的排序 (与在磁盘上执行的排序相对) 数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaBlockGets / Seconds
其中：

DeltaDiskSorts：采样周期结束和开始时的 'select value from v$sysstat where name='sorts (memory)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/秒

## 排序行数/秒

#### 说明

此数据项代表此采样周期内平均的每秒排序行数。

#### 数据源

DeltaSortRows / Seconds
其中：

DeltaSortRows：采样周期结束和开始时的 'select value from v$sysstat where name='sorts (rows)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

入队等待数/秒

## 入队等待数/秒

#### 说明

此数据项代表此采样周期内在入队转换或获取期间因不能立即授予入队而发生的每秒等待数。

#### 数据源

DeltaWaits / Seconds
其中：

DeltaWaits：采样周期结束和开始时的 'select value from v$sysstat where name='enqueue waits'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

块获取数/秒

## 块获取数/秒

#### 说明

此数据项代表采样周期内每秒对块请求数。

#### 数据源

DeltaGets / Seconds
其中：

DeltaGets：采样周期结束和开始时的 'select value from v$sysstat where name='db block gets'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

块更改数/秒

## 块更改数/秒

#### 说明

此数据项代表采样周期内作为更新或删除操作的结果每秒对 SGA 中的所有块进行的更改数。此值是对全部数据库工作的一个粗略指示，正像它指示缓冲区被灰化的速率那样。

#### 数据源

DeltaBlockChanges / Seconds
其中：

DeltaBlockChanges：采样周期结束和开始时的 'select value from v$sysstat where name='db block changes'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

持续更改数/秒

## 持续更改数/秒

#### 说明

此数据项代表采样周期内用户进程每秒应用回退条目对块执行持续读取的次数。

#### 数据源

DeltaConsistentChanges / Seconds
其中：

DeltaConsistentChanges：采样周期结束和开始时的 'select value from v$sysstat where name='consistent changes'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

回退数/秒

## 回退数/秒

#### 说明

此数据项代表在采样周期内用户每秒手动发出 ROLLBACK 语句的次数或在用户事务处理期间每秒发生错误的次数。

#### 数据源

DeltaRollbacks / Seconds
其中：

DeltaRollbacks：采样周期结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

此值说明用户发出 ROLLBACK 语句，或者在他们的事务处理期间遇到错误的频率。应该进行进一步的调查，以确定这些回退是错误应用程序逻辑的一部分，还是由于在数据库访问时发生的错误引起的。
提交数/秒

## 提交数/秒

#### 说明

此数据项代表此采样周期内每秒所执行的用户提交的数目。当用户提交事务处理时，必须将生成的反映对数据库块更改的重做写入磁盘。提交数通常代表最接近用户事务处理率的数据。

#### 数据源

DeltaCommits / Seconds
其中：

DeltaCommits：采样周期结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，这意味着您的系统可以处理更多的负载。实际上事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。
长表扫描数/秒

## 长表扫描数/秒

#### 说明

此数据项代表采样周期内每秒的长表扫描数。如果某个表未被高速缓存而且其高水线标记大于 5 个块，则认为此表是“长型的”。

#### 数据源

DeltaScans / Seconds
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (long tables)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

短表扫描数/秒

## 短表扫描数/秒

#### 说明

此数据项代表采样周期内每秒的短表扫描数。如果某个表被高速缓存而且其高水线标记小于 5 个块，则认为此表是“短型的”。

#### 数据源

DeltaScans / Seconds
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (short tables)'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

重做大小/秒

## 重做大小/秒

#### 说明

此数据项代表此采样周期内每秒生成的重做大小 (字节)。

#### 数据源

DeltaRedo / Seconds
其中：

DeltaRedo：采样周期结束和开始时的 'select value from v$sysstat where name='redo size'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内每秒的磁盘读取数。

#### 数据源

DeltaReads / Seconds
其中：

DeltaReads：采样周期结束和开始时的 'select value from v$sysstat where name=' physical reads'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理写入数/秒

## 物理写入数/秒

#### 说明

此数据项代表此采样周期内每秒的磁盘写入数。

#### 数据源

DeltaWrites / Seconds
其中：

DeltaWrites：采样周期结束和开始时的 'select value from v$sysstat where name=' physical writes'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

会话逻辑读取数/秒

## 会话逻辑读取数/秒

#### 说明

此数据项代表此采样周期内每秒的逻辑读取数。

#### 数据源

DeltaReads / Seconds
其中：

DeltaReads：采样周期结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值
Seconds：采样周期内的秒数

#### 用户操作

每个事务处理的例程统计数据

# 每个事务处理的例程统计数据

每个事务处理中为整个例程汇总的统计数据

此类包括下列图表：

每个事务处理的获取和更改速率

每个事务处理的空闲缓冲区统计数据

每个事务处理的分析统计数据

每个事务处理的缓冲区连接计数

每个事务处理的调用速率

每个事务处理的内存排序比率

每个事务处理的排序数和扫描数

每个事务处理的吞吐率

每个事务处理的例程统计数据的缺省图表
每个事务处理的例程统计数据的缺省图表

每个事务处理中为整个例程汇总的统计数据

查看的空闲缓冲区数/事务处理

## 查看的空闲缓冲区数/事务处理

#### 说明

此数据项代表此采样周期内为查找可重用的缓冲区在每个事务处理中从 LRU 队列的尾部跳过的缓冲区数。此统计值与“检查到的灰缓冲区数”的差值是不能被使用的缓冲区的数目，因为这些缓冲区正忙、需要在快速超龄释放以后被写入，或者它们有用户、等待者，或者正被读取/写入。

#### 数据源

DeltaFreeBuffersInspected / Transactions
其中：

DeltaFreeBuffersInspected：采样周期结束和开始时的 'select value from v$sysstat where name='free buffer inspected'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

请求的空闲缓冲区数/事务处理

## 请求的空闲缓冲区数/事务处理

#### 说明

此数据项代表此采样周期内在每个事务处理中请求可重用缓冲区或空闲缓冲区以创建或加载块的次数计数。

#### 数据源

DeltaFreeBuffersRequested / Transactions
其中：

DeltaFreeBuffersRequested：采样周期结束和开始时的 'select value from v$sysstat where name='free buffer requested'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

查看的灰数据缓冲区数/事务处理

## 查看的灰数据缓冲区数/事务处理

#### 说明

此数据项代表此采样周期内当前台查找要重用的缓冲区时在每个事务处理期间所找到的灰数据缓冲区的数目。

#### 数据源

DeltaFreeBuffersRequested / Transactions
其中：

DeltaFreeBuffersRequested：采样周期结束和开始时的 'select value from v$sysstat where name='dirty buffers inspected'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

分析数/事务处理

## 分析数/事务处理

#### 说明

此数据项代表此采样周期内在每个事务处理期间执行的分析调用 (硬和软) 总数。

#### 数据源

DeltaParses / Transactions
其中：

DeltaParses：采样周期结束和开始时的 'select value from v$sysstat where name='parse count (total)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

硬分析数/事务处理

## 硬分析数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的硬分析数。

#### 数据源

DeltaParses / Transactions
其中：

DeltaParses：采样周期结束和开始时的 'select value from v$sysstat where name='parse count (hard)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

如果分析花费的时间过长，请评估 SQL 语句以确定可以修改哪些语句，以优化共享 SQL 池内存的使用并避免不必要的语句再分析。如果编写了在空格、大小写或二者的某种组合方面不一致的类似的 SQL 语句，则可能导致这种问题。只要有可能，您也可以考虑在您的语句中使用赋值变量，而不使用显式指定的常数。
执行数/事务处理

## 执行数/事务处理

#### 说明

此数据项代表此采样周期内在每个事务处理期间的语句执行 (用户和递归) 数。

#### 数据源

DeltaExecutes / Transactions
其中：

DeltaExecutes：采样周期结束和开始时的 'select value from v$sysstat where name='execute count'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

游标高速缓存计数/事务处理

## 游标高速缓存计数/事务处理

#### 说明

此数据项代表此采样周期内在每个事务处理期间存储到高速缓存中的游标总数。只有当 SESSION_CACHED_CURSORS 大于 0 时才增加此值。

#### 数据源

DeltaCursorCacheCount / Transactions
其中：

DeltaCursorCacheCount：采样周期结束和开始时的 'select value from v$sysstat where name='session cursor cache count'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

游标高速缓存命中数/事务处理

## 游标高速缓存命中数/事务处理

#### 说明

此数据项代表采样周期内会话游标高速缓存中每个事务处理的命中数计数。命中意味着 SQL 语句未被重新分析。通过从“分析计数 (总计)”中减去此值就可以确定所发生的实际分析数。

#### 数据源

DeltaCursorCacheHits / Transactions
其中：

DeltaCursorCacheHits：采样周期结束和开始时的 'select value from v$sysstat where name='session cursor cache hits'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

持续获取数/事务处理

## 持续获取数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理期间为块请求持续读取的次数。

#### 数据源

DeltaConsistentGets / Transactions
其中：

DeltaConsistentGets：采样周期结束和开始时的 'select value from v$sysstat where name='consistent gets'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

已连接缓冲区的次数/事务处理

## 已连接缓冲区的次数/事务处理

#### 说明

此数项代表在采样周期内当客户机检查所需的缓冲区以确定它是否已被连接时此缓冲区在每个事务处理期间已被客户机连接的次数。

#### 数据源

DeltaPinned / Transactions
其中：

DeltaPinned：采样周期结束和开始时的 'select value from v$sysstat where name='buffer is pinned count'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

尚未连接缓冲区的次数/事务处理

## 尚未连接缓冲区的次数/事务处理

#### 说明

此数据项代表采样周期内当客户机检查缓冲区以确定它是否已被连接时每个事务处理期间此缓冲区尚未被客户机连接的次数。

#### 数据源

DeltaNotPinned / Transactions
其中：

DeltaNotPinned：采样周期结束和开始时的 'select value from v$sysstat where name='buffer is not pinned count'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

用户调用数/事务处理

## 用户调用数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理的登录、分析或执行调用数。

#### 数据源

DeltaUserCalls / Transactions
其中：

DeltaUserCalls：采样周期结束和开始时的 'select value from v$sysstat where name='user calls'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

用户调用数/事务处理

## 用户调用数/事务处理

#### 说明

此数据项代表采样周期内导致对内部表的更改的每个事务处理的调用数。

#### 数据源

DeltaRecursiveCalls / Transactions
其中：

DeltaRecursiveCalls：采样周期结束和开始时的 'select value from v$sysstat where name='recursive calls'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

登录数/事务处理

## 登录数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理的登录数。

#### 数据源

DeltaLogons / Transactions
其中：

DeltaLogons：采样周期结束和开始时的 'select value from v$sysstat where name='logons cumulative'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

磁盘排序数/事务处理

## 磁盘排序数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理期间转到磁盘的排序数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaDiskSorts / Transactions
其中：

DeltaDiskSorts：采样周期结束和开始时的 'select value from v$sysstat where name='sorts (disk)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
内存排序数/事务处理

## 内存排序数/事务处理

#### 说明

此数据项代表在此采样周期内每个事务处理在内存中执行的排序 (与在磁盘上执行的排序相对) 数。

为了获得最佳性能，大多数排序应该在内存中进行，因为执行到磁盘的排序的代价是昂贵的。如果排序区域太小，排序操作期间将需要运行额外的排序。这将增加 CPU 和 I/O 资源开销。

#### 数据源

DeltaMemorySorts / Transactions
其中：

DeltaDiskSorts：采样周期结束和开始时的 'select value from v$sysstat where name='sorts (memory)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

如果过多的排序在磁盘上发生，则请考虑增大 SORT_AREA_SIZE 初始化参数以增大排序区域的大小。更大的排序区域将允许 Oracle Server 保持排序只在在内存中发生，这样就减少了使用当前高速缓存大小进行等量工作需要的 I/O 操作数。
排序行数/事务处理

## 排序行数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的平均排序行数。

#### 数据源

DeltaSortRows / Transactions
其中：

DeltaSortRows：采样周期结束和开始时的 'select value from v$sysstat where name='sorts (rows)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

入队等待数/事务处理

## 入队等待数/事务处理

#### 说明

此数据项代表此采样周期内在入队转换或获取期间因不能立即授予入队而发生的每个事务处理中的等待数。

#### 数据源

DeltaWaits / Transactions
其中：

DeltaWaits：采样周期结束和开始时的 'select value from v$sysstat where name='enqueue waits'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

块获取数/事务处理

## 块获取数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理对块的请求数。

#### 数据源

DeltaGets / Transactions
其中：

DeltaGets：采样周期结束和开始时的 'select value from v$sysstat where name='db block gets'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

块更改数/事务处理

## 块更改数/事务处理

#### 说明

此数据项代表采样周期内作为更新或删除操作的结果每个事务处理对 SGA 中的所有块进行的更改数。此值是对全部数据库工作的一个粗略指示，正像它指示缓冲区被灰化的速率那样。

#### 数据源

DeltaBlockChanges / Transactions
其中：

DeltaBlockChanges：采样周期结束和开始时的 'select value from v$sysstat where name='db block changes'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

持续更改数/事务处理

## 持续更改数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理中用户进程应用回退条目对块执行持续读取的次数。

#### 数据源

DeltaConsistentChanges / Transactions
其中：

DeltaConsistentChanges：采样周期结束和开始时的 'select value from v$sysstat where name='consistent changes'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

回退数/事务处理

## 回退数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理中用户手动发出 ROLLBACK 语句的次数或在用户事务处理期间发生错误的次数。

#### 数据源

DeltaRollbacks / Transactions
其中：

DeltaRollbacks：采样周期结束和开始时的 'select value from v$sysstat where name='user rollbacks'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

此值说明用户发出 ROLLBACK 语句，或者在他们的事务处理期间遇到错误的频率。应该进行进一步的调查，以确定这些回退是错误应用程序逻辑的一部分，还是由于在数据库访问时发生的错误引起的。
提交数/事务处理

## 提交数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理所执行的用户提交的数目。当用户提交事务处理时，必须将生成的反映对数据库块更改的重做写入磁盘。提交数通常代表最接近用户事务处理率的数据。

#### 数据源

DeltaCommits / Transactions
其中：

DeltaCommits：采样周期结束和开始时的 'select value from v$sysstat where name='user commits'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

此统计数据表示数据库中的工作已经完成了多少。事务处理率中的峰值不一定是坏事。如果响应时间保持在接近正常水平，这意味着您的系统可以处理更多的负载。实际上事务处理率的下降和响应时间的增加表明可能出现了问题。根据应用程序的不同，事务处理负载在一天的不同时间可能变化非常大。
长表扫描数/事务处理

## 长表扫描数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理的长表扫描数。如果某个表未被高速缓存而且其高水线标记大于 5 个块，则认为此表是“长型的”。

#### 数据源

DeltaScans / Transactions
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (long tables)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

短表扫描数/事务处理

## 短表扫描数/事务处理

#### 说明

此数据项代表采样周期内每个事务处理的短表扫描数。如果某个表被高速缓存而且其高水线标记小于 5 个块，则认为此表是“短型的”。

#### 数据源

DeltaScans / Transactions
其中：

DeltaScans：采样周期结束和开始时的 'select value from v$sysstat where name=' table scans (short tables)'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

重做大小/事务处理

## 重做大小/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理生成的重做大小 (字节)。

#### 数据源

DeltaRedo / Transactions
其中：

DeltaRedo：采样周期结束和开始时的 'select value from v$sysstat where name='redo size'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

物理读取数/事务处理

## 物理读取数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的磁盘读取数。

#### 数据源

DeltaReads / Transactions
其中：

DeltaReads：采样周期结束和开始时的 'select value from v$sysstat where name=' physical reads'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

物理写入数/事务处理

## 物理写入数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的磁盘写入数。

#### 数据源

DeltaWrites / Transactions
其中：

DeltaWrites：采样周期结束和开始时的 'select value from v$sysstat where name=' physical writes'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

会话逻辑读取数/事务处理

## 会话逻辑读取数/事务处理

#### 说明

此数据项代表此采样周期内每个事务处理的逻辑读取数。

#### 数据源

DeltaReads / Transactions
其中：

DeltaReads：采样周期结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值
Transactions：采样周期内的事务处理数

#### 用户操作

运行时间最长的事务处理

# 运行时间最长的事务处理

按持续时间排序的当前正在运行的事务处理

运行时间最长的事务处理的缺省图表
运行时间最长的事务处理的缺省图表

按持续时间排序的当前正在运行的事务处理

SQL

## SQL

#### 说明

此数据项代表当前的 SQL。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

逻辑 I/O

## 逻辑 I/O

#### 说明

此数据项代表自事务处理启动以来每秒的逻辑 I/O。

#### 数据源

select log_io from v$transaction

#### 用户操作

物理 I/O

## 物理 I/O

#### 说明

此数据项代表自事务处理启动以来每秒的物理 I/O。

#### 数据源

select phy_io from v$transaction

#### 用户操作

持续获取数

## 持续获取数

#### 说明

此数据项代表自事务处理启动以来每秒的持续获取数。

#### 数据源

select cr_get from v$transaction

#### 用户操作

持续更改数

## 持续更改数

#### 说明

此数据项代表自事务处理启动以来每秒的持续更改数。

#### 数据源

select cr_change from v$transaction

#### 用户操作

事务处理的持续时间

## 事务处理的持续时间

#### 说明

此数据项代表自事务处理启动以来的持续时间 (秒)。

#### 数据源

select (sysdate - to_date(START_TIME,'mm/dd/yy hh24:mi:ss')) * 86400 from v$transaction

#### 用户操作

当前正被等待的段

# 当前正被等待的段

当前正被会话等待的段

此类包括下列图表：

当前正被等待的段

正被等待的段的缺省图表
正被等待的段的缺省图表

当前正被会话等待的段

段名

## 段名

#### 说明

此数据项代表包含正被等待块的段的名称。

#### 数据源

select segment_name from sys.dba_extents where file_id = p1 and p2 between block_id and block_id+blocks-1
其中：

p1：数据文件的文件编号
p2：文件中的块 id

#### 用户操作

无
块 Id

## 块 Id

#### 说明

此数据项代表正被等待区的文件中的块编号。

#### 数据源

select p2 from v$session_wait

#### 用户操作

将块 id 与文件 id 配合使用，可以算出正被等待的段和对象。如果同一个段被反复等待，则您已经识别出一个瓶颈。
文件名

## 文件名

#### 说明

此数据项代表包含当前等待事件正在等待的块的数据库文件的名称。

#### 数据源

select p1 from v$session_wait

#### 用户操作

它标识正导致等待的文件。如果同一个文件反复引起等待，则您已经识别出瓶颈所在。您应该进一步研究如何最好地分布到此文件中各个对象的 I/O 或应用程序访问。
段所有者

## 段所有者

#### 说明

此数据项代表包含正被等待块的段的所有者。

#### 数据源

select owner from sys.dba_extents where file_id = p1 and p2 between block_id and block_id+blocks-1
其中：

p1：数据文件的文件编号
p2：文件中的块 id

#### 用户操作

表空间名

## 表空间名

#### 说明

此数据项代表包含正被等待块的表空间的名称。

#### 数据源

select tablespace_name from sys.dba_extents where file_id = p1 and p2 between block_id and block_id+blocks-1
其中：

p1：数据文件的文件编号
p2：文件中的块 id

#### 用户操作

并行读取/写入等待数

# 并行读取/写入等待数

被等待的文件和块的计数

此类包括下列图表：

等待事件文件和块计数

并行读取/写入等待数缺省图表
并行读取/写入等待缺省图表

被等待的文件和块的计数

文件数

## 文件数

#### 说明

此数据项代表正被读取或写入的文件的数目。

#### 数据源

select p1 from v$session_wait

#### 用户操作

块数

## 块数

#### 说明

此数据项代表正被读取或写入的文件的数目。

#### 数据源

select p2 from v$session_wait

#### 用户操作

高速缓存缓冲区链-热块

# 高速缓存缓冲区链-热块

数据库中高争用块的文件和块 id

高速缓存缓冲区链-热块缺省图表
高速缓存缓冲区链-热块缺省图表

数据库中高争用块的文件和块 id

块 Id

## 块 Id

争用中的块 Id

阻塞锁数

# 阻塞锁数

当前由 Oracle 服务器和对锁或栓锁未完成的请求所持有的锁的数目

此类包括下列图表：

阻塞/等待锁图表

阻塞锁数缺省图表
阻塞锁数缺省图表

当前由 Oracle 服务器和对锁或栓锁未完成的请求所持有的锁的数目

会话 Id

## 会话 Id

持有或获取锁的会话

会话序列号

## 会话序列号

持有或获取锁的会话的会话序列号

锁类型

## 锁类型

#### 说明

入队是将数据库资源访问串行化的共享内存结构 (锁)。它们可以与会话或事务处理相关联。入队名显示在DBA_LOCKS 和 DBA_LOCK_INTERNAL 数据字典视图的 LOCK_TYPE 列中。

资源唯一标识可由同一例程中 (本地资源)或不同例程中 (全局资源) 的不同会话锁定的对象。试图锁定资源的每个会话将在资源上拥有一个入队。

注意：入队的名称及其定义可能随发行版的不同而不同。

Oracle 入队有：

BL，缓冲区高速缓存管理
CF，控制文件事务处理
CI，跨例程调用启用
CU，连接入队
DF，数据文件
DL，直接加载器索引创建
DM，数据库装载
DR，分布式恢复
DX，分布式 TX
FS，文件集
IN，例程编号
IR，例程恢复
IS，例程状态
IV，库高速缓存无效
JQ，作业队列
KK，重做日志 "Kick"
L[A-P]，库高速缓存锁定
MR，介质恢复
N[A-Z]，库高速缓存连接
PF，口令文件
PI，并行从属进程
PR，进程启动
PS，并行从属进程同步
Q[A-Z]，行高速缓存
RT，重做线程
SC，系统提交数
SM，SMON
SQ，序列号入队
SR，同步复制
SS，排序段
ST，空间管理事务处理
SV，序列号值
TA，事务处理恢复
TM，DML 入队
TS，临时段 (也称为临时表空间)
TT，临时表
TX，事务处理
UL，用户定义的锁
UN，用户名
US，重做段，串行化
WL，正被写入重做日志
XA，例程属性锁
XI，例程注册锁

#### 数据源

V$LOCK 表中的 LOCK_TYPE 列。

#### 用户操作

确定引起锁争用的原因并尝试将其排除。虽然通过选定会话并使用终止会话的工具将其终止是激烈的，但这确实是一种终止会话的方法。如果已经确定阻塞锁不会被很快释放，则这应该用作删除它的最后一种手段。
持有模式

## 持有模式

会话按其持有锁的锁模式

请求模式

## 请求模式

进程按其请求锁的锁模式

对象名

## 对象名

锁定对象的名称

ROWID

## ROWID

被锁定的当前 ROWID

对象所有者

## 对象所有者

对象所有者的用户名

对象类型

## 对象类型

对象的类型

资源 ID1

## 资源 ID1

锁标识符 #1 (取决于类型)

资源 ID2

## 资源 ID2

锁标识符 #2 (取决于类型)

进程 Id

## 进程 Id

操作系统进程 id

当前的 SQL

# 当前的 SQL

用于某个会话的当前 SQL 语句

此类包括下列图表：

当前的 SQL

当前的 SQL 缺省图表
当前的 SQL 缺省图表

用于某个会话的当前 SQL 语句

SQL 文本

## SQL 文本

#### 说明

此数据项包括当前游标的 SQL 文本的前八十个字符。

#### 数据源

select sql_text from v$sqlarea

#### 用户操作

物理读取数

## 物理读取数

#### 说明

此数据项代表物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

select disk_reads from v$sqlarea

#### 用户操作

缓冲区获取数

## 缓冲区获取数

#### 说明

此数据项代表高速缓存中的缓冲区满足的读取请求数。换句话说，它的值就是由此语句的所有执行读取的总块数。

#### 数据源

select buffer_gets from v$sqlarea

#### 用户操作

执行数/秒

## 执行数/秒

#### 说明

此数据项代表在此采样周期内每秒执行此语句的次数。

#### 数据源

DeltaExecutions / Seconds
其中：

DeltaExecutions：采样结束和开始时的 'select executions from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

分析调用数/秒

## 分析调用数/秒

#### 说明

此数据项代表此采样周期内每秒分析此语句的次数。

#### 数据源

DeltaParseCalls / Seconds
其中：

DeltaParseCalls：采样结束和开始时的 'select parse_calls from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

物理读取数/秒

## 物理读取数/秒

#### 说明

此数据项代表此采样周期内此语句每秒执行的物理读取数。换句话说，它的值就是由于没有被高速缓存中的缓冲区满足而导致访问磁盘数据文件的读取请求数。

#### 数据源

DeltaPhysicalReads / Seconds
其中：

DeltaPhysicalReads：采样结束和开始时的 'select disk_reads from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

缓冲区获取数/秒

## 缓冲区获取数/秒

#### 说明

此数据项代表在此采样周期内高速缓存中的缓冲区每秒满足的此语句的读取请求数。

#### 数据源

DeltaBufferGets / Seconds
其中：

DeltaBufferGets：采样结束和开始时的 'select buffer_gets from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

处理的行数/秒

## 处理的行数/秒

#### 说明

此数据项代表在此采样周期内为完成此语句每秒处理的总行数。

#### 数据源

DeltaRowsProcessed / Seconds
其中：

DeltaRowsProcessed：采样结束和开始时的 'select rows_processed from v$sqlarea' 的差值
Seconds：采样周期内的秒数

#### 用户操作

可共享内存总计

## 可共享内存总计

#### 说明

此数据项代表此语句所使用的全部可共享内存的总和 (字节)。

#### 数据源

select sharable_mem from v$sqlarea

#### 用户操作

永久内存总计

## 永久内存总计

#### 说明

此数据项代表此语句所使用的全部永久内存的总和 (字节)。

#### 数据源

select persistent_mem from v$sqlarea

#### 用户操作

运行时内存

## 运行时内存

#### 说明

此数据项代表当前此语句所使用的全部内存的总和 (字节)。

#### 数据源

select runtime_mem from v$sqlarea

#### 用户操作

模块

## 模块

#### 说明

此数据项代表首先执行此语句的应用程序模块的名称。通过使用 DMBS_APPLICATION_INFO.SET_MODULE 能够可选地设置此名称。

#### 数据源

select module from v$sqlarea

#### 用户操作

操作

## 操作

#### 说明

此数据项代表由首先执行此语句的应用程序模块执行的操作的名称。通过使用 DMBS_APPLICATION_INFO.SET_ACTION 能够可选地设置此名称。

#### 数据源

select action from v$sqlarea

#### 用户操作

物理读取数百分比

## 物理读取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的物理读取总数百分比。

#### 数据源

DeltaPhysicalReads / DeltaTotalReads
其中：

DeltaPhysicalReads：采样结束和开始时的 'select sum(disk_reads) from v$sql' 的差值
DeltaTotalReads：采样结束和开始时的 'select value from v$sysstat where name='physical reads'' 的差值

#### 用户操作

缓冲区获取数百分比

## 缓冲区获取数百分比

#### 说明

此数据项代表此采样周期内对此语句有贡献的缓冲区获取总数百分比。

#### 数据源

DeltaBufferGets / DeltaTotalGets
其中：

DeltaBufferGets：采样结束和开始时的 'select sum(buffer_gets) from v$sql' 的差值
DeltaTotalGets：采样结束和开始时的 'select value from v$sysstat where name='session logical reads'' 的差值

#### 用户操作

SID

## SID

#### 说明

此数据项代表会话标识符。

#### 数据源

select sid from v$session

#### 用户操作

OPS 统计数据

# OPS 统计数据

用于 OPS 数据库的整个例程统计数据

OPS 统计数据缺省图表
OPS 统计数据缺省图表

用于 OPS 数据库的整个例程统计数据

总强制回应数/秒

## 总强制回应数/秒

每秒内所有例程的 OPS 强制回应总数

CR 超时/秒

## CR 超时/秒

每秒内所有例程的全局高速缓存 CR 超时

转换超时/秒

## 转换超时/秒

每秒内所有例程的全局高速缓存转换超时数

空闲列表等待数/秒

## 空闲列表等待数/秒

每秒内所有例程的全局高速缓存空闲列表等待数

平均 CR 请求

## 平均 CR 请求

平均 CR 请求时间 (毫秒)

BSP 利用

## BSP 利用

平均服务时间 (毫秒)

平均转换时间

## 平均转换时间

平均转换时间 (毫秒)

平均获取时间

## 平均获取时间

平均获取时间 (毫秒)

按例程的 OPS 统计数据

# 按例程的 OPS 统计数据

用于 OPS 数据库的整个例程统计数据

按例程的 OPS 统计数据缺省图表
按例程的 OPS 统计数据缺省图表

用于 OPS 数据库的整个例程统计数据

总强制回应数/秒

## 总强制回应数/秒

每秒内某个例程的 OPS 强制回应总数

CR 超时/秒

## CR 超时/秒

每秒内某个例程的全局高速缓存 CR 超时

转换超时数/秒

## 转换超时数/秒

每秒内某个例程的全局高速缓存转换超时

空闲列表等待数/秒

## 空闲列表等待数/秒

每秒内某个例程的全局高速缓存空闲列表等待数

平均 CR 请求

## 平均 CR 请求

平均 CR 请求时间 (毫秒)

BSP 利用

## BSP 利用

平均服务时间 (毫秒)

平均转换时间

## 平均转换时间

平均转换时间 (毫秒)

平均获取时间

## 平均获取时间

平均获取时间 (毫秒)

强制回应比率

## 强制回应比率

“跨例程的 DBWR 写入数”与“物理写入数”的比率

按文件的 OPS 强制回应

# 按文件的 OPS 强制回应

按文件的强制回应

按文件的 OPS 强制回应缺省图表
按文件的 OPS 强制回应缺省图表

按文件的强制回应

强制回应数/秒

## 强制回应数/秒

此文件的每秒强制回应计数

按文件下钻的 OPS 强制回应

# 按文件下钻的 OPS 强制回应

不可见

按文件下钻的 OPS 强制回应缺省图表
按文件下钻的 OPS 强制回应缺省图表

不可见

强制回应数/秒

## 强制回应数/秒

此文件的每秒强制回应计数

按例程的文件强制回应

# 按例程的文件强制回应

不可见

按例程的文件强制回应缺省图表
按例程的文件强制回应缺省图表

不可见

强制回应数/秒

## 强制回应数/秒

此文件的每秒强制回应计数

按块类的 OPS 强制回应

# 按块类的 OPS 强制回应

强制回应在不同类的块之间的分发情况

按块类的 OPS 强制回应缺省图表
按块类的 OPS 强制回应缺省图表

强制回应在不同类的块之间的分发情况

强制回应数/秒

## 强制回应数/秒

此文件的每秒强制回应计数

百分比

## 百分比

强制回应计数百分比

按块类下钻的 OPS 强制回应

# 按块类下钻的 OPS 强制回应

不可见

按块类下钻的 OPS 强制回应缺省图表
按块类下钻的 OPS 强制回应缺省图表

不可见

强制回应数/秒

## 强制回应数/秒

此文件的每秒强制回应计数

百分比

## 百分比

强制回应计数百分比

按对象的 OPS 强制回应

# 按对象的 OPS 强制回应

强制回应在对象之间的分发情况。

按对象的 OPS 强制回应缺省图表
按对象的 OPS 强制回应缺省图表

强制回应在对象之间的分发情况。

强制回应数/秒

## 强制回应数/秒

此对象的每秒强制回应计数

类型

## 类型

数据库对象的类型

按对象下钻的 OPS 强制回应

# 按对象下钻的 OPS 强制回应

不可见

按对象下钻的 OPS 强制回应缺省图表
按对象下钻的 OPS 强制回应缺省图表

不可见

强制回应数/秒

## 强制回应数/秒

此对象的每秒强制回应计数

类型

## 类型

数据库对象的类型

按例程下钻的 OPS 对象强制回应

# 按例程下钻的 OPS 对象强制回应

不可见

按例程下钻的 OPS 对象强制回应缺省图表
按例程下钻的 OPS 对象强制回应缺省图表

不可见

强制回应数/秒

## 强制回应数/秒

此对象的每秒强制回应计数

按块的 OPS 最大强制回应

# 按块的 OPS 最大强制回应

强制回应的最大块序号

按块的 OPS 最大强制回应缺省图表
按块的 OPS 最大强制回应缺省图表

强制回应的最大块序号

名称

## 名称

对象的名称

类型

## 类型

对象的类型

文件序号

## 文件序号

文件的编号

块序号

## 块序号

块的编号

强制回应数/秒

## 强制回应数/秒

此对象的每秒强制回应计数

对象的按块的 OPS 最大强制回应

# 对象的按块的 OPS 最大强制回应

不可见

对象的按块的 OPS 最大强制回应缺省图表
对象的按块的 OPS 最大强制回应缺省图表

不可见

强制回应数/秒

## 强制回应数/秒

此对象的每秒强制回应计数

OPS 系统等待数

# OPS 系统等待数

系统等待数

OPS 系统等待数缺省图表
OPS 系统等待数缺省图表

系统等待数

等待时间

## 等待时间

此事件的等待时间

等待百分比

## 等待百分比

等待的百分比

OPS 库高速缓存锁

# OPS 库高速缓存锁

库高速缓存

OPS 库高速缓存锁缺省图表
OPS 库高速缓存锁缺省图表

库高速缓存

dlm 锁请求数

## dlm 锁请求数

dlm 锁请求数

dlm 连接请求数

## dlm 连接请求数

dlm 连接请求数

dlm 无效

## dlm 无效

dlm 无效

按例程的 OPS 库高速缓存锁

# 按例程的 OPS 库高速缓存锁

按例程的库高速缓存

按例程的 OPS 库高速缓存锁缺省图表
按例程的 OPS 库高速缓存锁缺省图表

按例程的库高速缓存

dlm 锁请求数

## dlm 锁请求数

dlm 锁请求数

dlm 连接请求数

## dlm 连接请求数

dlm 连接请求数

dlm 无效

## dlm 无效

dlm 无效

OPS 行高速缓冲锁

# OPS 行高速缓冲锁

行高速缓存

OPS 行高速缓存锁缺省图表
OPS 行高速缓存锁缺省图表

行高速缓存

dlm 请求数

## dlm 请求数

dlm 请求数

dlm 冲突数

## dlm 冲突数

dlm 冲突数

冲突百分比

## 冲突百分比

dlm 冲突百分比

按例程的 OPS 行高速缓存锁

# 按例程的 OPS 行高速缓存锁

按例程的行高速缓存

按例程的 OPS 行高速缓存锁缺省图表
按例程的 OPS 行高速缓存锁缺省图表

按例程的行高速缓存

dlm 请求数

## dlm 请求数

dlm 请求数

dlm 冲突数

## dlm 冲突数

dlm 冲突数

冲突百分比

## 冲突百分比

dlm 冲突百分比