首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

ora-00054异常解决方案

2012-07-24 
ora-00054错误解决方案?视图名描述主要字段说明v$session查询会话的信息和锁的信息。sid,serial#:表示会话

ora-00054错误解决方案

?

视图名描述主要字段说明v$session查询会话的信息和锁的信息。sid,serial#:表示会话信息。program:表示会话的应用程序信息。row_wait_obj#:表示等待的对象,和dba_objects中的object_id相对应。lockwait :该会话等待的锁的地址,与v$lock的kaddr对应.v$session_wait查询等待的会话信息。sid:表示持有锁的会话信息。Seconds_in_wait:表示等待持续的时间信息Event:表示会话等待的事件,锁等于enqueue???dba_locks对v$lock的格式化视图。Session_id:和v$lock中的Sid对应。Lock_type:和v$lock中的type对应。Lock_ID1: 和v$lock中的ID1对应。Mode_held,mode_requested:和v$lock中的lmode,request相对应。v$locked_object只包含DML的锁信息,包括回滚段和会话信息。Xidusn,xidslot,xidsqn:表示回滚段信息。和v$transaction相关联。Object_id:表示被锁对象标识。Session_id:表示持有锁的会话信息。Locked_mode:表示会话等待的锁模式的信息,和v$lock中的lmode一致。

?

?

1.查询数据库中的锁

select * from v$lock;
select * from v$lock where block=1;

2.查询被锁的对象

select * from v$locked_object;

3.查询阻塞

查被阻塞的会话
select * from v$lock where lmode=0 and? type in ('TM','TX');

查阻塞别的会话锁
select * from v$lock where lmode>0 and? type in ('TM','TX');

4.查询数据库正在等待锁的进程

select * from v$session where lockwait is not null;

5.查询会话之间锁等待的关系

?

select a.sid holdsid,b.sid waitsid,a.type,a.id1,a.id2,a.ctime from v$lock a,v$lock b
where a.id1=b.id1 and a.id2=b.id2 and a.block=1 and b.block=0;

6.查询锁等待事件
select * from v$session_wait where event='enqueue';?解决方案:??? select?session_id from v$locked_object;? --首先得到被锁对象的session_id????SELECT sid, serial#, username, osuser FROM v$session where sid = session_id;?? --通过上面得到的session_id去取得v$session的sid和serial#,然后对该进程进行终止。
???ALTER SYSTEM KILL SESSION 'sid,serial';
?? example:
?? ALTER SYSTEM KILL SESSION '13, 8';

热点排行