編寫一個BAT腳本協助運維人員遇到問題時候調測數據庫是否有效連接成功的操作攻略

簡單摘要:

1、內網系統出現故障需要排查

2、運維人員不熟悉數據庫操作,沒法通過連接數據庫和執行SQL語句的方式排查數據庫及數據是否正常

3、解決方案:編寫一個bat腳本,運維人員雙擊運行即可。

 

原文鏈接:

http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?id=d861e977-87d1-4ac0-ab63-91dacb9ccc9e

背景說明:

 

車輛管理系統涉及2臺服務器:

101:數據接收程序、應用

102:數據庫

 

凌晨遇到定位數據接收不到的問題,需要排查原因和維護。

定位數據接收不到通常有幾種原因:

1、數據接收程序宕機,需要重新啓動該程序。(通常原因)

程序名:GPS-Server

進程名:VTS.exe

程序路徑:D:\GPS\server\VTS.exe

 

2、移動網絡故障,GPS定位數據不能回傳

 

3、應用程序和數據庫之間通信出問題,數據無法寫入。

 

本文主要將bat腳本的作用和實現功能,問題排查和維護相關指引另外文章介紹

 

寫BAT腳本的原因

 

1、系統出了問題需要維護,電話請求運維人員協助遠程服務器並做重啓服務操作。結果發現服務重啓後,數據還是不能接收(因爲原因2和3);

2、因爲數據能否接收成功,我寫了一個監控程序定時去掃數據庫和告警的,定時程序運行有一定時間間隔,運維人員沒法直接幫我看到數據是否接收成功,只能等監控程序通知;

3、這就有問題了,不能直接通過數據庫確認數據是否接收,運維響應就滯後了

4、但運維人員不熟悉系統,沒法要求運維人員懂oracle和表結構,通過電話協助方式去直接查表和數據。

 

解決辦法

解決方法有多種:可以是完善監控程序代碼;這裏用的方案是寫一個bat腳本,放在電腦桌面上輔助給運維人員執行。

 

效果

 

bat檢查GPS系統定位數據的桌面效果

bat檢查GPS系統定位數據的桌面效果

 

運維人員在雙擊bat文件,即可看到數據庫的數據效果

 

bat檢查GPS系統定位數據的執行效果

bat檢查GPS系統定位數據的執行效果

 

實現步驟 

 

bat腳本和sql語句的存放目錄

bat腳本和sql語句的存放目錄

 

1、在D:\Apps\Bats目錄下編寫sql腳本的sql文件GpsDbCheckSql.sql

 

GpsDbCheckSql.sql

-- 獲取數據庫當前時間 --
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') as "數據庫當前時間" from dual;  

-- 查詢vt_last_location_data (最新定位數據表) --
-- 獲得最新的定位時間 --
select vid as "車輛id" , to_char(gpstime,'yyyy-MM-dd HH24:mi:ss') as "定位數據時間" from (select * from vt_last_location_data where gpstime > sysdate - 1 order by gpstime desc ) where rownum < 6;

-- 退出Oracle --
exit;  

 

 

2、編寫bat腳本 GpsDbCheck.bat

 

GpsDbCheck.bat

: 連接數據庫,並執行SQL語句,判斷是否有數據寫入到db
sqlplus gpsmisuser/******@HNAGPS @"D:\Apps\Bats\GpsDbCheckSql.sql"

: 等待輸入,退出cmd窗口
pause



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章