Oracle日常维护之表管理

php中文网
发布: 2016-06-07 17:10:07
原创
1096人浏览过

我们所创建的表都是存储在表空间中的,当表空间的创建属性是自动扩展的时候,通常我们不需要人为干预,表中的数据量持续增长,会

通常做为DBA的我们来说,对于表的维护主要是做以下的工作
1. 增加表所在表空间的大小
我们所创建的表都是存储在表空间中的,当表空间的创建属性是自动扩展的时候,通常我们不需要人为干预,表中的数据量持续增长,会使表空间的可用空间减少,表空间会自动增长,这会带来一定的性能上的影响,表空间的自动扩展直接操作物理磁盘,将增加的表空间格式化成可用于写数据的数据块。同时也会导致数据文件疯狂增大的可能,不好管理,所以建议将表空间的属性设置成手动扩展。
2. 表的碎片整理
有时候会遇到将一个表中大量的历史无用数据删除掉,这时候就会产生数据块级别的碎片,所谓的碎片就是说:每个数据块中含有的数据很少,但并且一个数据分散在多个这样的数据块中。
产生这种现象的原因是:
表上有大量的insert 和delete 在表的段头中记录的一个值-HWM(high water mark)这个高水位线表示当前的段里面使用的最后一个数据块的位置,,当发生insert的时候增加hwm的值,和水位上涨的道理差不多的。
当删除一些数据的时候,块儿中的数据被删除,但是HWM并不会下降。HWM的好处是:当发生全表扫描的时候,只会扫描到标记HWM的地方为止,如果没有HWM标记,就会导致扫描所有有使用的和未使用的数据块,性能很低下。有了这个标记,就扫描到HWM出现为止。
delete操作,并不会使HWM下降。所以在有数据写进来的时候HWM的值还是会增加的,长时间下去会导致数据文件很大,空间浪费。

解决方法:
在Oracle 9i的时候通常的做法是将表做一个move操作
alter table tablename move;
把表移动一下,这个操作会使表的索引全部失效,所以会造成一定的影响
这时候可以重建索引
alter index index_name rebuild online;

贝特协同办公系统(BetterCOS)
贝特协同办公系统(BetterCOS)

具备更多的新特性: A.具有集成度更高的平台特点,集中体现了信息、文档在办公活动中交流的开放性与即时性的重要。 B.提供给管理员的管理工具,使系统更易于管理和维护。 C.产品本身精干的体系结构再加之结合了插件的设计思想,使得产品为用户度身定制新模块变得非常快捷。 D.支持对后续版本的平滑升级。 E.最价的流程管理功能。 F.最佳的网络安全性及个性化

贝特协同办公系统(BetterCOS) 0
查看详情 贝特协同办公系统(BetterCOS)

还有就是将表exp/imp 导入导出操作;
为了减少对应用的影响10g的版本可以使用shrink,这种方式的收缩操作是通过事物老进行的,因此在收缩的过程中,表可以进行DML操作,当然如果对正在收缩的表进行DML操作,需要等待收缩引起的是事物完成,并释放锁。要对表收缩需要有两个前提条件:
1. 表所在的表空间必须使用ASSM
2. 表级别上需要启用行迁移row movement
alter table tablename enable row movement;
压缩数据,并不下降HWM
alter table tablename shrink space compact;
收缩表并下降    HWM
alter table tablename shrink space;
收缩表并下降HWM同时和表相关的索引等会同时收缩
alter table tablename shrink space cascade;

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号