Oracle的锁表与解锁.doc_第1页
Oracle的锁表与解锁.doc_第2页
Oracle的锁表与解锁.doc_第3页
Oracle的锁表与解锁.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle的锁表与解锁 SELECT /*+ rule */ s.username,decode(l.type,TM,TABLE LOCK,TX,ROW LOCK,NULL) LOCK_LEVEL,o.owner,o.object_name,o.object_type,s.sid,s.serial#,s.terminal,s.machine,gram,s.osuserFROM v$session s,v$lock l,dba_objects oWHERE l.sid = s.sidAND l.id1 = o.object_id(+)AND s.username is NOT Null-kill session语句alter system kill session50,492;-以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$process ;SELECT * FROM v$locked_object;SELECT * FROM all_objects;SELECT * FROM v$session_wait;-1.查出锁定object的session的信息以及被锁定的object名SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_timeFROM v$locked_object l, all_objects o, v$session sWHERE l.object_id = o.object_idAND l.session_id = s.sidORDER BY sid, s.serial# ;-2.查出锁定表的session的sid, serial#,os_user_name, machine name, terminal和执行的语句-比上面那段多出sql_text和actionSELECT 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.actionFROM v$sqlarea a,v$session s, v$locked_object lWHERE l.session_id = s.sidAND s.prev_sql_addr = a.addressORDER BY sid, s.serial#;-3.查出锁定表的sid, serial#,os_user_name, machine_name, terminal,锁的type,modeSELECT s.sid, s.serial#, s.username, s.schemaname, s.osuser, cess, s.machine,s.terminal, s.logon_time, l.typeFROM v$session s, v$lock lWHERE s.sid = l.sidAND s.username IS NOT NULLORDER BY sid;这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。杀锁命令alter system kill session sid,serial#SELECT /*+ rule */ s.username,decode(l.type,TM,TABLE LOCK,TX,ROW LOCK,NULL) LOCK_LEVEL,o.owner,o.object_name,o.object_type,s.sid,s.serial#,s.terminal,s.machine,gram,s.osuserFROM v$session s,v$lock l,dba_objects oWHERE l.sid = s.sidAND l.id1 = o.object_id(+)AND s.username is NOT NULL如果发生了锁等待,我们可能更想知道是谁锁了表而引起谁的等待以下的语句可以查询到谁锁了表,而谁在等待。以上查询结果是一个树状结构,如果有子节点,则表示有等待发生。如果想知道锁用了哪个回滚段,还可以关联到V$rollname,其中xidusn就是回滚段的USNcol user_name format a10col owner format a10col object_name format a10col object_type format a10SELECT /*+ rule */ lpad( ,decode(l.xidusn ,0,3,0)|l.oracle_username User_name,o.owner,o.object_name,o.object_type,s.sid,s.serial#FROM v$locked_o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论