AWR报告中的SQL部分的SQL Text均为不可用
当前数据库的环境是:数据库:11.2.0.3 RAC 2节点
操作系统:AIX 6.1
在生成AWR报告的过程中出现这个错误:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 919
ORA-06512: at line 1
于是采取截取SQL文本,执行update操作:
update WRH$_SQLTEXT set sql_text = dbms_lob.substr(sql_text,40000);
commit;
执行完该操作后,再次生成AWR报告,发现所有的SQL_TEXT 都是不可用状态:
Elapsed Time (s) Executions Elapsed Time per Exec (s) %Total %CPU %IO SQL Id SQL Module SQL Text
360.81 168 2.15 1.41 37.83 28.37 at1rpb6nbs0mv ** SQL Text Not Available **
343.84 1,281 0.27 1.35 45.35 0.39 6kuvfrfvhtd1a JDBC Thin Client ** SQL Text Not Available **
219.19 941 0.23 0.86 1.56 97.55 7p8z3vr2wuhd9 w3wp.exe ** SQL Text Not Available **
求解?更改回执行update操作之前的状态?
不建议个更改回原来的状态, 你可以将原_SQLTEXT 彻底清除掉, 然后做几个快照让新的SQL 进入repository,但是之前的快照中的SQL语句文本就没了 也就是说,当时执行的update操作仅仅,对以前的SQL Text有影响,对以后的SQL语句文本没有影响,对吧? 是的,WRH$_SQLTEXT是可以被清理的 明白了,谢谢刘大的解答!
页:
[1]