设为首页 收藏本站
查看: 1851|回复: 0

[经验分享] Oracle 查看锁表情况并处理锁表

[复制链接]

尚未签到

发表于 2018-9-6 07:27:06 | 显示全部楼层 |阅读模式
  /
  locked
  *query locked object and analyse reason,kill it

  •   */
  select 'alter system kill session ''' || SID || ',' || SERIAL# || ''';'
  from (select distinct a.sid,
  a.Serial#,
  status,
  machine,
  LOCKWAIT,
  logon_time
  from v$session a, v$locked_object b
  where (a.status = 'ACTIVE' or a.status = 'INACTIVE')
  and a.sid = b.session_id
  and b.ORACLE_USERNAME = 'XYHISTEST' --加上用户名可过滤用户资源
  );
  /2、批量执行第一步生成的语句  
  alter system kill session 'sid,serial#';
  alter system kill session '6976,33967';/
  /3、查询oracle用户名,机器名,锁表对象/
  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_time
  FROM v$locked_object l, all_objects o, v$session s
  WHERE l.object_id = o.object_id
  AND l.session_id = s.sid
  ORDER BY sid, s.serial#;
  /3.或者/
  select s.SID, s.OSUSER, p.spid as OSPID, s.MACHINE, s.TERMINAL, s.PROGRAM
  from v$session s, v$process p
  where s.sid = 6 --session_id
  and s.paddr = p.addr;
  /4、查询是执行何sql语句导致锁表的/
  select b.sql_text
  from v$session a, v$sql b
  where a.sid = 6 --session_id
  and a.SQL_ADDRESS = b.ADDRESS(+);
  select sql_text
  from v$session a, v$sqltext_with_newlines b
  where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value) =
  b.hash_value
  and a.sid = #149
  order by piece;
  /5、查询是执行何sql语句导致锁表的/
  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#;
  /6、查看是否有锁表的 SQL/
  select 'blocker(' || lb.sid || ':' || sb.username || ')_sql:' ||
  qb.sql_text blockers,
  'waiter (' || lw.sid || ':' || sw.username || ')_sql:' ||
  qw.sql_text waiters
  from v$lock lb, v$lock lw, v$session sb, v$session sw, v$sql qb, v$sql qw
  where lb.sid = sb.sid
  and lw.sid = sw.sid
  and sb.prev_sql_addr = qb.address
  and sw.sql_address = qw.address
  and lb.id1 = lw.id1
  and sw.lockwait is not null
  and sb.lockwait is null
  and lb.block = 1;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-563748-1-1.html 上篇帖子: SAP ABAP系统使用SSFS方式连接oracle数据 下篇帖子: Oracle 数据库主机巡检
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表