eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« Statspack之二-需要更改的系统参数 | Blog首页 | Statspack之五-规划自动任务 »

Statspack之四-测试安装好的Statspack

运行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 个字有中文,就会出现此错误。

 


历史上的今天...
    >> 2013-06-24文章:
    >> 2011-06-24文章:

无觅

By eygle on 2004-06-24 22:00 | Comments (0) | Special | 18 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com