oracle 语句被 锁,oracle语句被锁

在编程过程中遇到数据库操作错误,导致session被杀死,出现'ORA-00028'异常。错误源于未回滚事务且事务未正常结束。通过SQL查询语句检查会话状态和锁定对象,以及查询当前会话的详细信息。解决办法是确保正确管理和结束事务,避免长时间锁定资源。
摘要由CSDN通过智能技术生成

在写程序的时候更新一个对象的时候出现假死情况等了半天出现这个错误:

java.sql.SQLException: ORA-00028: your session has been killed

ORA-00028: your session has been killed

查看语句

SELECT a_s.owner,

a_s.object_name,

a_s.object_type,

VN.SID,

VN.SERIAL#,

VS.SPID "OS_PID",

VN.PROCESS "CLIENT_PID",

VN.USERNAME,

VN.OSUSER,

VN.MACHINE "HOSTNAME",

VN.TERMINAL,

VN.PROGRAM,

TO_CHAR(VN.LOGON_TIME, 'YYYY-MM-DD HH24:MI:SS') "LOGIN_TIME",

'alter system kill session ''' || vn.sid || ',' || vn.serial# ||

''';' "ORACKE_KILL",

'kill -9 ' || VS.SPID "OS_KILL"

FROM ALL_OBJECTS A_S, V$LOCKED_OBJECT V_T, V$SESSION VN, V$PROCESS VS

WHERE A_S.OBJECT_ID = V_T.OBJECT_ID

AND V_T.SESSION_ID = VN.SID

AND VS.ADDR = VN.PADDR

AND VN.USERNAME NOT IN ('SYSMAN', 'SYS');

查看语句

select a.STATUS, a.username, a.sid, a.SERIAL#, b.SQL_TEXT, b.SQL_FULLTEXT

from v$session a, v$sqlarea b

where a.sql_address = b.address;

结束语句

alter system kill session 'sid,SERIAL#';

QQ%E6%88%AA%E5%9B%BE20170314161601.png

应该是我更新的时候,出错了我没有回滚事务,事务也没结束造成的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值