Home  >  Article  >  Database  >  What should I do if Oracle cannot read more data from the socket?

What should I do if Oracle cannot read more data from the socket?

WBOY
WBOYOriginal
2022-06-10 10:24:0417279browse

In Oracle, you can use the "alter system set "_optimizer_connect_by_cost_based" = false scope=both;" statement to solve the exception of being unable to read more data from the socket. This statement changes the value of "_optimizer_connect_by_cost_based" Set to both, the modification will take effect currently and will also take effect next time the database is restarted.

What should I do if Oracle cannot read more data from the socket?

The operating environment of this tutorial: Windows 10 system, Oracle version 12c, Dell G3 computer.

What should I do if oracle cannot read more data from the socket

Problem phenomenon:

The following error appears in the log:

What should I do if Oracle cannot read more data from the socket?

If you encounter this problem, you can check the oracle log and analyze the cause of the problem.

The most commonly used problem locating log of Oracle database is the alert log. The log file of Oracle database alert_$ORACLE_SID.log records the conversion of redo log, database startup and shutdown, changes in database structure, and rollback segments. Modification, deadlock, internal error and other information.

The path is: ORACLE_BASE/admin/ORACLE_SID/bdump/alert_ORACLE_SID.log

The log file of the new Oracle database is under ORACLE_BASE/diag/rdbms, such as: D:appAdministratordiag dbmsorclorcl race

You can also find the location through sql statements:

Alert log XML file location: select value from v$diag_info where name ='Diag Alert';

Alert log text file location: select value from v$diag_info where name ='Diag Trace';

Solution:

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

Reference details

_optimizer_connect_by_cost_based is used to connect using cost-based conversion. The default is true. Scope is the scope of the SQL modified by this parameter. There are three values ​​in total: both, memory, and spfile.

1. Scope=memory will take effect after being modified, but restarting the database will not work

2. Scope=spfile will not take effect after being modified, and it will take effect next time the database is restarted

 3. Scope=both currently works after modification, and will also work next time the database is restarted

Recommended tutorial: "Oracle Video Tutorial"

The above is the detailed content of What should I do if Oracle cannot read more data from the socket?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn