ORA-03113错误解决一例

大家知道,ORA-03113错误是Oracle数据库常见的错误,导致这个错误的原因比较复杂,各种各样的原因。可能是网络中断引起的、也可能是数据库本身出现了问题。

下面就一个案例,分析一下ORA-03113错误。

故障现象:

开始alert文件提示错误:

Error 1013 trapped in 2PC on transaction 1.60.1257421. Cleaning up.

Error stack returned to user:

ORA-02050: transaction 1.60.1257421 rolled back, some remote DBs may be in-doubt

ORA-01013: user requested cancel of current operation

ORA-06553: PLS-103: Encountered the symbol "EXCEPTION" when expecting one of the following:

begin case declare exit for function goto if loop mod null

package pragma procedure raise return select separate type

update while with

<<

form table call close current define delete fetch lock

Mon Feb 18 09:07:19 2008

DISTRIB TRAN SMSBOSS.09aad41c.1.60.1257421

is local tran 1.60.1257421 (hex=01.3c.132fcd)

insert pending collecting tran, scn=8914343855672 (hex=81b.884c8638)

然后时不时的会提示下面错误:

ERROR, tran=1.60.1257421, session#=1, ose=0:

ORA-03113: end-of-file on communication channel

*** 2008-02-18 09:45:25.919

ERROR, tran=1.60.1257421, session#=1, ose=0:

ORA-03113: end-of-file on communication channel

*** 2008-02-18 10:19:42.891

Oracle数据库只有这些错误提示,其余状态均正常。

从错误提示看,应该是由于分布事务由于人为cancel中止,引起的事务失败,下面查看相关信息:

SQL> select LOCAL_TRAN_ID,GLOBAL_TRAN_ID,STATE,MIXED,HOST,COMMIT# from dba_2pc_pending;

LOCAL_TRAN_IDGLOBAL_TRAN_IDSTATEMIX       HOSTCOMMIT#

---------------------- -------------------- ---------------- --- -------------------- ----------------

1.60.1257421               SMSBOSS.09aad41c.1.60.1257421 collecting no      WORKGROUP\LIUQING8914343855672

SQL> select * from DBA_2PC_NEIGHBORS;

LOCAL_TRAN_IDIN_      DATABASEDBUSER_OWNERI  DBIDSESS# BRANCH

---------------------- --- --------------- ------------------------------ ----------------- ---------- --------------------

1.60.1257421inBOSSMGRN1            0000

1.60.1257421outSMSDBNBOSSMGRNcc3ddb9b1            4

select * from DBA_2PC_PENDING@smsdbn;

no rows selected

select * from DBA_2PC_NEIGHBORS@smsdbn;

no rows selected

dba_2pc_pending视图记录等待恢复的分布式事务的信息

dba_2pc_neighbors视图记录未决的分布式事务的输入输出连接信息

有上述信息分析原因,1.60.1257421事务的状态为collecting,本机数据库数据流向为in,远端smsdbn数据库流向为out。

询问业务人员,确实运行过这么个一存储,中途手工中止了。并且是从smsdbn数据库里select数据然后update本地数据库。这基本证实了我们的猜测。

下面尝试force commit或者force rollback此事务,

SQL> commit force '1.60.1257421';

commit force '1.60.1257421'

*

ERROR at line 1:

ORA-02058: no prepared transaction found with ID 1.60.1257421

上述错误的原因是由于collecting状态的事务不需要commit/rollback force。

我们现在需要做的就是:

(1)Disable分布式恢复

SQL> ALTER SYSTEM DISABLE DISTRIBUTED RECOVERY;

System altered.

(2)Puege(清空)in-doubt transaction entry:

SQL> exec DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('1.60.1257421');

PL/SQL procedure successfully completed.

(3)然后enable分布式恢复:

SQL> ALTER SYSTEM ENABLE DISTRIBUTED RECOVERY;

参考信息/更多阅读:

Note:1012842.102

Note:100664.1

Note:274321.1

Note:126069.1

--The End--

By eygle on 2008-02-07 22:57 |

Comments (0) |

Case | 2702 |

oracle 错误 1013,ORA-03113错误解决一例相关推荐

  1. PLSQL连接Oracle数据库时报ORA 12154错误的解决方法

    pl/sql连接Oracle时遇到的问题: 解决办法:安装后将Oracle安装目录下的文件夹network(包括其中的子文件,其中主要是tnsnames.ora) 在pl/sql菜单–"工具 ...

  2. oracle错误01653,oracle 10g 错误 ORA 01653 的解决过程

    oracle 10g 错误 ORA 01653 的解决过程 早上用户反应在操作用友NC时报错 ORA-01653 ,详细信息:ORA-01653: 表 NCV35.GL_DETAIL 无法通过 102 ...

  3. imp导入时 出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决方法

    imp导入时 出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决方法 参考文章: (1)imp导入时 出现IMP-00017:由于 ORACLE 错误 6550, 以下 ...

  4. oracle报错1455,oracle_1455_错误解决办法

    oracle 1455 错误解决办法 ORA-01455: 转换列溢出整数数据类型 在用 expuser/pwd@oraclesidfile=e:\abc530.dmp 导出oracleDmp时报错了 ...

  5. Oracle数据库安装出现OUI-10150错误解决办法

    Oracle数据库安装出现OUI-10150错误解决办法 在安装Oracle数据库中常常容易发生错误,我遇到了一个最大的坑,因为这个坑我整整花了两天时间,就是OUI-10150错误,这个错误是发生在O ...

  6. 3194错误1013错误等iPhone越狱恢复固件错误解决方法

    我们经常会在刷机的时候遇到各式各样的错误,如:3194错误.1031错误.160X错误等等,这些错误时常让很多椒友抓狂.今天小编这篇教程就是为了解决大家这个麻烦,同时也希望大家看完后,有所帮助. iO ...

  7. oracle 01722 无效数字,Oracle连接字符串报错误ORA-01722:无效数字的解决方法

    Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似于某字符串 Oracle连接字符串报错误ORA-01722:无效数字的解决方法,如下函数,用来查出名字相似 ...

  8. vba oracle 01019,Oracle 客户端连接时报ORA-01019错误总结

    在.net+oracle开发中,发布web程序的时候,有是会遇到该错误 ora-01019 ORA-01019 unable to allocate memory in the user side C ...

  9. 安装ORACLE 11.2.0.3 错误

    安装ORACLE 11.2.0.3 错误 检测时错误: Device Checks for ASM - This is a pre-check to verify if the specified d ...

  10. oracle 安装ora 27102,ORA-27102 解决办法

    因为在32位操作系统上执行了如下的操作 alter system set sga_max_size=2G scope=spfile; 之后再重启数据库就会失败 报出错误: ORA-27102 Out ...

最新文章

  1. 这个GitHub 1400星的Git魔法书火了,斯坦福校友出品丨有中文版
  2. IBM拓展云数据分析服务 用户来“做主”
  3. MapReduce实战--倒排索引
  4. 角色与网站地图的结合
  5. Qt / Qt5 事件(event)机制详解
  6. Java实现多线程售票
  7. zabbix如何实现微信报警
  8. python中socket.gaierr errno1104_“socket.gaierror:[Errno 11004]getaddrinfo失败”
  9. python turtle库下载_turtle库安装
  10. java 发卡器_充值发卡器
  11. [常用工具] 搜索引擎的常用技巧总结
  12. L1正则项-稀疏性-特征选择
  13. IDM+百度网盘提速下载复活版
  14. ip地址、子网掩码及ip地址的相关计算
  15. 计算机引起usb设备无法识别的原因有哪些,计算机无法识别USB设备是什么原因
  16. 公司地址变更,税务变更,公司搬家了怎么变更企业信息
  17. Java统计字符串中文字符数目
  18. JavaScript中的闭包原理
  19. 拼多多按关键词搜索示例
  20. 童年记忆中的金银花露

热门文章

  1. [转贴]记那对住在我隔壁储藏室的大学刚毕业的小夫妻
  2. kafka详细安装运行
  3. 进程调度算法的模拟实现
  4. 使用java,求100以内的质数(素数)
  5. 经典路径规划算法分类概述(更新中)
  6. 疾病自动编码任务的调研(二)——相关比赛及数据集
  7. 高并发解决方案相关面试题
  8. python身份证年龄计算_用python计算年龄
  9. 宋宝华:深入理解cache对写好代码至关重要(上)
  10. 【数据结构-链表】malloc函数头文件