[解決済み] Amazon RDS Oracleインスタンスへの接続時に発生する「Got minus one from a read call」エラーの対処方法について
2022-02-02 16:55:40
質問内容
Amazon RDS インスタンスで Oracle 11GR2 を実行しています。
IO Error: Got minus one from a read call
を呼び出すと
DriverManager.getConnection(getUrl())
と表示され、理由がよくわからない。他のアプリケーションは正常に動作します。
さらに混乱させるのは、このエラーは時折(プログラムの次の反復の後に)修正されることです。
Got minus one from a read call"エラーにどのように対処すればよいですか?
フルスタックトレース
java.sql.SQLRecoverableException: IO Error: Got minus one from a read call
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:243)
at com.cwd.facile.db.Database.<init>(Database.java:44)
at com.cwd.facile.ns.NetSuiteRequestBased.<init>(NetSuiteRequestBased.java:29)
at com.cwd.facile.ns.CommonOperations.isInventoryItem(CommonOperations.java:205)
at com.cwd.facile.ns.CommonOperations.findItemIdByName(CommonOperations.java:188)
at com.cwd.facile.ns.CommonOperations.createSalesOrder(CommonOperations.java:970)
at com.cwd.facile.Main.main(Main.java:47)
Caused by: oracle.net.ns.NetException: Got minus one from a read call
at oracle.net.ns.Packet.receive(Packet.java:311)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:300)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
... 12 more
Database.java 44行目。
setConn(DriverManager.getConnection(getUrl()));
その他の情報
- 私はそれが悪いJDBCのURLだと思ったが、それは時々失敗する前に、数日間にわたって動作しています。
- Amazon RDSはマネージドインスタンスであり、設定変更ができない場合がある
- 接続にojdbc6.jarを使用しています。
解決方法は?
この問題の直接的な原因は、JDBCドライバが、相手側によって閉じられたネットワーク・ソケットから読み込もうとしたことです。
これには、いくつかの原因が考えられます。
-
リモートサーバーが、あなたのIPからの接続を受け入れないように設定されている場合(例:"SQLNET.ora"ファイル内)。
-
JDBC urlが正しくない場合、データベースではないものに接続しようとしている可能性があります。
-
データベースサービスに対して開いている接続が多すぎる場合、新しい接続を拒否する可能性があります。
症状を考えると、quot;too many connections"のシナリオが最も可能性が高いと思われます。 つまり、アプリケーションが接続をリークしている、つまり、接続を作成し、それを(常に)閉じることができないことを示唆しています。
関連
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み】Eclipseで「JUnitテストが見つかりませんでした。
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】スレッド「main」での例外 java.lang.StringIndexOutOfBoundsException: 文字列のインデックスが範囲外です。0 [閉店]
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】Javaの".class expected "について
-
[解決済み】Java: GZIPInputStreamの作成に失敗しました。GZIP形式ではありません