通过exp再imp后,提高了fsfi值和oracle的响应速度
发布时间:2020-12-12 15:25:19 所属栏目:百科 来源:网络整理
导读:最近发现一个运行了近五年的oracle数据库响应速度越来越慢,一开始怀疑是程序的问题,对一些程序优化过后,并没有明显改善,网上查询相关资料,了解到oracle表空间如果存在大量碎片,也会导致oracle效率降低,通过以下脚本查询得到碎片fsfi 值 select tables
最近发现一个运行了近五年的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,说明导出再导入还是起到了碎片整理的作用,再打开应用,发现速度上也提高了不少。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |