2021-03-08 oracle
SQL Developer からOracleデータベースに接続すると、体感 10 秒 くらいで接続が切れちゃって、クエリを実行するたびに「データベース接続が再設定されてました」のダイアログが出るので改善したい。
https://github.com/scristalli/sql-developer-keepalive/releases から keepalive.zip をダウンロード。
sql developer を開き、以下操作でインストール。
ヘルプ → 更新の確認 → ローカルファイルからインストール → ダウンロードした keepalive.zip を参照 → 次へ → 終了 → sql developer 再起動
sql developer が起動したら青っぽいアイコンをクリック → ダイアログが表示されるのでポーリング秒数を適当にセット。これでセットした秒数毎に接続しにいく(内部的には SELECT SYSDATE AS RESULT FROM DUAL
を実行している様子)。解除したい場合は再度アイコンをクリック。
ただ、この拡張が実行されるタイミングで既に接続が切れているため、拡張実行都度「データベース接続が再設定されてました」のダイアログが出てしまう。ダメだ。
$ORACLE_HOME/network/admin/
に sqlnet.ora
を作成、sqlnet.expire_time
を設定するといいらしいとのことで試してみる。とりあえず 65秒にしてデータベース再起動。
su - oracle cd $ORACLE_HOME/network/admin/ vim sqlnet.ora sqlnet.expire_time = 65
でも変化なし。結局10秒くらいで接続が切れる。他の設定をいじらないとダメ?クライアントとサーバの間のファイアウォールが悪さをしている?うーん、、、