鎖定維護

此主題提供了維護 ClearQuest® 中已鎖定記錄的一般準則。

掃描尋找已鎖定記錄

定期掃描資料庫中的已鎖定記錄是一種好習慣。若要尋找已鎖定記錄,請建立及執行查詢,來識別記錄和保留每一個鎖定的使用者。找到鎖定的記錄時,必要的話,可採取適當的動作來移除鎖定。

利用逾時特性解除鎖定記錄

您可建立一個可讓您識別已鎖定記錄和自動解除鎖定記錄的 Script。逾時 Script 應執行下列作業:
  • 收集綱目定義的記錄類型集。
  • 對於每一個記錄類型,建置一個識別所有已鎖定記錄的資料結構。該結構應包括如保留鎖定的使用者、已鎖定的版本及觀察到鎖定的時間等資訊。此結構最初是空的。
  • 選取記錄 ID、locked_by 及 lock_version 直欄,來建置一個尋找目前已鎖定記錄的查詢。
  • 比較目前的已鎖定記錄集,與資料結構中已知道且已記錄的那些已鎖定記錄集。這項檢查必須包括鎖定使用者和已鎖定的記錄版本的相符項,才能依相同使用者但使用新版本記錄或依不同使用者來區別鎖定。
  • 如果任何鎖定已保留超過所選擇的間隔,則可藉由載入實體及呼叫 Unlock API 方法來移除鎖定。
  • 更新資料結構,以新增找到的新鎖定記錄的參照,並移除不再鎖定的記錄的參照。

使用者移除其保存的鎖定時,此 Script 會同時記載其活動或通知使用者。

此 Script 應該設定為定期執行。選擇的逾時間隔及 Script 執行掃描的頻率,會決定逾時鎖定的預期時間上下限。使用者應該要知道這些值,因為其影響:
  • 在失去其鎖定之前,使用者有多久的時間可編輯該記錄。
  • 使用者必須等待多久時間,放棄的鎖定才會自動釋放。

使用 findrecordlocks_pl 進行鎖定維護

Rational® ClearQuest 包含 findrecordlocks_pl Script,您可用來尋找記錄鎖定及設定逾時鎖定。如需使用 Script 的相關資訊和指示,請參閱 findrecordlocks.pl 的參考頁面。


意見