如何保持Oracle数据库优良性能

本文介绍了通过分区、重建索引、段的碎片整理和自由范围的碎片整理等手段优化Oracle数据库性能的方法。分区能够改善大型数据库的管理和查询性能,重建索引可以回收未使用的空间,而段和自由范围的碎片整理则有助于提高空间利用率。

Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的问题,根据笔者经验建议不妨针对以下几个方面加以考虑。  

  一、分区

  根据实际经验,在一个大数据库中,数据空间的绝大多数是被少量的表所占有。为了简化大型数据库的管理,改善应用的查询性能,一般可以使用分区这种手段。所谓分区就是动态表中的记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能。当使用的时候可建立一个连接所有分区的视图,使其在逻辑上仍以一个整体出现。   

  1.建立分区表   

  Create table Employee(   EmpNo varchar2(10) primary key,   Name varchar2(30),   DeptNo Number(2)   )   Partition by range(DeptNo)   (partition PART1 values less than (11)   tablespace PART1_TS,   partition PART2 values less than(21)   tablespace PART2_TS,   partition PART3 valuse less than(31)   tablespace PART3_TS   partition PART4 values less than(MAXVALUE)   tablespace PART4_TS   );

  表Employee依据DeptNo列进行分区。   

  2.分区索引   

  Create index Employee_DeptNo on Employee (DeptNo)local(   partition PART1 tablespace PART1_NDX_TS,   partition PART2 tablespace PART2_NDX_TS,   partition PART3 tablespace PART3_NDX_TS,   partition PART4 tablespace PART4_NDX_TS,   );

  当分区中出现许多事务并且要保证所有分区中的数据记录的惟一性时采用全局索引,在建立全局索引时,Global子句允许指定索引的范围值,这个范围值可以不同于表分区的范围值。只有建立局部索引才会使索引分区与表分区间建立起一一对应关系。因此,在大多数情况下,应该使用局部索引分区。若使用了此索引,分区就能够很容易地将索引分区与表分区建立关联,局部索引比全局索引更易于管理。 

  3.分区管理

  根据实际需要,还可以使用Alter table命令来增加、删除、交换、移动、修改、重命名、划分、截短一个已存在分区的结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值