通过exp再imp后,提高了fsfi值和oracle的响应速度

前端之家收集整理的这篇文章主要介绍了通过exp再imp后,提高了fsfi值和oracle的响应速度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近发现一个运行了近五年的oracle数据库响应速度越来越慢,一开始怀疑是程序的问题,对一些程序优化过后,并没有明显改善,网上查询相关资料,了解到oracle表空间如果存在大量碎片,也会导致oracle效率降低,通过以下脚本查询得到碎片fsfi 值

select tablespace_name,sqrt(max(blocks)/sum(blocks))* 
           (100/sqrt(sqrt(count(blocks)))) fsfi 
    from dba_free_space 
    group by tablespace_name order by 1; 
查询结果如下:
1 EXAMPLE 71.3741345382551
2 SYSAUX 26.1954852034411
3 SYSTEM 100
4 UNDOTBS1 52.5921732984285
5 USERS 11.1630233997361

发现users表空间的fsfi值为11,网上说低于30就会拖慢系统响应速度。因此着手开始进行碎片整理,oracle11g虽然支持在线重构,但由于没有实践经验,也不知道重构需要多长时间,因此尝试了将应用停止,先通过命令exp导出dmp文件,drop user XX cascade后,再新建用户,最后imp再导入。

导入完成后,再次通过上述的脚本查询,发现users表空间的fsfi值为54,说明导出再导入还是起到了碎片整理的作用,再打开应用,发现速度上也提高了不少。

猜你在找的Oracle相关文章