起因
调度程序每日通过消息接收通知进行日处理"statisticsVpnOnlineJob".从手台登记信息汇总到VPN中的功能操作。
1.系统会定时清理90天前的数据,直接删除按天分区表;
2.由于每日的手台登记量较大,使用JDBC流查询方式,启用游标,每当执行到这个调度的时候,正好赶上清库表操作。导致出现独占锁、共享锁抢锁的情况出现锁表无法继续执行的情况。
3.原来正常情况下独占锁所处理完事务后,释放所后可由其他的共享锁执行,但实际情况是在使用游标的时候已经是独占锁,这时候在游标rs.next循环内再次查询此表时会出现第二把共享锁,当第三把独占锁去删除库表的时候,三把锁互相死锁造成此情况。
4.注意不能在独占锁的情况下进行共享锁操作,除非是在一个事务内。当在一个事务内处理时清库表的独占锁会完成后释放所,由其他动作继续执行。
5.主要还是没想到会有清表操作。。。。
数据中心2.0性能测试出现
@记录问题 by utoken