当前位置:  数据库>oracle

Oracle日常维护之表管理

    来源: 互联网  发布时间:2017-04-20

    本文导语: 通常做为DBA的我们来说,对于表的维护主要是做以下的工作1. 增加表所在表空间的大小我们所创建的表都是存储在表空间中的,当表空间的创建属性是自动扩展的时候,通常我们不需要人为干预,表中的数据量持续增长,会使表...

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







解决方法
Oracle 9i的时候通常的做法是将表做一个move操作
历史 iis7站长之家 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










    
 
 

您可能感兴趣的文章:

  • 有做linux+oracle的维护的麽?
  • ■帮一个朋友维护网站,oracle运行半小时就自动锁死,用top发现是其狂吃内存,直到吃完为止。怎么办啊
  • Oracle密码文件的使用和维护第1/3页
  • Oracle数据库密码文件的使用与维护
  • 如何用不算很熟练的jsp,oracle,javascript,html,css等建设动态网站,要网页打开速度快、易于日常维护更新?
  • Oracle数据库密码文件的使用和维护
  • Oracle DBA数据库日常维护完全手册
  • Oracle管理与维护.配置文件的简要分析
  • 使用Linux的Shell脚本维护Oracle
  • DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
  • Oracle数据库密码文件的使用和维护
  • Oracle数据库密码文件的使用与维护
  • Oracle数据库索引的维护
  • 求助:oracle9在redhat9上安装好后,oracle管理工具会在菜单工具栏上显示吗?
  • Oracle自动存储管理支持库 ASMLib
  • Oracle ASM自动管理存储管理简介
  • windows上要装什么软件才能管理到linux上的oracle?
  • 在HP Unix 下Oracle的控制和管理
  • 用Oracle管理服务器将数据导入与导出
  • Oracle管理工具 phpOraAdmin
  • Linux上管理本机Oracle的时候出现找不到ServiceName的错误
  • 有谁知道Oracle8的数据库管理工具是用什么开发工具编写的?
  • 甲骨文新推Oracle Linux管理软件包
  • oracle区管理和段空间管理详细介绍
  • Oracle 管理Undo数据
  • 关于Oracle数据库管理员认证方法简述
  • Oracle 权限管理入门
  • Oracle使用配置文件创建口令管理策略
  • Oracle中Datafiles的管理
  • Oracle 9i中自动撤销管理的优点分析
  • Oracle帐户管理
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,