绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
【EM】锁等待故障模拟及排查
2020-01-06 13:41:34
  本文给出使用Oracle Enterprise Manager诊断并排除Oracle数据库锁等待故障的方法。

1.进入到Windows命令行界面

点击“开始” → 选择“运行”
输入“cmd” 回车后进入到Windows命令行界面。

2.连接到SCOTT用户
C:\Documents and Settings\Administrator>sqlplus scott/tiger

SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 7月 20 13:49:43 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

3.查询EMP表数据
SQL> select ename,sal from emp;

ENAME             SAL
---------- ----------
SMITH             800
ALLEN            1600
WARD             1250
JONES            2975
MARTIN           1250
BLAKE            2850
CLARK            2450
SCOTT            3000
KING             5000
TURNER           1500
ADAMS            1100

ENAME             SAL
---------- ----------
JAMES             950
FORD             3000
MILLER           1300

已选择14行。

4.将SCOTT员工的薪水修改为20000
SQL> update emp set sal=20000 where ename='SCOTT';

已更新 1 行。

SQL>

注意,这里不提交事物。

5.另外单独开启一个会话
步骤与上面的操作过程一致。
调整SCOTT的薪水为60000
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus scott/tiger

SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 7月 20 13:57:41 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> update emp set sal=60000 where ename='SCOTT';

注意这里的现象:此修改语句长时间无法完成。
原因:由于在个会话中对SCOTT对应的行数据进行了修改,但是没有提交也没有回滚,导致一直持有该条记录的锁定。因此限制其他会话对其进行修改。

6.有关该故障的排查过程请参考以下在Enterprise Manager中的操作信息
1)以SYS用户登陆Enterprise Manager


2)监控数据库的活动会话数


3)点击“实例锁”


4)点击“终止会话”


5)点击“显示SQL”查看对应的SQL语句


6)点击“返回”


7)选择“立即中断”点击“是”


8)故障处理完毕


9)个会话已经被强行杀死


10)第二个会话锁等待现象消失


7.小结
  在处理Oracle数据库环境中有关锁等待故障的过程中,需要重点关注两方面:①确定锁定及被锁定的会话信息;②分析后决定杀死的会话目标。使用Enterprise Manager来发现和诊断锁等待故障比较直观和便捷。BTW:建议使用SQL命令方式辅助发现和处理锁等待故障。

Good luck.

secooler
11.07.21

-- The End --



分享好友

分享这个小栈给你的朋友们,一起进步吧。

OCM联盟
创建时间:2019-12-27 14:04:54
OCM联盟(OCMU – Oracle Certified Master Union)是一群有着共同理想,共同志向的DBA的家。 ⚠️该小栈仅限ocm成员入驻!审核制! Oracle Certified Master (OCM) -Oracle认证大师,是Oracle认证的别,是对数据库从业人员的技术、知识和操作技能的别的认可。Oracle OCM是解决困难的技术难题和复杂的系统故障的佳Oracle专家人选,也是IT行业衡量IT专家和经理人的高专业程度及经验的基准。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 侯圣文@secooler
    栈主

小栈成员

查看更多
  • gaokeke123
  • ?
  • 山中老狐狸
  • 飘絮絮絮丶
戳我,来吐槽~