監控資料庫連線遇到的一個小問題
最近遇到一個資料庫方面的問題,資料庫所在的檔案系統處於read-only狀態以後,DB2例項雖然已經啟動,這時連線資料庫,會hung在那裡,很久沒有反應,並且db2diag日誌裡面有大量的錯誤資訊丟擲。
這篇短文並不是討論這個問題怎麼解決,因為解決起來很簡單。有時候遇到一個問題以後,會突然反思之前的一些設計,聯想到之前工作中的不妥之處。
我想到我多年之前寫的一個關於監控DB2狀態的的指令碼,其中有一個監控是連線資料庫,看是否能夠獲得資料庫連線,當時是採用的方式是:
-
rtnValue=`db2 connect to ${dbName}`
然後判斷rtnValue是否為0
從最近遇到的這個問題來看,這個方式是存在問題的,如果很久得不到連線,這個指令碼的執行就會hung在這裡,不能及時的返回監控結果。
那麼怎麼解決這個問題那?可以藉助 timeout
-
timeout 30s db2 "connect to ${dbName}"
rtnValue=$?
透過timeout的方式,這個命令會在30秒內返回。如果發生了上面的這個問題,rtnValue會是 124,否則就是這個命令 db2 "connect to ${dbName}"的返回值。
關於timeout的詳細資訊可以看
timeout --help
...
If the command times out, and --preserve-status is not set, then exit with status 124. Otherwise, exit with the status of COMMAND.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/725820/viewspace-2683047/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自定義帶監控的資料庫連線池資料庫
- [20181128]toad連線資料庫的問題.txt資料庫
- Django資料庫連線丟失問題Django資料庫
- DBeaver如何連線一個資料庫資料庫
- [20181128]toad連線資料庫的問題(補充).txt資料庫
- 上線後遇到一個很奇怪的問題
- 記錄一次spark連線mysql遇到的問題SparkMySql
- IDEA無法連線docker中的資料庫的問題IdeaDocker資料庫
- 本地連線虛擬機器資料庫問題虛擬機資料庫
- DB2資料庫連線失敗問題DB2資料庫
- [20230306]os認證連線資料庫問題.txt資料庫
- 工作遇到的問題小記(一)
- golang連線達夢資料庫的一個坑Golang資料庫
- 今天記錄一個小程式使用客服的功能遇到的坑,版本庫問題
- python中多程式處理資料庫連線的問題Python資料庫
- 資料庫DML監控一例資料庫
- 資料庫連線 系列一:laravel框架如何連線兩個資料庫(不同伺服器)資料庫Laravel框架伺服器
- MySQL監控-Datadog資料庫監控調研MySql資料庫
- 小程式遇到的一些問題
- 資料庫監控---PIGOSS BSM資料庫Go
- 監控資料庫活動資料庫
- 資料庫繁忙程度監控資料庫
- IndexedDB 建立資料庫時使用自增的Key 更新資料庫遇到的問題的一點記錄Index資料庫
- MySql資料庫連線池專題MySql資料庫
- 關於android stdio連線mysql資料庫出現過的問題AndroidMySql資料庫
- 聊聊國產資料庫遷移中的表連線效能問題資料庫
- Laravel 使用多個資料庫連線Laravel資料庫
- 記錄後臺遇到的兩個小問題
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- 如何連線一個像 MSSQL 或者 orcale 一樣的外部資料庫SQL資料庫
- jmeter 遇到的一個場景問題JMeter
- 連線資料庫資料庫
- 關於在執行java連線MongoDB時遇到的連線超時問題JavaMongoDB
- 資料庫的連線數資料庫
- python連線clickhouse資料庫的兩種方式小結Python資料庫
- Zabbix監控神通資料庫教程資料庫
- shell監控mysql 8.0資料庫MySql資料庫
- shell監控mysql 5.7資料庫MySql資料庫