犬ターネット

SQL Developer とデータベース間で接続が切れないようにしたい(未解決)

2021-03-08 oracle

SQL Developer からOracleデータベースに接続すると、体感 10 秒 くらいで接続が切れちゃって、クエリを実行するたびに「データベース接続が再設定されてました」のダイアログが出るので改善したい。

改善案その1 : keepalive 拡張を入れる

https://github.com/scristalli/sql-developer-keepalive/releases から keepalive.zip をダウンロード。

sql developer を開き、以下操作でインストール。

ヘルプ → 更新の確認 → ローカルファイルからインストール → ダウンロードした keepalive.zip を参照 → 次へ → 終了 → sql developer 再起動

sql developer が起動したら青っぽいアイコンをクリック → ダイアログが表示されるのでポーリング秒数を適当にセット。これでセットした秒数毎に接続しにいく(内部的には SELECT SYSDATE AS RESULT FROM DUAL を実行している様子)。解除したい場合は再度アイコンをクリック。

ただ、この拡張が実行されるタイミングで既に接続が切れているため、拡張実行都度「データベース接続が再設定されてました」のダイアログが出てしまう。ダメだ。


改善案その2 : データベース側の設定を変える

$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秒くらいで接続が切れる。他の設定をいじらないとダメ?クライアントとサーバの間のファイアウォールが悪さをしている?うーん、、、


PHPでゼロパディングを右から行う

ほんとうは