首页  >  文章  >  数据库  >  oracle无法从套接字读取更多的数据怎么办

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

WBOY
WBOY原创
2022-06-10 10:24:0417372浏览

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

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

本教程操作环境: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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn