oracle無法從套接字讀取更多的數據怎么辦

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無法從套接字讀取更多的數據怎么辦

問題現象:

日志中出現如下報錯:

oracle無法從套接字讀取更多的數據怎么辦

遇到這個問題,可以查看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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享