oracle故障时,分析参考点
来源:互联网 发布:网络游戏源码 编辑:程序博客网 时间:2024/06/06 01:19
oracle 中查询占用session最多的进程
在故障发生时,尝试用下面的语句抓取数据库引起故障的点。/*********************************************************************************************/在oracle中监控死锁/*********************************************************************************************/SELECT sn.username, m.SID, sn.SERIAL#, m.TYPE, DECODE(m.lmode, 0, 'None', 1, 'Null', 2, 'Row Share', 3, 'Row Excl.', 4, 'Share', 5, 'S/Row Excl.', 6, 'Exclusive', lmode, LTRIM(TO_CHAR(lmode, '990'))) lmode, DECODE(m.request, 0, 'None', 1, 'Null', 2, 'Row Share', 3, 'Row Excl.', 4, 'Share', 5, 'S/Row Excl.', 6, 'Exclusive', request, LTRIM(TO_CHAR(m.request, '990'))) request, m.id1, m.id2 FROM v$session sn, v$lock m WHERE (sn.SID = m.SID AND m.request != 0) --存在锁请求,即被阻塞 OR (sn.SID = m.SID --不存在锁请求,但是锁定的对象被其他会话请求锁定 AND m.request = 0 AND lmode != 4 AND (id1, id2) IN (SELECT s.id1, s.id2 FROM v$lock s WHERE request != 0 AND s.id1 = m.id1 AND s.id2 = m.id2)) ORDER BY id1, id2, m.request; /*********************************************************************************************/定位引起oracle死锁的sql/*********************************************************************************************/select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in (select session_id from v$locked_object)) /*********************************************************************************************/下面的SQL查询可以用于确定锁住数据库对象的锁:/*********************************************************************************************/select c.owner, c.object_name, c.object_type, b.sid, b.serial#, b.status, b.osuser, b.machine from v$locked_object a , v$session b, dba_objects c where b.sid = a.session_id and a.object_id = c.object_id; /*********************************************************************************************/显示哪些会话被锁住/*********************************************************************************************//* showlock.sql */COLUMN o_name format a10COLUMN lock_type format a20COLUMN object_name format a15SELECT RPAD (oracle_username, 10) o_name, session_id SID, DECODE (locked_mode, 0, 'None', 1, 'Null', 2, 'Row share', 3, 'Row Execlusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive' ) lock_type, object_name, xidusn, xidslot, xidsqn FROM v$locked_object, all_objectsWHERE v$locked_object.object_id = all_objects.object_id;/*********************************************************************************************/显示所有的TM和TX锁/*********************************************************************************************//* showalllock.sql */SELECT SID, TYPE, id1, id2, DECODE (lmode, 0, 'None', 1, 'Null', 2, 'Row share', 3, 'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive' ) lock_type, request, ctime, BLOCK FROM v$lockWHERE TYPE IN ('TX', 'TM');/*********************************************************************************************/ 在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为: 被kill掉的session,状态会被标记为killed,Oracle会在该用户下一次touch时清除该进程.我们发现当一个session被kill掉以后,该session的paddr被修改,如果有多个session被kill,那么多个session的paddr都被更改为相同的进程地址:/*********************************************************************************************/alter system kill session 'sid,serial#' ; /*********************************************************************************************/ 在oracle中kill掉的进程有时还需要等待pmon回滚数据库已经占有的资源有时候我们需要使用下面的脚本找出那些已经在oracle中kill掉的进程,在操作系统中在kill一次/*********************************************************************************************/select p.addr from v$process p where pid <> 1 minus select s.paddr from v$session s;$ kill -9 &paddr参考文献:
1)百度知道: http://zhidao.baidu.com/question/220430723.html
0 0
- oracle故障时,分析参考点
- Oracle分析函数参考
- [Oracle]Redo log日志组故障分析
- Oracle Redo log日志组故障分析
- oracle 死锁故障分析与诊断解决
- Oracle RAC故障分析与处理
- Oracle-Ora-04031故障的分析
- oracle sql 优化分析点
- [转贴]oracle死锁故障分析和诊断解决
- Oracle ORA-03137: TTC protocol internal error : [12333] 故障分析
- dell服务器故障解决方案参考
- oracle 参考
- HDNL性能调优(4)故障点分析与工具准备
- [Oracle] ORACLE死锁故障排查的一般性手法的备忘录/分析死锁日志
- ORACLE故障排除--注意事项
- ORACLE故障排除--注意事项
- oracle故障解决日志
- ORACLE故障排除--注意事项
- 第三方类库SVProgressHUD的学习
- 第12周项目3-用递归方法求解(4)
- Android设备mtd
- JavaWeb——Day22_1
- Android-根据两点间经纬度坐标,计算两点间距离
- oracle故障时,分析参考点
- 第十二周项目二 刑警的射击成绩
- FileUpload.FileContent 属性(转)
- 第十二周项目三(4):返回Fibnacci序列中的第20个数
- Android应用开发相关下载资源(2014/10/19更新)
- POJ 2398 Toy Storage
- 第十二周 项目一 2-2
- 第12周项目 1.3 修
- 签名和混淆(二)