ORA-01591错误的原因和处理方法

http://blog.csdn.net/tclcaojun/article/details/6777022错误代码:ORA-01591

错误原因:使用了分布式事务,造成这个问题的原因很多时候都是由于网络问题造成的

解决办法:

1.找到TRAN_ID
Select ‘Rollback force ‘‘‘||LOCAL_TRAN_ID||‘‘‘‘ from sys.pending_trans$;

2.將其COMMIT或ROLLBACK:   
rollback force LOCAL_TRAN_ID;   
commit force LOCAL_TRAN_ID;

3.如果执行失败,则强行从资料字典中删除该交易记录: 
set transaction use rollback segment system;    
delete from dba_2pc_pending where local_tran_id = LOCAL_TRAN_ID;    
delete from pending_sessions$ where local_tran_id = LOCAL_TRAN_ID;    
delete from pending_sub_sessions$ where local_tran_id = LOCAL_TRAN_ID;    
commit;

4.执行失败,还一种情况可以尝试下重起一下Oracle服务,这种情况我遇到过一次,重新启动后该锁自动解除(因为对删除数据字典比较担心,所以胡乱试了一次重启数据库,前提是执行了commit force LOCAL_TRAN_ID;失败之后重新启动)

5.生成语句操作语句的程序

begin  
  for r in (select local_tran_id   
              from dba_2pc_pending t   
             where t.state = ‘collecting‘) loop   
    --dbms_output.put_line(‘commit force ‘‘‘||r.local_tran_id||‘‘‘;‘);   
    dbms_output.put_line(‘delete from dba_2pc_pending where local_tran_id = ‘‘‘||r.local_tran_id||‘‘‘;‘);   
    dbms_output.put_line(‘delete from pending_sessions$ where local_tran_id = ‘‘‘||r.local_tran_id||‘‘‘;‘);   
    dbms_output.put_line(‘delete from pending_sub_sessions$ where local_tran_id = ‘‘‘||r.local_tran_id||‘‘‘;‘);   
  end loop;   
  dbms_output.put_line(‘commit;‘);   
end;

本文链接地址:http://blog.csscss.org/post/16.shtml 
本文原标题:ORA-01591错误的原因和处理方法

时间: 2024-10-31 21:14:39

ORA-01591错误的原因和处理方法的相关文章

Nginx 499错误的原因及解决方法

今天进行系统维护,发现了大量的499错误, 499错误 ngx_string(ngx_http_error_495_page), /* 495, https certificate error */ngx_string(ngx_http_error_496_page), /* 496, https no certificate */ngx_string(ngx_http_error_497_page), /* 497, http to https */ngx_string(ngx_http_er

ORA-06413连接未打开的错误的原因和解决方法

ORA-06413连接未打开的错误的原因和解决方法 [转载] 自:http://blog.csdn.net/wybshyy/article/details/52064444 标签:              64位系统连Oracle 转自:http://liaozenghui.com/asp.net/2015/01/21/ORA-06413%E8%BF%9E%E6%8E%A5%E6%9C%AA%E6%89%93%E5%BC%80%E7%9A%84%E9%94%99%E8%AF%AF.html 有

Nginx 502 Bad Gateway 错误的原因及解决方法

http://my.oschina.net/zhouyuan/blog/118708 刚才在调试程序的时候,居然服务器502错误,昨天晚上也发生了,好像我没有做非常规的操作. 然后网上寻找了下答案, 把一些原因及解决方法汇总一下,以防生产环境下的502  会有好多种情况出现502错误,下面我们分情况来说一下. 一.fastcgi缓冲区设置过小 出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误. 2013/01/17 13:33:47 [erro

造成win2008 500内部错误不能显示详细错误的原因和解决方法

造成500错误常见原因有:ASP语法出错.ACCESS数据库连接语句出错.文件引用与包含路径出错.使用了服务器不支持的组件如FSO等. 另外,对于win2008的IIS默认不显示详细出错信息的问题以下就是重点部分了,2008默认它是不会显示详细错误的. 1.打开IIS,点全局设置中的"错误页"(注意必须是全局网站!) 2.点 右上角 的 编辑 功能设置. 2.在错误响应中,选第二项的"详细错误" 3.点确定后刷新IE就会显示详细的出错信息. 值得注意的地方:这样设置

Jquery.ajax报parseerror Invalid JSON错误的原因和解决方法:不能解析

(默认: 自动判断 (xml 或 html)) 请求失败时调用时间.参数有以下三个:XMLHttpRequest 对象.错误信息.(可选)捕获的错误对象.如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 "timeout" , "error" , "notmodified" 和 "parsererror" . error事件返回的第一个参数XMLHttpRequest有一些有用的信息: XMLHttpR

linux Ubuntu(Segmentation fault)段错误出现原因及调试方法

  在linux下编译了一个程序,尝试运行的时候出现: Segmentation fault (core dumped) 初步确认为...完全不知道是什么玩意. 于是找度娘了. ---------------------------------------------------------------------------- 出现原因 原来这个东西叫做段错误,就程序运行的时候出现内存错误.有很多原因会导致这样的内存错误,但是应该把这些问题归结于程序的错误,那么程序是出现了什么样的错误了呢,为

微软BI 之SSIS 系列 - ETL 转换时关于 Code Page (1252 and 936) 转换错误的原因和解决方法

开篇介绍 最近经常碰到在 ETL 练习中出现这种转换失败的问题,试了多种方式,同样的代码同样的源结构和表结构但是一直不能成功执行,包报错.一般有这么几种错误: Error at DST_LOAD_DATA_FROM_FILE [OLE_DST_EMPLOYEE[109]]: The column "FirstName" cannot be processed because more than one code page (1252 and 936) are specified for

sharepoint报HRESULT:0x80131904的错误的原因和解决方法

在新建文件库的时候出现的.下上传文件和更改权限,都是在报这个HRESULT:0x80131904的错误,基本所有操作都报同一个错误,如下图: 错误原因 其实这个问题其实就是:sharepoint配置文件(sharepoint_config.log)日志过大,占用了数据库空间,无法上传 2.解决方案: 使用sql server 的管理工具进行搜索 压缩数据库日志,先将数据库改为简单模式,如下图: 然后收缩数据库,如下图: 收缩完成后,再把数据库模式改成:完整模式 使用脚本进行收缩,如下: -- S

Unity3D中中 rect[2] == rt->GetGLWidth() && rect[3] == rt->GetGLHeight()错误的原因及解决方法

首先说明下:这种错误只在Unity3D发生,不会在打包的游戏中发生. 官方解释: Camera with image effects throws error when certain game view aspect ratios are used To reproduce:1. Create a camera with Clear Flags set to "Depth Only" or "Don't Clear"2. Attach an image effec