在oracle中,可以利用“alter system set "_optimizer_connect_by_cost_based" = false scope=both;”语句解决无法从套接字读取更多的数据的异常,该语句将“_optimizer_connect_by_cost_based”的值设置为both,修改后当前起作用,下次重启数据库也起作用。

本教程操作环境:windows10系统、Oracle 12c版、Dell G3电脑。

oracle无法从套接字读取更多的数据怎么办

问题现象:

日志中出现如下报错:

02.png

遇到这个问题,可以查看oracle日志,分析问题的原因。

oracle数据库的最常用问题定位日志是alert日志,oracle数据库的日志文件alert_$ORACLE_SID.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息。

路径是:ORACLE_BASE/admin/ORACLE_SID/bdump/alert_ORACLE_SID.log

新的Oracle数据库的日志文件在ORACLE_BASE/diag/rdbms下面,如:D:appAdministratordiag dbmsorclorcl race

也可以通过sql语句查找位置:

Alert log XML文件位置:select value from v$diag_info where name ='Diag Alert';

Alert log文本文件位置:select value from v$diag_info where name ='Diag Trace';

解决方法:

alter system set "_optimizer_connect_by_cost_based" = false scope=both ;

参考详情

_optimizer_connect_by_cost_based 为使用基于成本的转换进行连接,默认为true scope 就是这个参数修改的SQL的影响的范围,总共有三个值:both、memory,spfile。

  1.scope=memory修改后当前就起作用,重启数据库不起作用

  2.scope=spfile修改后当前不起作用,下次重启数据库才起作用

  3.scope=both修改后当前起作用,下次重启数据库也起作用

推荐教程:《Oracle视频教程》

以上就是oracle无法从套接字读取更多的数据怎么办的详细内容,转载自php中文网

点赞(360) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部