您的位置:首页 > 汽车 > 时评 > 【案例50】护网行动导致系统锁单卡死

【案例50】护网行动导致系统锁单卡死

2024/10/22 20:24:33 来源:https://blog.csdn.net/zfr629/article/details/141362409  浏览:    关键词:【案例50】护网行动导致系统锁单卡死

问题现象

顾问在系统监视器中发现了大量的锁,手动解锁无效果。

查询数据库发现大量的锁表

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#;

 

问题分析

查看数据库中有很多TX-row lock contention 事件。

select last_call_et,v.event,s.sql_id,---   s.SQL_FULLTEXT,s.SQL_TEXT,v.inst_id,V.SID,V.CLIENT_IDENTIFIER,v.blocking_session,v.blocking_session_status,'alter system kill session ''' || v.sid || ',' || v.serial# || ''' immediate;',v.USERNAME,s.CPU_TIME,s.ELAPSED_TIME,v.PROGRAM,'kill -9 ' || p.spid,v.CLIENT_INFO,v.SQL_HASH_VALUE,v.SQL_ADDRESS,v.MACHINE,v.TERMINAL, s.DISK_READS,s.BUFFER_GETS,s.SORTS,s.SHARABLE_MEM,s.PERSISTENT_MEM,s.RUNTIME_MEM,s.ROWS_PROCESSED    
from gv$session v, gv$process p, gv$sql s  where v.last_call_et > 0  and v.status = 'ACTIVE'and v.username != 'SYS'and p.addr = v.paddrand s.ADDRESS = v.SQL_ADDRESSand s.HASH_VALUE = v.SQL_HASH_VALUEorder by last_call_et desc;

源头为批量审批,查看nmc对应的堆栈信息发现在发送信息。

非标准产品堆栈,让客开查了下代码,是再向致远oa发东西,一直没有返回结果。询问了客户得知为护网行动,封闭了相关的IP和端口所致。

 解决办法

与客户沟通后可不向外部系统发消息,出补丁禁用此发送消息处。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com