欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

提交未提交的事务有关问题

更新时间: 2014-01-05 02:11:00 责任编辑: Author_N1

 

提交未提交的事务问题
select * from v$transaction
这样查询出一条未提交的事务,如何把这个事务提交了?
--参考方法--
显式提交、隐式提交及自动提交。下面分别说明这三种类型。
1、显式提交:用COMMIT命令直接完成的提交为显式提交。其格式为:SQL>COMMIT;
2、隐式提交: 用SQL命令间接完成的提交为隐式提交。这些命令是:ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
3、自动提交:若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:SQL>SET AUTOCOMMIT ON

你这种情况,只有杀掉事务,重新再事务里进行commit提交了
--参考方法--
引用:
select * from v$transaction
这样查询出一条未提交的事务,如何把这个事务提交了?

如果有未提交的事务,v$transaction中是有记录,只是还是不能解决根本问题

试试这个:

select 'blocker('
--参考方法--
wb.holding_session
--参考方法--
':'
--参考方法--
sb.username
--参考方法--
')-sql:'
--参考方法--
qb.sql_text blockers,sb.machine,sb.terminal,
       'waiter ('
--参考方法--
wb.waiting_session
--参考方法--
':'
--参考方法--
sw.username
--参考方法--
')-sql:'
--参考方法--
qw.sql_text waiters ,sw.machine,sb.terminal,
      wb.LOCK_TYPE, wb.mode_held,wb.mode_requested,wb.lock_id1, wb.lock_id2
from  dba_waiters wb,
      v$session   sb,
      v$session   sw,
      v$sqlarea   qb,
      v$sqlarea   qw
where wb.holding_session=sb.sid
and   wb.waiting_session=sw.sid
and   sb.prev_sql_addr=qb.address
and   sw.sql_address=qw.address
and   wb.mode_held<>'None';
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:00
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6670/
本文WWW.DOC100.NET DOC100.NET版权所有。