网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 数据库教程 >> Oracle >> 文章正文
  ORACLE性能诊断―学习statspack笔记(二)[概述]            【字体:
ORACLE性能诊断―学习statspack笔记(二)[概述]
作者:佚名    文章来源:不详    点击数:    更新时间:2007-6-30    

ORACLE性能诊断涉及对象

A.      服务器、网络以及磁盘(外部的环境)
B.      实例(SGA,后台进程)
C.      对象(表,索引,段……)
D.     SQL
E.      设计(指的是应用的设计,这部分一般说来是很难改变了)

ORACLE性能诊断要遵循上面的顺序,先察看服务器是否存在问题,主要从CPU,RAM,DISK配置是否存在问题,检查操作系统的核心参数的设置等等;如果是跨地域的进行共享的多个ORACLE,网络通信性能也是非常的关键的,ORACLE利用的是TNS(Transparent Network Substrate 透明网络层)提供数据库之间的分布传输;另外影响ORACLE相应时间的最大的单独组成部分是磁盘I/O,能够减少磁盘I/O的任何事情都会对ORACLE的性能产生正面的影响,比如改变ORACLE初始化参数,调整相应的SQL等;对于ORACLE的实例调整应该注意的问题是,过载的ORACLE的SGA会导致严重的性能问题,对于ORACLE实例的调整主要包括:初始化参数、数据缓冲存储(DEFAULT、KEEP、RECYCLE)和SGA中共享池和库缓存等;还有就是ORACLE对象的调整,包括存储参数等等;最后是SQL语句的调整。

STATSPACK概述

  STATSPACK来源在ORACLE最早版本就存在的UTLBSTAT和UTLESTAT工具。开始的BSTAT-ESTAT工具就可以直接从ORACLE的内存结构中获取信息。

    STATSPACK通过获取数据库当前状态的快照来进行工作。大部分的情况,我们会规划一个以小时为单位来收集数据的JOB,并在需要的时候请求附加快照。当我们获取快照时,STATSPACK会从SGA内部的RAM内存结构中采样,并记录到相应的STATSPACK表中,注意的是,大多数情况下,SGA中的V$视图与相应的的STATSPACK表之间存在直接的对应关系,比如:

V$SYSSTAT --------->STATS$SYSSTAT

SQL> DESC V$SYSSTAT

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------
 STATISTIC#                                         NUMBER
 NAME                                               VARCHAR2(64)
 CLASS                                              NUMBER
 VALUE                                              NUMBER

SQL> DESC STATS$SYSSTAT

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
SNAP_ID                                   NOT NULL NUMBER(6)
 DBID                                      NOT NULL NUMBER
INSTANCE_NUMBER                           NOT NULL NUMBER
 STATISTIC#                                NOT NULL NUMBER
 NAME                                      NOT NULL VARCHAR2(64)
VALUE                                              NUMBER

       在理解STATSPACK工具的时候,很关键的是要明白通过STATSPACK快照收集的信息是累计值,从V$视图中收集到起始时间的数据库信息,然后进行持续累加,知道实例中止,我想,这也许就应该是STATSPACK不能产生两张跨越SHUTDOWN的快照的报告的原因吧。

      对应STATSPACK存在一系列的STATSPACK表,不同的ORACLE版本会有一定的差异。这些表大体上分为控制表、参数表、事件表、事务处理表、并行服务器表、概要表、系统表等等

下面是我列出的ORACLE9I的STATSPACKE表:
SQL> select table_name from dba_tables where table_name like 'STATS$%';

TABLE_NAME
------------------------------
STATS$DATABASE_INSTANCE
STATS$LEVEL_DESCRIPTION
STATS$SNAPSHOT
STATS$DB_CACHE_ADVICE
STATS$FILESTATXS
STATS$TEMPSTATXS
STATS$LATCH
STATS$LATCH_CHILDREN
STATS$LATCH_PARENT
STATS$LATCH_MISSES_SUMMARY
STATS$LIBRARYCACHE
TABLE_NAME
------------------------------


[1] [2]  下一页

站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 如何把access转换到mysql

  • 如何将Access和Excel导入到M…

  • 如何将Access和Excel导入到M…

  • 如何将Access和Excel导入到M…

  • ACCESS:跨数据库查询的SQL语…

  • 将Access数据转换为XML格式

  • 在ACCESS 中调用后台存储过程

  • 在VB中压缩ACCESS数据库

  • Microsoft Access秘密、技巧…

  • 防止ACCESS数据库被下载的9种…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David