DB2通用数据库的并发性
2008-09-09 16:30:20 来源:WEB开发网在一段预设的时间间隔之后(请参阅标题 DEADLOCK TIME 下面的讨论),DB2 UDB 将终止当前工作单元,因为某个应用程序陷入死锁状态(通常为所做工作最少的应用程序)。这将释放终止程序所持有的锁,并允许剩余的应用程序继续下去。 DB2 UDB 将向被终止的应用程序的 SQLCA 发送描述性的错误消息和信息。
实用程序和命令的并发机制
当 SQL 应用程序使用事务锁来控制对 DB2 UDB 对象的并发访问时,DB2 UDB 实用程序和命令可以通过其他方法访问 DB2 UDB 对象,即 声明(claim)、放弃(drain)和 兼容性规则。
声明是指通知 DB2 UDB 当前正在访问某个特定对象。提交之后,该声明通常不会继续存在。为了在下一工作单元里访问 DB2 UDB 对象,应用程序需要进行新的声明。声明通知 DB2 UDB 当前正关注某个 DB2 UDB 对象,或是该对象上存在活动。只要 DB2 UDB 对象上存在声明,在释放那些声明之前,就不能采取任何放弃(drain)。
放弃(drain)是指通过下列方式来访问 DB2 UDB 对象的动作:
阻止对对象进行任何新的声明。
等待释放对象上现有的所有声明。
DB2 UDB 对象上的放弃导致 DB2 UDB 停止(quiesce)所有当前正声明该资源的应用程序,其方式为允许它们到达提交点,但阻止它们(或任何其他的应用程序进程)进行新的声明。Drain 锁还阻止冲突进程同时放弃(drain)同一对象。
DB2 UDB 一般通过一组兼容性规则来控制实用程序的并发操作。如果两个实用程序不需要同时以不可兼容的模式访问相同的 DB2 UDB 对象,就将它们视为是“兼容的”。当一个实用程序作业开始时,DB2 UDB 就检查系统,查看当前是否有其他任何实用程序正处理同一 DB2 UDB 对象。如果该对象当前未被另一实用程序访问,或者如果另一执行实用程序是可兼容的,该实用程序才可以继续。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››数据库对象——存储过程
- ››db2诊断系列之---定位锁等待问题
- ››数据库设计词汇对照表
- ››db2 命令选项解释
- ››数据库大型应用解决方案总结
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
更多精彩
赞助商链接