`
javatoyou
  • 浏览: 1016675 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于Oracle统计中关于操作系统的统计说明,oracle10个/11g的新特点

阅读更多

《Oracle大型数据库系统在AIXUNIX上的实战详解》集中讨论98, 还是继续大大大前天的话题——对Oracle性能统计中的数据解释


从前面得到的统计数据,我们可以看出这样一个问题:当大量数据摆在你面前,很多数据表现出模棱二可的状态,你如何从中找到能反映出问题的数据,并确保其是对的?没有别的分方法,只有再去印证其他数据或统计,交叉检查、互相印证正确性。

下面是一些常见误解和易被想当然的若干点:

关于命中率的想当然:

很多时候,命中率可以给我们一些提示,并用来表明问题,例如,数据高速缓存命中率、SQL软解析比率等。但他们能够确定问题所在位置吗?不能贸然的下结论说这里就是瓶颈!正确的态度是:这是一个提示,可以用来佐证“某个问题”是瓶颈。

带有时间信息的等待事件:

当我们将Oracle的TIMED_STATISTICS 参数值设置为true(这就是默认值)时,等待事件的统计值中将包含时间信息。我们知道,统计数据的绝对值是没有意义的,我们比较的是可对比时间段内的不同或者增量。很多时候这个统计没有意义。例如,经过统计我们发现某一个等待事件的值相比其他等待事件是很高的,那么,瓶颈就是它吗?不一定!这个需要分为二种情况。其一,如果这个等待事件的时间统计累积值占据了整个DB time的大多数,则他很有可能就是瓶颈所在。但是,如果该等待事件累积时间很高,但和整体DB time相比,却只占了其中很小部分,则该等待事件可能说明不了任何问题。

特别说明:如果初始化参数STATISTICS_LEVEL 设置为TYPICAL(默认值)或者ALL ,则时间统计自动打开。如果STATISTICS_LEVEL 设置为BASIC ,则我们必须手工将TIMED_STATISTICS设置为TRUE ,才能实现包含时间统计数据的收集。

另外,如果我们明确设置了DB_CACHE_ADVICE、TIMED_STATISTICS或者TIMED_OS_STATISTICS ,则我们为STATISTICS_LEVEL设置的参数值失效。


Oracle统计数据能否反映事实?

当查看统计数据时,我们要考虑统计数据的真实度,也就是说,该数据能否反映这个系统真正的问题。例如,当统计数据说明系统每秒处理10个事务时,我们不说说这个系统载荷很轻。为什么呢?因为统计期间可能发生的半夜,这的时间段根本就没有业务产生。反之,我们看到数据缓存命中率很低,也许我们也不能说应用系统内存使用有问题。原因也很简单:统计期间,可能系统刚开机不久。

那什么数据才是真实的?这里有一个同样模糊的回答:经过你综合考虑过的统计数据是真实的!

没有时间统计等待事件的可用性

如果系统TIMED_STATISTICS 参数设置为false,也就是不进行时间统计(在生产系统上这是普遍存在的设置,因为设置该参数为真则本身就会给系统带来负的性能影响),那么含有时间信息的等待事件的时间统计不可用。这时,我们只能简单地对等待事件发生数量进行排序,掌握那个等待事件发生次数最多、次多、再次多…。发生次数最多的等待事件是主要瓶颈吗?也许是,是因为它发生的次数很多。不是主要瓶颈吗?有可能,因为等待次数最多的等待时间未必最长。所以,在可能的情况下,激活时间统计(设置TIMED_STATISTICS 参数为true)很有帮助。在Oracle中,该参数默认为true。

空闲等待事件

Oracle使用等待事件来表明一个Oracle服务器进程是否是空闲的。一般而言,这些等待对于性能调整问题没什么用处。

汇总过的统计数据

在我们使用“率”这个增强型统计的时候,例如,数据缓存命中率的时候,要注意经过汇总的数据可能带来误解。什么是“率”,分子分母间除的操作。我们获取某一个“率”,例如:50%,它说明了什么呢?可能是50/100,也可能是50000/100000。这完全是二个数量级之间的差异。因此,同样的比率,解读确是不同的。一个可能是:我需要查询100个数据块,其中50个可以来源于数据缓存,命中率50%。另一个解释是:我要访问100000个数据块(100000*8K≈800M),其中50000个块在数据缓存中(≈400M)!显然,就第一种解读来说,50%的命中率是不需要调整的,但就第二种解读来说,50%命中率可能不能接受,要么去改SQL语句(甚至连带进行应用业务上的调整),要么去改索引结构,优化SQL执行路径。总之,要有所为了。

因此,就统计数据而言,不应该局限在某个或某组统计数据中洋洋自得,并据此认为已经找到问题根源,实际情况是:可能还有距离!

未完,待续, 文平

参见Oracle联机文档中的“性能”那本书,以及 http://www.usedb.cn/

分享到:
评论

相关推荐

    关于oracle10供了类似操作系统中的回收站功能

    在Oracle10g中,引入了一个回收站(Recycle Bin)的概念。回收站,从原理上来说就是一个数据字典表,放置用户Drop掉的数据库对象信息。被用户Drop的对象并没有被Oracle删除,仍然会占用空间。除非是用户手工进行Purge...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    1.2.3 操作系统概念 11 1.3 单实例体系结构 11 1.3.1 单实例数据库体系结构 11 1.3.2 分布式系统体系结构 13 1.4 实例内存结构 15 1.4.1 数据库缓冲区缓存 16 1.4.2 日志缓冲区 17 1.4.3 共享池 18 1.4.4 ...

    Oracle9i的init.ora参数中文说明

    语法: TIMESTAMP '1997-01-31 09:26:50.10' (将值存储为 11 个字节)。 默认值: 从 NLS_TERRITORY 中获得 nls_time_format: 说明: 指定一个字符串值, 设置 TIME 数据类型的默认值, 该数据类型包含 HOUR, MINUTE 和 ...

    Oracle 10g STATSPACK新功能

    STATSPACK作了很多更新,包含了可以AWR中使用的大量新工具。本文介绍了在Oracle 10g的STATSPACK新增的功能,如时间模型统计、等待事件柱状图、读取文件柱状图、操作系统统计、撤销统计。

    oracle10g课堂练习I(2)

    Oracle Database 10 g :“g”代表网格 1-6 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-...

    ORACLE数据库复制

    采用复制技术后,将这些大型数据复制到另外一个数据库中,对这些大数据的查询统计操作放在另外的一台数据库服务器上进行,即使受影响,也只是影响局部的查询统计功能,其他正常的业务处理不受影响。 但是,使用复制...

    oracle10g课堂练习II(1)

    前言 1 简介 课程目标 1-2 建议计划 1-4 DBAI 课程中介绍的内容 1-5 课程示例: HR 方案 1-6 ...系统统计信息 9-11 显示与会话有关的统计信息 9-13 显示与服务有关的统计信息 9-14 。。。。

    Oracle10g DBA经常使用的动态性能视图和数据字典

    v$statname:在v$sesstat中报告各个统计的含义 v$sysstat:基于当前操作会话进行的系统统计 v$waitstat:出现一个以上会话访问数据库的数据时的详细情况。当有一个以上的会话访问同一信息时,可出现等待情况。

    Oracle 10g 开发与管理

    1.Vendition:销售管理系统(11个表)(略) 32 2. School:学生成绩管理系统(6个表) 32 四. SQL SELECT语句 34 1.Select语句的格式 34 2.Select … From … ——选择列(投影) 35 3.Where子句——选择行(选择)...

    JSP+Servlet+EJB3.0+Oracle10g火车售票系统

    本系统主要实现火车查询售票功能,主要的功能如下: 客户端管理功能: (1)动车基本信息管理模块;...4.本设计采用JSP+Servlet+EJB3.0+Oracle10g工具进行开发,最后通过JDBC进行与数据库的相关的链接。

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    从1996年开始使用Oracle,在应用开发、大型系统实现以及性能评估方面具有丰富的经验。她是OakTable的成员,同时是Expert Oracle Practices (2010年 Apress出版)一书的合著者。  RIYAJ SHAMSUDEEN 专注于性能/...

    oracle数据库经典题目

    14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp 15. Oracle提供了两种类型的权限:系统权限和对象权限。系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力...

    Oracle笔记

    一、Oracle 安装 1. C/S 结构 2. Server 端和 Client 端 我们一般安装的是 Client 端,选择企业版,进入下一步 3. Oracle 安装的应用类型:事务处理/数据仓库/通用 ...1.3 Oracle Database 10G (G=Grid)(网格支持)

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

    1.2.3 操作系统概念 11 1.3 单实例体系结构 11 1.3.1 单实例数据库体系结构 11 1.3.2 分布式系统体系结构 13 1.4 实例内存结构 15 1.4.1 数据库缓冲区缓存 16 1.4.2 日志缓冲区 17 1.4.3 共享池 18 1.4.4 ...

    oracle详解

    导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理...

Global site tag (gtag.js) - Google Analytics