欢迎来到天天文库
浏览记录
ID:12349609
大小:34.50 KB
页数:4页
时间:2018-07-16
《如何进行oracle数据库性能完全保护》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、如何进行Oracle数据库性能完全保护Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的问题,根据笔者经验建议不妨针对以下几个方面加以考虑。一、分区根据实际经验,在一个大数据库中,数据空间的绝大多数是被少量的表所占有。为了简化大型数据库的管理,改善应用的查询性能,一般可以使用分区这种手段。所谓分区就是动态表中的记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能。当使用的时候可建立一个连接所有分区的视图,使其在逻辑上仍以一个整体出现。1.建立分区表:Cr
2、eatetableEmployee(EmpNovarchar2(10)primarykey,Namevarchar2(30),DeptNoNumber(2))Partitionbyrange(DeptNo)(partitionPART1valueslessthan(11)tablespacePART1_TS,partitionPART2valueslessthan(21)tablespacePART2_TS,partitionPART3valuselessthan(31)tablespacePART3_TSpartitionPART4valueslessthan(MAXVALUE)
3、tablespacePART4_TS);表Employee依据DeptNo列进行分区。2.分区索引:CreateindexEmployee_DeptNoonEmployee(DeptNo)local(partitionPART1tablespacePART1_NDX_TS,partitionPART2tablespacePART2_NDX_TS,partitionPART3tablespacePART3_NDX_TS,partitionPART4tablespacePART4_NDX_TS,);当分区中出现许多事务并且要保证所有分区中的数据记录的惟一性时采用全局索引,在建立全局索引
4、时,Global子句允许指定索引的范围值,这个范围值可以不同于表分区的范围值。只有建立局部索引才会使索引分区与表分区间建立起一一对应关系。因此,在大多数情况下,应该使用局部索引分区。若使用了此索引,分区就能够很容易地将索引分区与表分区建立关联,局部索引比全局索引更易于管理。3.分区管理:根据实际需要,还可以使用Altertable命令来增加、删除、交换、移动、修改、重命名、划分、截短一个已存在分区的结构。二、重建索引如果表中记录频繁地被删除或插入,尽管表中的记录总量保持不变,索引空间的使用量会不断增加。虽然记录从索引中被删除,但是该记录索引项的使用空间不能被重新使用。因此,如果表变
5、化不定,索引空间量会不断增加,不论表中记录数量是否增加,只是因为索引中无效空间会增加。要回收那些曾被删除记录使用的空间,需要使用Alterindexrebuild命令。可以做一个定期运行的批处理程序,来重建最活动表的索引。这个批处理程序可以在空闲时运行,以避免该程序与其他应用程序冲突。若能坚持索引的这一程序规划,便可以及时回收那些未使用空间,提高空间利用率。三、段的碎片整理当生成一个数据库对象时(一个表或一个索引),通过用户缺省值或指定值来为它指定表空间。一个在表空间中生成的段,用于存储对象的相关数据。在段被关闭、收缩、截断之前,段所分配的空间将不被释放。一个段是由范围组成,而范围
6、是由相邻的Oracle块组成。一旦存在的范围不能再存储新的数据,这个段就会去获得新的范围,但并不要求这些范围是彼此相邻的。这样的扩展会一直继续下去,直到表空间中的数据文件不能提供更多的自由空间,或者范围数量已达到极限。因此,一个碎片太多的数据段,不仅会影响运行,也会引发表空间中的空间管理问题。所以,每个数据段只含有一个范围是十分有益的。借助监控系统,可以通过检查DBA_SEGMENTS数据字典视图来了解哪些数据库对象含有10个或更多范围的段,确定其数据段碎片。若一个段的碎片过多,可用两种方法解决:1. 用正确的存储参数建立一个新表,将旧表的数据插入到新表中,在删除旧表;2. 利用E
7、xport/Import工具。如:expsystem/managerfile=exp.dmpcompress=Ygrants=Yindexes=Ytables=(T1,T2)若输出成功,进入Oracle,删除上述表。注:compress=Y表示将在输出过程中修改它们的存储参数。impsystem/managerfile=exp.dmpcommit=Ybuffer=64000full=Y四、自由范围的碎片整理表空间中的一个自由范围是表空间中相连的自由(空间)块的集合。当
此文档下载收益归作者所有