`

ORA-01591 锁定已被有问题的分配事务处理--解决方法

阅读更多

最近,在webogic中使用两阶段提交事务,遇到了错误java.sql.SQLException: ORA-01591: 锁定已被有问题的分配事务处理8.47.144854挂起
注意:8.47.144854是事务编号

在网上找到一个比较详细解释http://www.chinageren.com/jc/HTML/120874.html

可在oracle提供的Administrator’s Guide文档中查找ORA-01591,获得相关的错误信息
英文原文:
ORA-01591: lock held by in-doubt distributed transaction identifier
我觉得中文翻译不对:锁已被有问题的分布式事务持有
意译应该是:有问题的事务持有该资源(就是你想要查询的资源)的锁,比如一些两阶段事务提交(Two-Phase Commit),出现的问题,都会出现这些问题

下面是删除该锁的示例代码

1.现在DBA_2PC_PENDING表中找到出错的事务,注意STATE字段的信息

SQL> select * from DBA_2PC_PENDING;

LOCAL_TRAN_ID   GLOBAL_TRAN_ID               STATE         MIXED ADVICE TRAN_COMMENT  FAIL_TIME   FORCE_TIME  RETRY_TIME  OS_USER         OS_TERMINAL  HOST       DB_USER  COMMIT#
-------------- ---------------------------- -------------- ----- ------ ------------- ----------- ----------- ----------- --------------- ------------ ---------- -------- -----------
8.47.144854     48801.00BEA9B42C3DFE95E711   prepared       no                         2007-4-5 下             2007-4-5 下 Administrator   unknown      wangjian            164812088

2.提交前面发生错误的事务

SQL> COMMIT FORCE "8.47.144854";

Commit complete

3.再查看DBA_2PC_PENDING表,注意STATE字段的信息

SQL> select * from DBA_2PC_PENDING;

LOCAL_TRAN_ID  GLOBAL_TRAN_ID               STATE          MIXED ADVICE TRAN_COMMENT  FAIL_TIME   FORCE_TIME  RETRY_TIME  OS_USER         OS_TERMINAL  HOST       DB_USER  COMMIT#
-------------- ---------------------------- -------------- ----- ------ ------------- ----------- ----------- ----------- --------------- ------------ ---------- -------- -----------
8.47.144854    48801.00BEA9B42C3DFE95E711   forced commit  no                         2007-4-5 下 2007-4-5 下 2007-4-5 下 Administrator   unknown      wangjian

分享到:
评论

相关推荐

    oracle报错大全(珍藏版)

    这可能是由于内存分配问题或并发控制机制的问题。 #### ORA-00085: Current User Not Specified 当前用户未指定。这可能是由于会话初始化错误或逻辑错误。 #### ORA-00086: User Not Logged In 用户未登录。这可能...

    oracle常见错误及解决方法

    Oracle数据库在运行过程中可能会遇到各种错误,这些错误通常以ORA-XXXX的形式呈现,每个错误代码对应着特定的问题和解决策略。以下是一些常见的Oracle错误及其解释和解决方法: 1. ORA-00001: 违反唯一约束条件 当...

    ORACLE错误一览表.

    - **描述**:尝试获取已被禁用的表锁定。 - **解决方法**: - 确认表锁定是否有必要。 - 如果必要,启用表锁定。 ##### ORA-00070: 命令无效 - **描述**:输入的命令格式不正确或命令本身无效。 - **解决方法**:...

    ORA-01688:unable to extend table name(执行存储过程时的错误).pdf

    在删除表空间时可能会遇到问题,比如描述中提及的"ora-00054: resource busy and acquire with nowait specified"错误,这意味着有活动的事务或锁定阻止了表空间的删除。要解决这个问题,需要找出并结束那些占用资源...

    oracle数据库-错误编码大全

    在Oracle数据库的管理与维护过程中,数据库管理员和开发人员常常会遇到各类错误信息,错误编码大全为他们提供了快速定位和解决问题的途径。下面将详细介绍标题和描述中提及的几个Oracle错误编码,以及通过部分列出的...

    ORACLE ORA错误大全

    这些错误通常提供了关于问题的具体位置和性质的重要线索,帮助数据库管理员(DBA)或开发者快速定位并解决问题。本文将对部分ORA错误进行详细解读,并探讨这些错误可能出现的位置以及如何处理。 #### 错误出现位置 ...

    Oracle错误代码大全.docx

    在 Oracle 错误代码大全中,错误代码被分为多个类别,每个类别都有其特定的错误代码和解决方法。下面是 Oracle 错误代码大全中的一些常见错误代码: 会话管理错误 ORA-00001: 违反唯一约束条件 ORA-00022: 无效的...

    ORACLE错误代码大全

    在Oracle数据库的日常运维和开发工作中,了解和掌握这些错误代码对于及时定位问题、快速解决问题至关重要。 错误代码大全中通常包含的是以ORA-开头的错误代码,每个代码对应着一个具体的错误信息,涉及面非常广,...

    oracle错误一览表

    - **解决方法**: 检查操作系统日志,了解具体原因,并尝试解决问题。 **ORA-00051: 等待资源超时** - **描述**: 等待获取资源锁的时间超过了最大允许等待时间。 - **解决方法**: 调整等待时间或优化资源分配策略。 ...

    oracle错误码大全

    #### ORA-00028: 您的会话已被删去 **描述**: 用户的会话已被系统管理员或其他用户删除。 **解决方法**: - 重新建立一个新的会话。 - 联系数据库管理员了解更多信息。 #### ORA-00029: 会话不是用户会话 **描述*...

    ORACLE错误代码

    7. ORA-00022: 无效的会话ID意味着会话标识符不存在或已被删除,可能需要重新建立连接。 8. ORA-00023: 会话引用了进程私有内存,可能需要清理会话或重启数据库服务。 9. ORA-00024: 在单一进程模式下,多进程注册...

    oracle 错误一览表

    - **解决方法**:根据具体错误信息排查问题,可能需要数据库专家介入。 #### ORA-00021: Unable to allocate shared memory segment - **描述**:无法分配共享内存段。 - **解决方法**:增加内存或调整内存参数。 ...

    Oracle 错误大全

    ### Oracle 错误大全知识点详解 #### 一、概述 ...以上仅为部分Oracle错误代码的介绍与解决建议,针对具体的错误,建议参考Oracle官方文档及错误日志,以便更准确地定位问题并采取相应的措施解决问题。

    oracle错误代码大全

    然而,在使用Oracle进行SQL操作时,可能会遇到各种错误代码,这些错误通常提供了关于问题的详细信息,帮助数据库管理员和开发人员识别并解决问题。以下是一些常见的Oracle错误代码及其含义: 1. ORA-00001: 这个...

    ORA-01688:unable to extend table name(执行存储过程时的错误).docx

    在删除表空间时,可能会遇到ORA-00054错误,这意味着资源正被其他事务占用,无法立即删除。这通常涉及到锁定机制。 **解决资源繁忙问题:** 1. **查询锁定信息:** 使用具有DBA权限的用户,可以通过以下查询找出...

    Oracle错误代码

    了解这些错误代码的含义及解决方法,对于快速定位问题、解决问题有着至关重要的作用。以下是一些常见的Oracle错误代码及其解释: #### ORA-00001: 违反唯一约束条件 当尝试插入或更新的记录违反了数据库表中的唯一...

    oracle错误合集

    最后,如ORA-00060(等待资源时检测到死锁)这类错误,涉及到多线程和并发操作中的死锁问题,可能需要通过死锁检测工具或事务回滚来解决。 总的来说,Oracle错误代码提供了一种识别和解决数据库问题的方法。理解...

    Oracle所有错误

    了解这些错误代码的含义及解决方法,对于快速定位问题、提高数据库运行效率至关重要。以下是一些常见的Oracle错误代码及其解释: #### ORA-00001:违反唯一约束条件 当尝试插入重复的唯一键值时触发。例如,在一个...

    Oracle——错误一览表 任务用.docx

    Oracle数据库是世界上最流行的数据库管理系统之一,它在处理大量数据和复杂事务方面表现出色。然而,随着使用过程中的各种操作,可能会遇到各种错误。这个文档"Oracle——错误一览表 任务用.docx"列出了许多常见的...

Global site tag (gtag.js) - Google Analytics