上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
Oracle中被锁定的解决办法
作者:未知 申领版权
2010年12月15日 共有 2554 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    一些性能方面的告警信息通过dba_outstanding_alerts表都能查到,被锁定的表如果长期得不到释放,在这里也能查到相关session的sid和serial#。
     
    select * from dba_outstanding_alerts
    v$locked_t视图可以看到当前被锁定的对象,只有那些一直存在的session才有可能是被锁定的,因此不能简单匆忙的下结论,尤其是在RAC环境中,必须查看各个节点以发现相关的session在哪里。
    select * from v$locked_t
    有时候也可以根据对象名来查看锁的信息:
    select sid,id1,type from v$lock where id1=
    (select t_id from dba_ts where t_name=upper("mytablename"));
    找到了引起锁定的session,就可以找到对应的sid和serial#
    select saddr,sid,serial#,paddr,username,status fromv$sessionwhere sid=772
    从而可以杀死这个session:
    SQL> alter system kill session "772,9044";
    System altered.
    可以查询Oracle数据库的进程和操作系统进程之间的关联:
    select spid, osuser, s.program from v$session s,v$processpwheres.paddr=p.addr and s.sid=772
    有时候一些进程要在操作系统杀死,这时可以用kill -9 pid的命令:
    [root@erpdevdb ~]# ps -efgrep sqlplusoracle 11847 11126 016:39pts/1 00:00:00 sqlplus -S @/oracle/home/droptable.sqlroot1188911856 0 16:40 pts/2 00:00:00 grep sqlplus[root@erpdevdb ~]#kill -911847
    数据库对象锁定引起的阻塞是比较麻烦的事情,处理的时候一定要小心谨慎。

    

 

相关新闻

随机选择数据库记录的方法

您可能对这些感兴趣  

揭露Q币/QQ号被盗的真相
保障QQ聊天安全的几个小技巧
如何识别网络假冒腾讯客服电话?
警惕视频聊天诈骗
轻松拒绝不良网站,巧用QQ安全聊天
假冒系统消息病毒频繁活动 收到QQ中奖消息切莫相信
如何识破邮件骗术?
QQ安全团队:避免QQ帐号被盗的三条建议
网吧安全使用QQ的建议
浪漫情话-求爱篇

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》