« Statspack之五-规划自动任务 | Blog首页 | Statspack之五-规划自动任务 »
Statspack之四-测试安装好的Statspack
作者:eygle |【版权声明:转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】链接:http://www.eygle.com/archives/2004/06/statspack04.html
运行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 个字有中文,就会出现此错误。
By eygle on 2004-06-24 22:00 | Comments (0) | Posted to Statspack