見出し画像

運用中のデータベースシステムで許可なく試作のプログラムを動かさないで

安定して運用しているシステム、今日に限ってエラーが発生すると連絡がありました。
現象を聞き取り、手元の環境でも再現することを確認出来ました。

運用中のデータベースシステム、何らかの障害が発生している模様です。
データベースそのものを確認しましたが、特にエラーや異様な負荷は発生していません。

システムを作ったのは私ですし、システムを利用しているプログラムを作ったのも私です。
私が調べるしかありません。

プログラムに仕掛けたログファイルにエラーが記録されていました。
エラーの原因、データベースシステムからタイムアウトが帰ってきています。

タイムアウトの設定は30秒なので、普段使っているSQLが正常実行されていないことになります。
普段から使っているSQLなので、今日だけエラーが発生するのは変です。

エラーになったSQLを手元で実行すると、タイムアウトが発生しました。
仕方ないのでタイムアウトの設定を5分にして、SQLを最後まで実行させます。

SQLの戻り値、普段は数件だけの値が帰ってくるのですが、何故か20万件近く値が帰ってきました。
これでは30秒タイムアウトで引っかかります。

データベースに記録されているデータを見て驚きました。
同じデータが大量に記録されており、意味が分かりません。

このデータベースシステムを使っているPCや装置を片っ端から調べていきました。
原因、とあるIoT装置でした。

設定を間違えていて、試験用のデータベースではなく、運用中のデータベースに大量のSQLを発行していました。
このIoT装置、試験用のデータベースにSQLが来ないので、無限にSQLを発行させるように設定したそうです。

原因がわかったので、対応できましたし、運用中のデータベースシステムから、無意味なデータを削除しました。
システムとしては復旧しましたが、無許可でIoT装置を接続するなと作業者に注意をしておきました。

勝手に私物PCを社内LANに接続するトラブルは何度もありますが、こういう障害は初めてでした。
工場にIoT装置を導入したいのはわかりますが、事前に相談してくれればと思いました。

たまには仕事の話も記事に書いてみたいと思います。
需要、あるのでしょうか。

#仕事 #社内SE #運用中 #データベース #障害 #IoT #プログラミング #SQL #タイムアウト #試験用 #無許可設置 #事前 #相談

いいなと思ったら応援しよう!