专业咨询
致力推进中国医疗卫生信息化

《浙江省医疗卫生信息安全管理案例集》选登(8):电源瞬间低压导致网络中断 引起数据库锁表

来源:HIT专家网        案例提供:浙江医院信息中心

【编者按】

由浙江省卫生信息中心主任、浙江省卫生信息学会秘书长倪荣同志主编的《浙江省医疗卫生信息安全管理案例集》,汇集了来自全省医疗卫生信息化工作者们的实战心得,内容紧贴医疗卫生信息安全、系统运行维护的常见问题,具有很高的实用价值。相信对于医疗卫生信息化工作者、IT企业工程实施和运维服务人员而言,都是一本极其解渴的实用好书。

正是意识到这本书的巨大价值,HIT专家网作为行业信息服务平台,十分热切地期望向同行及时推荐分享这本书。经过与浙江省卫生信息学会接洽,HIT专家网受权开辟专栏以连载形式转载该书收纳的163个案例当中的10余个供读者品尝,同时欢迎有兴趣的读者踊跃订购,也可直接通过微店购书(http://weidian.com/i/1667178330?wfr=c)。

【案例描述】

某日早上,信息中心软件维护人员接到电话告知门诊收费无法挂号,医生站收不到病人(该院采用病人必须先挂号才能就诊模式)。因考虑到门诊楼所有弱电间交换机均由门诊机房UPS供电,网络工程师立即到门诊机房查找原因,同时软件工程师也从软件方面展开排查。软件工程师到达收费现场时,发现自助机可以挂号,结算收费正常,收费窗口少部分病人可以挂号。

【原因分析】

网络维工程师到达门诊机房,发现部分交换机正处于断电重启状态,指示灯还未恢复正常,同时UPS指示灯显示为旁路状态。同时,网络工程师从他处得知几分钟前门诊出现市电中断,而前一天值班人员已经发现门诊机房的UPS,电池因年久无法进行充电需更换,已告知总务科停电提前通知,准备安排适当时间更换门诊机房UPS。

同时,该院HIS服务器操作系统为Linux操作系统,数据库为Oracle 10g。软件工程师经排查发现门诊某收费人员工号被锁,于是让其先停止挂号。猜测可能是数据库表被锁原因导致,但查锁表情况发现数据库表并未出现死锁,通过程序跟踪也只发现收费员工表某一条记录以及断电时操作的病人记录被锁导致无法再进行挂号。继续查看服务器进程锁情况,发现有进程被锁。分析原因,门诊机房突然断电时,引起交换机断电,造成正在提交HIS数据库服务器的Oracle事务出现行锁,从而导致部分病人挂号记录和正在收费员工记录被锁,最终引起挂号失败。

【解决方案】

因进程死锁等待时间较长,软件工程师在PL/SQL中尝试用alter system kill session’sid, serial#’杀进程失败。之后,数据库工程师直接登录HIS服务器(Linux操作系统)KILL掉Oracle进程,挂号恢复正常。

【其他说明】

Alter system kill并不会在操作系统级别把进程(线程杀死),而是通过指向该会话的地址指向PMON,有PMON在Oracle空闲时间来结束进程(线程),在系统很忙时不能及时杀死死锁进程,所以这时状态v$session 的状态是KILL状态,但操作系统仍在运行。

zhengdingfengmian20151204医院信息部门一线人员必读书籍。如果您感兴趣更多类似案例的实操解决之道,欢迎订阅!详情请点击:实战力作 欢迎订阅《浙江省医疗卫生信息安全管理案例集》或者通过微店购书(http://weidian.com/i/1667178330?wfr=c)。

赞(0)

评论 抢沙发

评论前必须登录!

 


未经允许不得转载:HIT专家网 » 《浙江省医疗卫生信息安全管理案例集》选登(8):电源瞬间低压导致网络中断 引起数据库锁表
分享到: 更多 (0)