技术文章 - CS71435

在 Windchill 中,表 QueueLock 行可能会被锁定很长时间

已修改: 20-May-2025   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • Windchill PDMLink 10.0 to 12.1
  • FlexPLM 10.1 to 12.0
  • Windchill PDMLink 10.0 to 13.0

说明

  • Windchill 中QueueLock表中的行可能会被长时间锁定
  • enq: TX - row lock contention等待事件较高
  • AWR报告指出QueueLock表上有行锁
  • Oracle:在数据库诊断报告的按运行时间排序的最差 SQLSqlByElapsedTime.html )中可以看到以下 SQL 语句( SQL_ID g5f60f34546c8 ):
SELECT idA2A2 FROM QueueLock WHERE idA2A2=:1 FOR UPDATE
  • SQL Server:SQL 如下所示:
SELECT idA2A2 FROM QueueLock WITH (ROWLOCK, UPDLOCK ) WHERE idA2A2=@P0
  • 如果没有获取QueueLock会怎么样?
  • 这种情况的症状可能包括方法服务器日志中带有回滚的堆栈跟踪,例如:
     wt.queue.ProcessingQueue.PublisherQueue1 - Unexpected error com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset by peer: socket write error at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2979) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:3024) at com.microsoft.sqlserver.jdbc.SQLServerConnection.rollback(SQLServerConnection.java:3201) at wt.log4j.jmx.ConnectionWrapper.rollback(ConnectionWrapper.java:100) at wt.queue.WtQueueThread$AttainQueueLockRunner.run(WtQueueThread.java:586)

这是文章 71435 的 PDF 版本,可能已过期。最新版本 CS71435