問題背景: 公升級所有的動態庫, 客戶端獲取不到伺服器資料,並且公升級實際伺服器時沒有備份資料(環境涉及lisp,dll,config)
問題查詢過程: 1、先在實際伺服器上查詢, 看日誌,發現可能是**原因。 2 、然後在測試伺服器上查詢是否是**的原因,但是發現測試伺服器各種缺必要的資料,也就是說測試伺服器不滿足基本的測試的環境,然後費了30多分鐘,把測試環境搭建好之後,除錯**(這個過程時間耗時20分鐘),測試發現**沒有問題。3、那麼問題究竟是什麼原因引起的?除了**,那麼接著檢視資料,第一遍,用簡單的列印語句沒有發現資料有問題, 此時就引起迷惑了,不是**問題,不是資料問題,此時就去檢視配置檔案,然後把配置檔案檢視了一遍,修改配置檔案,保證配置檔案是ok 的。然後測試,實際伺服器還是有問題,(但是此時測試伺服器已經測試過了,保證**沒有問題。) 。4、接著換了一部分實際伺服器上的資料,還是出現問題,此時只有對比測試伺服器與實際伺服器哪些部分是不同的,對比下來發現,實際伺服器的某個指令碼配置檔案被修改了,但是一點記錄的都沒有。5、最終確定就是配置檔案的問題。 此過程耗時90分鐘。。。。你妹的。
由此問題,想到的幾點:
1、實際伺服器應該要對關鍵的**,資料,配置檔案進行記錄,保證每次修改的事後都能查詢到修改哪些點,什麼人修改的。
2、實際伺服器的關鍵資料要備份,保證隨時都有乙個可用版本。居然沒有這種措施,驚訝中。準備搞個這樣的東東。
3、在發現測試伺服器沒有問題的時候,應該就要想到實際伺服器上可能是配置和資料問題 ,而不是在測試伺服器上除錯**。其實** 在本地是可以的,沒有問題,那麼第一反應就是去查詢配置和資料。還有乙個問題,資料量太大,也是有點牴觸查詢資料,這個以後得注意。
4、一定得在容易錯的地方,設定檢查,監督機制,不能靠人不犯錯,人的細心來解決。因為這個引起問題的配置檔案,沒有人一直關注,不能靠人來確認配置檔案是ok的。
乙個Mybatis問題記錄
工作中基本上都會使用mybatis。有一次為了達到控制許可權的效果,又為了最少的修改現有的 使用了自定義的mybatis的外掛程式,在運算元據的時候做一次查詢,判斷是否有許可權操作。這種許可權控制是很暴力且有很多漏洞的。問題1在一次操作中,當引數只有乙個且引數型別為long型時,預設這個引數是表a的...
java 遞迴的乙個問題記錄
問題 第一行是乙個數字n 接下來m個數字在陣列a中 要求輸出對應下標使去掉這些數字時剩下的數字之和為n 例如 3 2 4 3 1 此時,程式輸出 0 20 3 4 1 2 4 2 3 如下 public class main public static void main string args b...
遇到乙個Mysql死鎖問題,記錄下
對一張表做批量編輯,表的基本介面如下 t test bigint id,int status,varchar clientid,更新語句是 update t test set status 2 where clientid 當批量操作時,批量提交多次update語句,每次語句執行是需要做以下操作 1...