51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4808|回复: 1
打印 上一主题 下一主题

Statspack之九-其它重要脚本

[复制链接]
  • TA的每日心情
    慵懒
    2015-1-8 08:46
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2007-10-17 14:35:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1.通过导出保存及共享数据
    在诊断系统问题时,可能需要向专业人士提供原始数据,这时我们可以导出Statspack表数据,其中我们可能用到:spuexp.par
    其内容主要为:

    file=spuexp.dmp log=spuexp.log compress=y grants=y indexes=y rows=y constraints=y owner=PERFSTAT consistent=y


    我们可以导出如下:


    exp userid=perfstat/my_perfstat_password parfile=spuexp.par


    2.删除数据
    spdrop.sql在执行时主要调用两个脚本: spdtab.sql 、spdusr.sql
    前者删除表及同义词等数据,后者删除用户

    3.Oracle92中新增加的脚本

    1.用于升级statspack对象的脚本,这些脚本需要以具有SYSDBA权限的用户运行, 升级前请先备份存在的Schema数据:
    SPUP90.SQL: 用于升级9.0版本的模式至9.2版本。
    SPUP817.SQL: 如果从Statspack 8.1.7升级,需要运行这个脚本
    SPUP816.SQL: 从Statspack 8.1.6升级,需要运行这个脚本,然后运行SPUP817.SQL.
    2.sprepsql.sql 用于根据给定的SQL Hash值生成SQL报告

    -----
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2015-1-8 08:46
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
     楼主| 发表于 2007-10-17 14:36:17 | 只看该作者

    Statspack之十-调整STATSPACK的收集门限

    Statspack有两种类型的收集选项:
    级别(level):控制收集数据的类型
    门限(threshold):设置收集的数据的阈值。

    1.级别(level)
    Statspack共有三种快照级别,默认值是5
    a.level 0: 一般性能统计。包括等待事件、系统事件、系统统计、回滚段统计、行缓存、SGA、会话、锁、缓冲池统计等等。
    b.level 5: 增加SQL语句。除了包括level0的所有内容,还包括SQL语句的收集,收集结果记录在stats$sql_summary中。
    c.level 10: 增加子锁存统计。包括level5的所有内容。并且还会将附加的子锁存存入stats$lathc_children中。在使用这个级别时需要慎重,建议在Oracle support的指导下进行。
    可以通过statspack包修改缺省的级别设置

    SQL>execute statspack.snap(i_snap_level=>0,i_modify_parameter=>’true’);


    通过这样的设置,以后的收集级别都将是0级。
    如果你只是想本次改变收集级别,可以忽略i_modify_parameter参数。


    SQL>execute statspack.snap(i_snap_level=>10);


    2.快照门限

    快照门限只应用于stats$sql_summary表中获取的SQL语句。
    因为每一个快照都会收集很多数据,每一行都代表获取快照时数据库中的一个SQL语句,所以stats$sql_summary很快就会成为Statspack中最大的表。

    门限存储在stats$statspack_parameter表中。让我们了结一下各种门限:
    a. executions_th这是SQL语句执行的数量(默认值是100)
    b. disk_reads_tn这是SQL语句执行的磁盘读入数量(默认值是1000)
    c. parse_calls_th这是SQL语句执行的解析调用的数量(默认值是1000)
    d. buffer_gets_th这是SQL语句执行的缓冲区获取的数量(默认值是10000)

    任何一个门限值超过以上参数就会产生一条记录。
    通过调用statspack.modify_statspack_parameter函数我们可以改变门限的默认值。
    例如:

    SQL>execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000;


    -----
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 04:36 , Processed in 0.071682 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表