1. 报错细节
临时表 I$_Tablename
被锁。
2. 报错原因
接口频繁执行,临时表 I$_Tablename
被锁。
可执行以下SQL,查询锁表原因:
// 查询锁表原因
select t2.username, t2.sid, t2.serial#, t2.logon_time
from v$locked_object t1, v$session t2
where t1.session_id=t2.sid
order by t2.logon_time;
select l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action
from v$sqlarea a, v$session s, v$locked_object l
where l.session_id = s.sid
and s.prev_sql_addr = a.address
order by sid, s.serial#;
3. 解决方法
// 手动释放
alter system kill session'1937,1518';
--其中1937是sid ; 1518是serial#