工作上写了一个入库程序,负责实时对传来的数据包进行拆包、解析、构造SQL语句插入到Oracle数据库中。数据量平均每天2W条左右。
最近突然变慢,解析一个包入库居然差不多要1秒时间,在程序上检查了半天,该释放的都释放了,也没什么问题。
检查Oracle数据库发现其缓存区都快满了,通过清理共享池和缓存区 问题得到解决,其操作语句如下:
alter session set events='immediate trace name flush_cache';
alter system flush shared_pool;
commit;