问题描述:
开发同事反映只用用toad连接数据库对表的查询结果无法回显结果报ORA-12161: TNS: 内部错误: 收到部分数据ORA-12592: TNS: 包错误ORA-03114: 未连接到 ORACLE
我第一反映是数据库是不是有锁,表锁一类的,登上系统查看以后发现没有异常的锁,等待事件也无异常。
做了如下几个测试
cmd sqlplus "test/test@ora80"
select * from test where rownum <10;test数据量是2100多行,能正常回显数据
select * from test;test数据量是2100多行,能正常回显数据
使用toad连接数据库同样的查询
select * from test where rownum <10;test数据量是2100多行,能正常回显数据
select * from test;test数据量是2100多行,不能正常回显数据
所以怀疑toad的连接数据库的方式可能不是sqlplus 这种,但是后来一想不对,这个行数如果做了限制就能正常的回显,突然想起才没多久发的一个日志里面有个参数
在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200
会不会和这个有关了,比如网络的同事把包做了限制,但是我toad的 ARRAYSIZE默认很大,超过了他的包的大小就被拒绝了
sqlplus 里面如下
SQL> set array 1500
SQL> select * from test;
ERROR:
ORA-12592: TNS: 包错误
关于ARRAYSIZE的说明
http://blog.csdn.net/tianlesoftware/article/details/6579913
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16719800/viewspace-730679/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16719800/viewspace-730679/