51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4833|回复: 0
打印 上一主题 下一主题

Statspack之四-测试安装好的Statspack

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

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2007-10-17 14:29:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    运行statspack.snap可以产生系统快照,运行两次,然后执行spreport.sql就可以生成一个基于两个时间点的报告。
    如果一切正常,说明安装成功。

    SQL>execute statspack.snap
    PL/SQL procedure successfully completed.
    SQL>execute statspack.snap
    PL/SQL procedure successfully completed.
    SQL>@spreport.sql



    可是有可能你会得到以下错误:

    SQL> exec statspack.snap;
    BEGIN statspack.snap; END;

    *
    ERROR at line 1:
    ORA-01401: inserted value too large for column
    ORA-06512: at "PERFSTAT.STATSPACK", line 978
    ORA-06512: at "PERFSTAT.STATSPACK", line 1612
    ORA-06512: at "PERFSTAT.STATSPACK", line 71
    ORA-06512: at line 1

    这是Oracle的一个Bug,Bug号1940915
    该Bug自8.1.7.3后修正。
    这个问题只会出现在多位的字符集,需要修改spcpkg.sql脚本,$ORACLE_HOME/rdbms/admin/spcpkg.sql,
    将"substr" 修改为 "substrb",然后重新运行该脚本。
    该脚本错误部分:


    select l_snap_id
    , p_dbid
    , p_instance_number
    , substr(sql_text,1,31)
    ...........


    substr 会将多位的字符, 当作一个byte.substrb 则会当作多个byte。在收集数据时, statpack 会将 top 10
    的 sql 前 31 个字节存入数据表中,若在SQL的前31 个字有中文,就会出现此错误。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-3 02:13 , Processed in 0.069213 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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