`
sqiutz
  • 浏览: 71356 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DB2 死锁无没有反应

    博客分类:
  • DB2
阅读更多

The Microsoft SQL Server 2000 Driver for JDBC may cause an application to stop responding, or "hang," while working with concurrent transactions in a multi-threaded environment. A thread dump file that is generated during the hang (with the 'kill -quit <pid>' command in a Unix environment, or with the CTRL+SHIFT+BREAK key combination in the command session where the application is launched in a Windows environment) shows the following call stack:

java.net.SocketInputStream.socketRead 
java.net.SocketInputStream.read com.microsoft.util.UtilSocketDataProvider.getArrayOfBytes
com.microsoft.util.UtilBufferedDataProvider.cacheNextBlock 
com.microsoft.util.UtilBufferedDataProvider.getArrayOfBytes 
com.microsoft.jdbc.sqlserver.SQLServerDepacketizingDataProvider.signalStartOfPacket 
com.microsoft.util.UtilDepacketizingDataProvider.getArrayOfBytes 
com.microsoft.util.UtilPagedTempBuffer.write com.microsoft.util.UtilPagedTempBuffer.write 
com.microsoft.util.UtilByteArrayDataProvider.receive 
com.microsoft.util.UtilByteOrderedDataReader.receive 
com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.submitRequest 
com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.sendCursorFetch 
com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.openCursor 
com.microsoft.jdbc.sqlserver.SQLServerImplStatement.execute 
com.microsoft.jdbc.base.BaseStatement.commonExecute 
com.microsoft.jdbc.base.BaseStatement.executeQueryInternal 
com.microsoft.jdbc.base.BasePreparedStatement.executeQuery
CAUSE:
When the Java application, or the application server that initiates and manages transactions on multiple threads using the Microsoft JDBC driver, switches from manual commit mode to auto commit mode between transactions, the driver does not automatically commit any open transactions. This can cause tables to remain locked. When a table remains locked, any subsequent query against that table stops responding.
resolve:
    Prevent the transaction rollback and adjust the server or system attribute after roll back.

分享到:
评论

相关推荐

    db2死锁问题分析及解决方案

    死锁是指两个或多个事务因互相等待对方释放资源而无限期地阻塞下去的情况。在DB2中,当两个或多个事务互相等待对方释放锁定资源时,就会发生死锁。 #### 三、死锁识别与分析 ##### 1. 错误代码-911 - **描述**: 当...

    DB2解决表死锁

    死锁是指两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力干涉,它们都将无法继续执行。在DB2中,这种情况可能导致系统性能下降,甚至阻塞正常业务操作。 DB2通过一种称为“死锁检测”...

    解决DB2死锁的一些资料整理

    DB2死锁问题在数据库应用系统中是一种常见的性能瓶颈,特别是在新系统上线初期,由于测试不足和对DB2机制理解不深,可能会频繁出现。DB2死锁涉及到多个层面,包括系统参数配置、应用程序设计以及性能监控与维护。...

    db2死锁问题.doc

    ### DB2死锁问题解析与处理方法 #### 一、理解DB2死锁现象 **DB2**(DB2 Universal Database)是由IBM公司开发的一款关系型数据库管理系统。在多用户并发访问DB2数据库的过程中,可能会遇到所谓的“死锁”问题。...

    db2解除死锁

    在DB2数据库管理系统中,死锁是一个常见的问题,它发生在两个或多个事务相互等待对方释放资源,从而导致它们都无法继续执行。本篇文章将详细介绍如何在DB2中检测和解决死锁,特别是针对标题中提到的"db2解除死锁"的...

    DB2解数据库死锁.doc

    死锁是指两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力干涉它们都将无法继续执行。在DB2中,当多个事务互相等待对方释放资源时,就可能出现这种情况。解决DB2数据库死锁的问题通常...

    DB2数据库处理表死锁

    ### DB2数据库处理表死锁知识点详解 #### 一、理解DB2中的死锁与锁机制 在DB2(Database 2)这种关系型数据库管理系统中,锁是一种用于确保数据一致性和完整性的关键机制。当两个或多个事务互相等待对方释放资源时...

    DB2死锁的解决过程全记录

    DB2死锁问题通常在涉及更新操作的SQL语句中出现,但在本案例中,一个普通的SELECT语句引起了死锁,这在实践中较为罕见。死锁的产生是由于多个事务在资源请求上形成循环等待,导致系统无法继续执行。解决DB2死锁的...

    Linux系统重启db2数据库命令实例详解.docx

    10. **查看锁和死锁**:`db2 get snapshot for locks on db_name`获取锁的状态,`db2 "select agent_id, tabname, lock_mode from table(snap_get_lock('&lt;db_name&gt;')) as aa"`显示死锁信息。 11. **监控SQL性能**:...

    DB2网上资源汇总

    6. 死锁解决:"解决数据库的死锁问题"和"当并发遇到隔离的时候 DB2"提供了处理DB2死锁的具体步骤和策略,包括使用DB2的死锁检测功能、事务回滚和死锁预防等技术。 7. 社区资源:这些HTML文件来自于各种技术社区,如...

    进程线程及死锁

    进程、线程、死锁和POSIX规范的系统调用 进程是操作系统中一个独立的执行单元,它拥有自己的虚拟地址空间和系统资源。线程是轻量级的进程,它共享同一个进程的虚拟地址空间和系统资源。理解进程和线程的概念对于...

    解决ORACLE死锁问题

    一、数据库死锁的现象 程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错。 二、死锁的原理 当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提 交,另一条对于这一列...

    操作系统-死锁

    从进程同步的概念可以知道,当并发进程需要竞争使用资源或需要相互协作向前推进时,如果不采取同步措施,或同步措施不恰当,则很容易导致并发进程不能向前推进而陷入僵局,即死锁现象。死锁是发生在一组相互竞争或...

    mysql死锁的一些案例

    死锁是指两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力干涉它们将无法继续执行。死锁是数据库系统中常见的问题,尤其在多用户、高并发的应用场景下,了解和处理死锁显得尤为重要。 ...

    SQL Server死锁的解除方法

    "SQL Server死锁的解除方法" SQL Server死锁是指在多个事务之间的资源竞争时,出现的循环等待资源的现象。死锁会导致系统性能下降,甚至会导致系统崩溃。因此,解决SQL Server死锁是非常重要的。 SQL Server死锁的...

    sqlserver如何快速查询死锁语句

    在SQL Server数据库管理系统中,死锁是一个常见的性能问题,它发生在两个或多个事务相互等待对方释放资源,导致它们都无法继续执行。死锁不仅影响数据库的正常运行,还可能导致数据一致性问题。本文将详细介绍如何在...

    sql数据库死锁查询工具

    - 没有设置适当的事务隔离级别:如读未提交(READ UNCOMMITTED)可能会减少死锁,但可能导致其他问题。 - 长事务:长时间运行的事务可能导致更多资源被锁定,增加死锁风险。 **3. 查询阻塞进程** 当一个SQL查询被...

    数据库死锁-解决死锁问题的三种办法

    如果没有检测到死锁,事务将被放入等待队列;如果检测到死锁,DM4会视为运行时错误,回滚当前事务的执行语句,避免了死锁对系统的影响。这种机制简化了解锁过程,从用户角度来看,系统似乎不存在解锁的问题。 总之...

    死锁详解,如何表面死锁

    此外,后缀表达式(也称为逆波兰表达式)是一种没有括号的表达式表示方式,运算符位于操作数之后,通过堆栈进行计算,简化了运算符优先级的问题。将中缀表达式转换为后缀表达式,主要遵循运算符优先级规则,通过扫描...

Global site tag (gtag.js) - Google Analytics