ホームページ  >  記事  >  データベース  >  Oracle がソケットからさらにデータを読み取れない場合はどうすればよいですか?

Oracle がソケットからさらにデータを読み取れない場合はどうすればよいですか?

WBOY
WBOYオリジナル
2022-06-10 10:24:0417392ブラウズ

Oracle では、「alter system set "_optimizer_connect_by_cost_based" = falsescope=both;」ステートメントを使用して、ソケットからさらにデータを読み取ることができないという例外を解決できます。このステートメントは、「」の値を変更します。 _optimizer_connect_by_cost_based" 両方に設定すると、変更は現在有効になり、次回データベースを再起動したときにも有効になります。

Oracle がソケットからさらにデータを読み取れない場合はどうすればよいですか?

このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。

Oracle がソケットからさらにデータを読み取れない場合はどうすればよいですか

問題現象:

次のエラーがログに表示されます:

Oracle がソケットからさらにデータを読み取れない場合はどうすればよいですか?

この問題が発生した場合は、Oracle ログを確認して問題の原因を分析できます。

Oracle データベースのログを見つけるときに最も一般的に使用される問題はアラート ログです。Oracle データベースのログ ファイルalert_$ORACLE_SID.log には、REDO ログの変換、データベースの起動と停止、データベース構造の変更、およびロールバック セグメント、変更、デッドロック、内部エラー、その他の情報。

パスは次のとおりです: ORACLE_BASE/admin/ORACLE_SID/bdump/alert_ORACLE_SID.log

新しい Oracle データベースのログ ファイルは、ORACLE_BASE/diag/rdbms の下にあります (例: D:appAdministratordiag dbmsorclorcl)レース

SQL ステートメントを使用して場所を見つけることもできます:

アラート ログ XML ファイルの場所: v$diag_info から値を選択します (name ='Diag Alert';

Alert)ログ テキスト ファイルの場所: v$diag_info から値を選択します。ここで name ='Diag Trace';

解決策:

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

参考詳細

_optimizer_connect_by_cost_based は、コストベースの変換を使用して接続します。デフォルトは true です。スコープは、このパラメータによって変更される SQL のスコープです。両方、メモリ、spfile の合計 3 つの値があります。

1. Scope=memory は変更後に有効になりますが、データベースの再起動は機能しません

2. Scope=spfile は変更後は有効になりません。次に有効になります。データベースの再起動時

3. Scope=both 現在は変更後も機能し、次回データベースが再起動されたときも機能します

推奨チュートリアル: 「Oracle ビデオ チュートリアル 」 「

以上がOracle がソケットからさらにデータを読み取れない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。