Amazon RDS for Oracle インスタンスに接続しようとすると発生する、"javasqlSQLException" エラーをトラブルシューティングする方法を教えてください。

所要時間1分
0

Amazon Relational Database Service (Amazon RDS) for Oracle DB インスタンスに接続しようとすると、"javasqlSQLException: ソケットから読み取るデータがありません" というエラーが発生します。

解決策

javasqlSQLException: ソケットから読み取るデータがありませんというエラーが発生します。これは、Oracle サーバーとクライアント JDBC ドライバーの間の接続に問題があることが原因です。

これらの接続障害の最も一般的な原因と解決策を次に示します。

ネットワークの中断により接続が突然停止した

インスタンスの alert.log ファイルで、アプリケーション側から接続がタイムアウトしたときに記録される TNS タイムアウトエラーを確認します。

RDS インスタンスのアラートログアクセスに関する詳細については、「Amazon RDS for Oracle のデータベースログファイル」を参照してください。

サーバー側の Oracle でエラーが発生し、接続が停止した

alert.log ファイルで、ORA-0600 または ORA-07445 を確認します。Oracle での特定のエラーに関するトレースダンプを収集します。Oracle サポートが、これらのエラーに対して既知の修正を提供しているかどうかを確認してください。

クライアントとサーバーの接続がアクティブではない

SQLNET.EXPIRE_TIME パラメータを指定された間隔に設定して、クライアントとサーバーの接続がアクティブであることを確認するプローブを送信します。

詳細については、Oracle のウェブサイトで「SQLNET.EXPIRE_TIME」を参照してください。

RDS for Oracle インスタンスが使用できないか、JDBC クライアントが Oracle サーバーへの既存の接続を使用しようとしたときに再起動された

RDS インスタンスのイベントを取得します。次に、JDBC クライアントから接続が確立されたときに、インスタンスが再起動または停止されたかどうかを確認します。

RDS for Oracle インスタンスへの接続に使用している JDBC ドライバーに互換性がない

JDBC ドライバーのバージョンが DB インスタンスと互換性があることを確認します。互換性のある JDBC ドライバのリストについては、Oracle のウェブサイトで「Oracle Fusion ミドルウェアがサポートするシステム構成」を参照してください。JDBC ドライバーに互換性がない場合は、まずソースコード内の最新の JAR ファイルをダウンロードします。次に、データベースへの接続を作成するクラスをコンパイルするときに、このファイルをクラスパスに含めます。

詳細については、「JDBC ドライバーのダウンロード」を参照してください。

クライアント側のメモリコンポーネントが原因でタイムアウトが発生する

Oracle Data Integrator のクライアント側に、望ましくないタイムアウトの原因となるメモリコンポーネントがないかどうかを確認します。クライアント側で、これらのコンポーネントに正しい値を設定してください。

関連情報

ODI マッピングまたは統合インターフェイスで、ソケットから読み込むデータがないというエラーが発生する (Oracle のウェブサイト)

Java マシンと ODI で使用する JDBC ドライバーとの互換性マトリクス (Oracle のウェブサイト)

ODI で Java オプション (メモリヒープの制限、Java 以外のライブラリの場所など) を定義する方法 (Oracle のウェブサイト)

AWS公式
AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ