Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 监控和提高数据库性能 » 应用程序分析教程

 

教程:诊断死锁

使用本节中的教程来学习如何利用 [数据库跟踪向导] 来查看数据库中可能发生的死锁。可以使用 [数据库跟踪向导] 分析在哪些情况下发生死锁以及导致死锁的连接。

当两个或多个事务互相阻塞时,就会发生死锁。例如,事务 A 需要访问表 B,但表 B 被事务 B 锁定。事务 B 需要访问表 A,但表 A 被事务 A 锁定。这时就发生循环阻塞冲突。

当返回 SQLCODE -306 和 -307 时,就明显表示发生死锁。为解决死锁,SQL Anywhere 会自动回退形成该死锁的最后一条语句。如果不断回退语句,则会出现性能问题。


第 1 课:创建测试数据库
第 2 课:创建死锁
第 3 课:捕获死锁数据
第 4 课:查看阻塞的连接数据
第 5 课:查看死锁数据