Oracle日常维护之表管理

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

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

还有就是将表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;

 

     本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/462944,如需转载请自行联系原作者

相关文章
|
8月前
|
Oracle 安全 关系型数据库
【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理
【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理
95 10
|
8月前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(三):数据库的创建和管理
【Oracle】玩转Oracle数据库(三):数据库的创建和管理
165 5
|
8月前
|
Oracle 关系型数据库 数据库
Oracle查询优化-复制表的定义及数据
【1月更文挑战第5天】【1月更文挑战第14篇】在Oracle数据库中,复制表定义和复制表数据是两个常见的操作。
118 1
|
8月前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之oracle cdc 抽取新增一张表 可以从savepoint恢复吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之oracle无主键的表支持同步吗如何实现
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
58 3
|
8月前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用合集之同步Oracle数据时,一张表产生了大量的连接数,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8月前
|
存储 Oracle 关系型数据库
实验三 Oracle数据库的创建和管理
实验三 Oracle数据库的创建和管理
86 1
|
8月前
|
Oracle 关系型数据库
Oracle 管理诊断数据工具ADRCI
Oracle 管理诊断数据工具ADRCI
77 2
|
8月前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)

热门文章

最新文章

推荐镜像

更多