1、原起:项目已到收尾阶段,各种业务报表纷纷涌出,样式、速度都在必须之列。项目组中技术狂人GZH开始着手研究物化视图,以图解决速度问题。
2、速度:查询速度果然有质的提高。
3、问题出现:物化视图大致原理是在提交时根据条件,把数据组合查询出来,并保存到一个表中。如果数量小的更新效果不明显,但提交300条或更多的数据时,物化视图的自动同步过程会导致锁的出现,从而系统无响应。而昨天突发的系统处理大业务量数据无响应,让我们手足无措,因为以前大数据量是没有问题的!!最后查明原因是物化视图的问题,将物化视图删除后系统恢复正常。
4、问题的延续:今天值班,突然使用人员说,系统无法登录了,提示“实体化视图LOG表不存在,更新错误”,马上确认应该是物化视图的问题,物化视图已删除,便没删除视图日志,昨天手动清理没清理干净?因为问题不确定在具体哪块也不好乱改,打电话给我们的GZH,居然关机了!!
5、问题的解决:求助GOOGLE吧,实体化试图(Materialized View)介绍 (http://xznsoft.javaeye.com/blog/124000)
drop materialized view log on table1; 删除日志。重新登录系统,可以正常使用了。
6、总结:(0)手动(在PL/SQL)对物化视图删除时,要先删除日志,再删除视图,否则视图删除后就看不到日志了;
(1)新技术的研发、应用,一定要经过严格的测试再投入到正式的应用中;
(2)有些时候最起码天亮之后记得把手机开机。