最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

生成AWR报告时出现ORA-06502

来源:动视网 责编:小采 时间:2020-11-09 15:14:40
文档

生成AWR报告时出现ORA-06502

生成AWR报告时出现ORA-06502:最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value error: character string buffer too smal最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value e
推荐度:
导读生成AWR报告时出现ORA-06502:最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value error: character string buffer too smal最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value e


最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value error: character string buffer too smal

最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value error: character string buffer too small,然后生成AWR报告的过程就终止了,查看生成的AWR报告,发现报告时不完整的,AWR报告到Complete List of SQL Text部分就结束了,且最后是以一个非常长的sql语句结束的,且这个sql语句还没有显示完整。查看MOS后发现,这是Bug 7833620导致的(参考MOS文章Doc ID 1303342.1),但就为了生成AWR报告去打patch,有点兴师动众了,于是决定想办法绕过这个BUG。

根据上面的分析已经基本清楚,导致AWR报告生成失败的原因就是系统中存在一个特别长的sql。明确了这点,接下来就好办了,生成AWR报告的的sql文本是来自WRH$_SQLTEXT,那只要将这个基表中的sql文本进行截断,应该就能正确的生成AWR报告了。这里说明下,WRH$_SQLTEXT基表保存的是快照期间的sql文本信息,对该表的操作不会影响系统的sql语句运行,但是对基表的操作始终是非常危险的,建议不要直接在生成系统上进行操作,可以将生产的AWR数据导入到测试环境上生成AWR报告。AWR导入/导出具体操作,参看。

WRH$_SQLTEXT基表的结构如下:

保存sql文本的字段为CLOB字段,所以可以采用下面的方法对WRH$_SQLTEXT.SQL_TEXT字段进行截断:

update WRH$_SQLTEXT set sql_text = dbms_lob.substr(sql_text,3000);
commit;

执行完上述操作后,成功生成了AWR报告,但是,过长的sql是被截断的,如果要获得完整的sql,,可以根据AWR报告中的sqlid到系统中进行查找。

更多相关教程请访问 MySQL视频教程

文档

生成AWR报告时出现ORA-06502

生成AWR报告时出现ORA-06502:最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value error: character string buffer too smal最近在生成一套系统的AWR报告时出现了如下报错:ORA-06502: PL/SQL: numeric or value e
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top