今天上午,收到运维组同事反映某应用系统的其中一个功能报错,不是偶然性事件,每个使用该功能的用户都报错。报错内容为:This transaction has been rolled back, rather than only the current.

为了进一步分析该问题,并解决问题,产生了如下对话:

“ 系统昨天晚上是否发布过程序或者做过相关较大的调整? “

”没有。没有做过任何调整。“

”该功能涉及到了哪些表?主要是干嘛的?”

“该功能主要是向中间库发送数据的,但是中间库我试过访问是正常的。”

“我先看看中间库吧,你顺便帮我找一下是涉及到了哪些表。”

几分钟之后,相关数据库表已经搜集完毕,我登录上接口服务器,发现数据库确实正常,测试代理服务,所有连接都是正常的。根据搜集到的库表,在生产库上通过代理表尝试访问,没有报错。一切看起来都好像很正常的样子。

“这个表读写数据 应该是比较频繁吧?怎么会没有数据?”

”不知道哦,这个表不应该没有数据才对呀。”

根据以往经验,SYBASE有时候代理表会莫名其妙的出现“可连通,但是读写不了”的情况。

“你去试试在主库里通过客户端读写一下这个代理表(AAA),看看能否正常写入数据?”

“测试结果报错,内容跟程序客户端之前抛出的异常一样。”

到这里,十有八九就是代理表异常了。于是,通过管理端,把相关涉及到的代理表进行了删除、重建,在管理端里尝试读取数据,可以正常看到数据了。

”你再让客户重新发送一下数据看看是否正常?”

几分钟过后。。。。

“都OK了,一切正常!”

问题是否到此结束?差多了,但是还未确保完全结束。

“你把代理表都检查一下,看看哪些在管理端里都没办法看到数据的,全部都重建一下吧,说不准一会某些功能用到的表也有问题,又要一大片人跳起了。”

“好的。”

PS:代理表莫名其妙会出现读不到数据的情况,之前出现过,咨询过原厂的工程师,当时也并没有得到一个确切的答案。不过经过我们测试,重建就可以解决了。希望知道如何可以根本解决的大虾给予指点,小弟不胜感激:)

This transaction has been rolled back, rather than only the current.的更多相关文章

  1. ORA-06519: active autonomous transaction detected and rolled back

    这个问题一般怎么解决 ?现在忙 待会贴详细代码  先给些路子..给位大大们 引用 楼主 green3365302 的回复: 这个问题一般怎么解决 ?现在忙 待会贴详细代码  先给些路子..给位大大们 ...

  2. The transaction log for database 'xxxx' is full due to 'ACTIVE_TRANSACTION'

    今天查看Job的History,发现Job 运行失败,错误信息是:“The transaction log for database 'xxxx' is full due to 'ACTIVE_TRA ...

  3. Compensating Transaction Pattern(事务修正模式)

    Undo the work performed by a series of steps, which together define an eventually consistent operati ...

  4. 关于Oracle AUTONOMOUS TRANSACTION(自治事务)的介绍

    AUTONOMOUS TRANSACTION(自治事务)的介绍 在基于低版本的ORACLE做一些项目的过程中,有时会遇到一些头疼的问题,比如想在执行当前一个由多个DML组成的transaction(事 ...

  5. (转)关于Oracle AUTONOMOUS TRANSACTION(自治事务)的介绍

    AUTONOMOUS TRANSACTION(自治事务)的介绍 在基于低版本的ORACLE做一些项目的过程中,有时会遇到一些头疼的问题,比如想在执行当前一个由多个DML组成的transaction(事 ...

  6. Ehcache(2.9.x) - API Developer Guide, Transaction Support

    About Transaction Support Transactions are supported in versions of Ehcache 2.0 and higher. The 2.3. ...

  7. mysql & java & spring transaction isolation level

    mysql /*SESSION LEVEL*/ select @@tx_isolation; /*GLOBAL LEVEL*/ select @@global.tx_isolation; select ...

  8. [转]How to nest transactions nicely - "begin transaction" vs "save transaction" and SQL Server

    本文转自:http://geekswithblogs.net/bbiales/archive/2012/03/15/how-to-nest-transactions-nicely---quotbegi ...

  9. MySQL 5.6 Reference Manual-14.3 InnoDB Transaction Model and Locking

    14.3 InnoDB Transaction Model and Locking 14.3.1 InnoDB Lock Modes 14.3.2 InnoDB Record, Gap, and Ne ...

随机推荐

  1. com.transfer.www

    package com.transfer.www; import java.io.IOException; import java.io.PrintWriter; import javax.servl ...

  2. linux 常识笔记 20160621

    Linux分四部分 Linux内核 GNU工具组建 图形化桌面环境 应用软件 Linux系统的核心是内核,内核控制着计算机系统上的所有硬件和软件:必要时分配硬件,有需要时执行软件. 内核负责四项主要功 ...

  3. Intent实现页面跳转

    Intent实现页面跳转: 1. startActivity(intent) 2. startActivityForResult(intent,requestCode); onActivityResu ...

  4. SQL中N $ # @的作用

    declare @sql nvarchar(4000) set @sql= N'select @TotalRecords=count(*) from ' + N'(' + @sqlFullPopula ...

  5. 关于struts2的上传和下载

    1. 1文件上传技术: JSPSmartUpload:应用在Model1年代.(嵌入到JSP) FileUpload:应用在Model2年代. Servlet3.o:完成文件上传. Struts2框架 ...

  6. 【Fibonacci】BestCoder #28B Fibonacci

    Fibonacci Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  7. ajax_jsonp —— 跨域

    JSONP:原理是script标签 一.抓包 二.不用每次都连接 localhost 的方法   三.抓包后所需的参数 su?:后面跟的是传递过去的参数. cb:是 callback 后面跟的是对返回 ...

  8. List中的get(i)

    List中的get(i)方法是获取List中的第i个对象吗 是第i+1个对象.List是从0开始的 List是有序的可重复的集合接口

  9. 动态上传多个文件(asp)

    CreateElements.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  10. 再探Linux动态链接 -- 关于动态库的基础知识

      在近一段时间里,由于多次参与相关专业软件Linux运行环境建设,深感有必要将这些知识理一理,供往后参考. 编译时和运行时 纵观程序编译整个过程,细分可分为编译(Compiling,指的是语言到平台 ...