2016-11-28 41 views
1

經過一天的尋找&試圖解決問題的時間在這裏問。火鳥更新聲明凍結

我們多年來使用Firebird(大約6年)和很久以前更新的當前版本2.5.2我們遇到了無法更新語句的問題。

SQL語句正常,即使「where」條件與主鍵一起使用。

問題:更新要點擊後卡住:執行
一)從PHP腳本從Flamerobin或IBQ其凍結直接返回內部服務器錯誤500
B),並在所有

    沒有響應
  1. 提示:SQL這wasnt工作是清潔火鳥之後的工作(停止&開始),但經過一段時間它會再次陷入
  2. 提示:選擇是或,問題是隻與UPDATE
  3. 提示:我二叔d都在這裏描述https://www.ibphoenix.com/resources/documents/how_to/doc_5 redump後沒有錯誤,但出現問題
  4. 提示(這是給我的錯誤上gfix -v - 全數據庫文件的redump):我們運行相同的配置有多個數據庫文件更多的服務器但是這僅發生在一臺服務器上的一個DB文件中的一個表中。

經過一番調查後,我終於得到這個從fbtrace:

2016-11-28T14:25:28.4410 (9473:0x7f1489cb1f08) PREPARE_STATEMENT 
    phones.fdb (ATT_273856, VILAS:NONE, UTF8, TCPv4:10.1.1.195) 
    /usr/bin/flamerobin:10868 
     (TRA_78838, CONCURRENCY | WAIT | READ_WRITE) 

Statement 422749: 
------------------------------------------------------------------------------- 
UPDATE TELEFONI_CISLA SET DATUM_PRIDANI = '2011-7-3' WHERE ID = '17274' 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
PLAN (TELEFONI_CISLA INDEX (RDB$PRIMARY4)) 
     0 ms 

2016-11-28T14:25:28.4780 (9473:0x7f1489cb1f08) EXECUTE_STATEMENT_START 
    phones.fdb (ATT_273856, VILAS:NONE, UTF8, TCPv4:10.1.1.195) 
    /usr/bin/flamerobin:10868 
     (TRA_78838, CONCURRENCY | WAIT | READ_WRITE) 

Statement 422749: 
------------------------------------------------------------------------------- 
UPDATE TELEFONI_CISLA SET DATUM_PRIDANI = '2011-7-3' WHERE ID = '17274' 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
PLAN (TELEFONI_CISLA INDEX (RDB$PRIMARY4)) 

林的想法檢查什麼,幾乎失去了。只是想讓你知道,我們沒有改變FB或服務器配置中的任何東西。

感謝您的任何有用的幫助。

+0

火鳥2.5.2不是最近的版本,我建議你升級到至少2.5.6。但是,您的問題也可能是由於併發事務的鎖定以及您使用「WAIT」事務造成的。請使用無等待事務,或者使用超時等待事務。 –

+0

編輯:現在它的運行2.5.5,我會嘗試指定超時:DeadlockTimeout到10 –

回答

0

一切都是由後臺運行的許多腳本之一(來自cron)在沒有承諾幾個小時的情況下進行公開交易而引起的。 它可以再回來。