我继承了一个数据库,每天晚上我都会因为锁定问题而在半夜嗡嗡作响。这个数据库存在严重的锁定问题,通常的工作是逐个退回应用程序层,以便释放锁。我厌倦了这样做并遇到了一个文档,我可以继续杀死阻塞会话。
我只是想知道我是否继续在会话阻塞超过预定义阈值的时间之后杀死数据库阻塞会话
我是否有破坏数据库的风险? 如果是这样的话? 即使我假设我正在破坏数据库,然后重新启动应用程序服务器也同样有风险,对我来说也更痛苦。
那么我选择哪个选项自动杀死阻塞会话,直到开发人员修复导致阻塞的代码为止?
问候 尼克
答案 0 :(得分:1)
似乎是为资源管理器指令MAX_IDLE_BLOCKER_TIME创建的确切目的。
答案 1 :(得分:1)
不,杀死一个会话不会破坏数据库,因为它将被回滚并生成UNDO,当你杀死它时,它会给出“标记为杀死”消息,
按照正常的方式“改变系统杀死会话”sid,串行#',而不是“杀死-9 ..”