暂无图片
分享
LEE
2019-07-03
相同语句同一sql ,一个sql正常,一个报 ora-64203

select查询中 出现ora-64203 

按照ora错误提示 clob 转to_char类型的缓冲区限制导致 ,使用字符串 拼接临时处理 但是比较奇怪
1 另一套环境中跑to_char是可以正常响应并执行返回结果 ,to_char字段类型 为nvarchar2(200)  
2 语句执行返回ora-64203,去掉where条件后可以正常返回结果 


收藏
分享
8条回答
默认
最新
LEE

去掉where条件正常.png

暂无图片 评论
暂无图片 有用 0
打赏 0
LEE

带where条件错误.png

暂无图片 评论
暂无图片 有用 0
打赏 0
LEE

to_char未报错.png

暂无图片 评论
暂无图片 有用 0
打赏 0
LEE
上传附件:orcl_ora_3772_10046.trc
暂无图片 评论
暂无图片 有用 0
打赏 0
Moone

不要使用to_char转换clob,可以使用如下自定义函数:

create or replace function my_clob_substr( c in clob) return varchar2

as

v_characters number := 201;

v_length number := 201;

begin

while v_length > 200 loop

v_characters := v_characters-1;

v_length := lengthb(dbms_lob.substr(c,v_characters,1));

end loop;

return dbms_lob.substr(c,v_characters,1);

end;

/


暂无图片 评论
暂无图片 有用 0
打赏 0
LEE

是用mos上自定义函数 my_clob_substr 转 的
,但也是临时处理,以下问题仍存在
1 另一套环境中跑to_char是可以正常响应并执行返回结果 ,to_char字段类型 为nvarchar2(200)  
2 语句执行返回ora-64203,去掉where条件后可以正常返回结果 

暂无图片 评论
暂无图片 有用 0
打赏 0
LEE

找到问题根本原因了,另一套库 buffer cache命中率不高, 增大sga ,buffer cache命中率达到合理的值, 观察 ESTD_PHYSICAL_READS 逐渐升高至稳定值后,SQL执行没报64203 错误 ,谢谢Moone


暂无图片 评论
暂无图片 有用 0
打赏 0
LEE
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
为什么TRUNCATE语句要谨慎使用?
回答 1
已采纳
因为TRUNCATE语句是不能被回滚的,而且也不会触发表上的任何触发器(如果有的话),所以在执行TRUNCATE之前,一定要确保真的想要永久删除这些数据(这个操作是没法被撤销的)。
postgresql 怎么跨数据库插入?类似Oracle的dblink功能
回答 1
已采纳
你好:请参考链接:dblinkconnectdblinkconnect—打开一个到远程数据库的持久连接dblinkconnect()建立一个到远程PostgreSQL数据库的连接。要联系的服务器和数据
从oracle把数据传输到mysql和sql server和uxdb 有没有传输工具?
回答 1
已采纳
ogg可以。但是blob不一定都行。
ADVM Driver Status显示not installed
回答 5
已采纳
权限不对,可以去看下mod 1414480.1文档
oracle event 设置10503事件报错
回答 2
再说一点首先要备份sfile然后按照规范修改参数,在重启数据库。注意中英文混输,以及单双引号,events语法规范,如果有其他event要一起设置上,不然执行以下语句会冲掉原来的event.设置ALT
Oracle reverse和substr哪个性能会好一些?
回答 1
这两个函数作用都不一样,没有比较的标准啊非要比的话我觉得reverse性能好
请教oracle11g开启ssl的配置方法,感谢[抱拳]
回答 4
后边解决了么?
refresh schema
回答 7
贴个报错截图出来,看是什么报错
Oracle关闭数据库卡住了怎么办
回答 1
已采纳
看报错是说有会话还连接数据库,一直没有被清理掉,导致数据库不能正常关闭,手工杀一下会话吧。或者直接kill掉所有远程连接的进程:psef|grepvgrep|grepLOCALNO|awk‘{prin
关于自连接那两个说法是正确的?
回答 2
已采纳
两个可以