加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

通过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,说明导出再导入还是起到了碎片整理的作用,再打开应用,发现速度上也提高了不少。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读