alonedba 发表于 2015-3-24 16:39:58

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操作之前的状态?

Liu Maclean(刘相兵 发表于 2015-3-24 16:44:39

不建议个更改回原来的状态, 你可以将原_SQLTEXT 彻底清除掉, 然后做几个快照让新的SQL 进入repository,但是之前的快照中的SQL语句文本就没了

alonedba 发表于 2015-3-24 19:13:12

也就是说,当时执行的update操作仅仅,对以前的SQL Text有影响,对以后的SQL语句文本没有影响,对吧?

Liu Maclean(刘相兵 发表于 2015-3-24 21:42:23

是的,WRH$_SQLTEXT是可以被清理的

alonedba 发表于 2015-3-25 00:18:04

明白了,谢谢刘大的解答!
页: [1]
查看完整版本: AWR报告中的SQL部分的SQL Text均为不可用