本主题提供针对维护 ClearQuest® 中已锁定记录的常规指导原则。
扫描以查找锁定的记录
定期扫描数据库以查找锁定的记录是一种很好的做法。
要查找锁定的记录,请创建并运行查询,用于识别持有每个锁定的记录和用户。找到锁定的记录后,可根据需要采取相应的操作,以除去锁定。
使用超时功能对记录解锁
您可以创建一个脚本,帮助您识别锁定的记录,并自动对其进行解锁。超时脚本应执行以下任务:
- 收集由模式定义的一组记录类型。
- 构建一个数据结构,用于识别每个记录类型的所有已锁定记录。该结构应包含诸如持有锁定的用户、锁定的版本以及发现锁定的时间之类的信息。该结构最初是空的。
- 通过选择“记录标识”、“locked_by”和“lock_version”列构建一个查询,以查找当前锁定的记录。
- 将当前锁定的一组记录与数据结构中已知并已记录的记录进行比较。这项检查必须对执行锁定的用户和锁定记录的版本进行匹配,以便区分由同一用户执行但针对的是记录的新版本的锁定,或是由其他用户执行的锁定。
- 通过装入实体并调用 Unlock API 方法来除去持有时间已超过所选时间间隔的锁定。
- 更新数据结构,以添加对所发现新近锁定的记录的引用,并除去对不再锁定的记录的引用。
该脚本还应记录其活动,或在除去用户持有的锁定时通知这些用户。
该脚本应设置为定期运行。所选的超时时间间隔和脚本执行扫描的频率将决定期望的锁定超时的最长和最短时间。用户应知道这些值,因为它们会影响:
- 在丢失锁定之前,用户可以从事记录编辑活动的时间长度。
- 在自动释放已放弃锁定之前用户必须等待的时间长度。
使用 findrecordlocks_pl 进行锁定维护
Rational® ClearQuest 包含一个 findrecordlocks_pl 脚本,可用于查找记录锁定和设置超时锁定。
要了解有关使用该脚本的更多信息和指示信息,请参阅针对 findrecordlocks.pl 的参考页面。