Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

12

积分

0

好友

3

主题
1#
发表于 2015-3-24 16:39:58 | 查看: 4491| 回复: 4
当前数据库的环境是:
数据库: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操作之前的状态?
2#
发表于 2015-3-24 16:44:39
不建议个更改回原来的状态, 你可以将原_SQLTEXT 彻底清除掉, 然后做几个快照让新的SQL 进入repository,但是之前的快照中的SQL语句文本就没了

回复 只看该作者 道具 举报

3#
发表于 2015-3-24 19:13:12
也就是说,当时执行的update操作仅仅,对以前的SQL Text有影响,对以后的SQL语句文本没有影响,对吧?

回复 只看该作者 道具 举报

4#
发表于 2015-3-24 21:42:23
是的,WRH$_SQLTEXT是可以被清理的

回复 只看该作者 道具 举报

5#
发表于 2015-3-25 00:18:04
明白了,谢谢刘大的解答!

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-21 02:11 , Processed in 0.048944 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569