Oracle表空间管理逻辑.docx

Oracle表空间管理逻辑.docx

ID:57814394

大小:25.22 KB

页数:6页

时间:2020-03-30

Oracle表空间管理逻辑.docx_第1页
Oracle表空间管理逻辑.docx_第2页
Oracle表空间管理逻辑.docx_第3页
Oracle表空间管理逻辑.docx_第4页
Oracle表空间管理逻辑.docx_第5页
资源描述:

《Oracle表空间管理逻辑.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、表空间(Tablespace)——为数据库提供使用空间的逻辑结构,其对应物理结构是数据文件,一个表空间可以包含多个数据文件。本地管理表空间(LocallyManagedTablespace简称LMT)——8i以后出现的一种新的表空间的管理模式,通过本地位图来管理表空间的空间使用。字典管理表空间(Dictionary-ManagedTablespace简称DMT)——8i以前包括以后都还可以使用的一种表空间管理模式,通过数据字典管理表空间的空间。本地化管理:就是指Oracle不再利用数据字典表来记录Oracle表空间里面的区的使用状况,而是在每个表空间的数据文件的头部加入了一

2、个位图区,在其中记录每个区的使用状况。每当一个区被使用,或者被释放以供重新使用时,Oracle都会更新数据文件头部的这个记录,反映这个变化。本地化管理的表空间的创建过程:    语法:CREATETABLESPACE 表空间名字          DATAFILE ’数据文件详细信息’          [EXTENTMANAGEMENT{LOCAL          {AUTOALLOCATE

3、UNIFORM[SIZEINTETER[K

4、M]]}}]关键字EXTENTMANAGEMENTLOCAL 指定这是一个本地化管理的表空间。对于系统表空间,只能在创建数据库的时候指定

5、EXTENTMANGEMENTLOCAL,因为它是数据库创建时建立的第一个表空间。在8i中,字典管理还是默认的管理方式,当选择了LOCAL关键字,即表明这是一个本地管理的表空间。当然还可以继续选择更细的管理方式:是 AUTOALLOCATE 还是 UNIFORM.。若为AUTOALLOCATE,则表明让Oracle来决定区块的使用办法;若选择了UNIFORM,则还可以详细指定每个区块的大小,若不加指定,则为每个区使用1M大小。本地管理表空间的优点:1)减少了递归空间管理本地管理表空间是自己管理分配,而不是象字典管理表空间需要系统来管理空间分配,本地表空间是通过在表空间的每个

6、数据文件中维持一个位图来跟踪在此文件中块的剩余空间及使用情况。并及时做更新。这种更新只对表空间的额度情况做修改而不对其他数据字典表做任何update操作,所以不会产生任何回退信息,从而大大减少了空间管理,提高了管理效率。同时由于本地管理表空间可以采用统一大小分配方式(UNIFORM),因此也大大减小了空间管理,提高了数据库性能。2)系统自动管理extents大小或采用统一extents大小本地管理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配方式(AUTOALLOCATE)是由系统来自动决定extents大小,而统一大

7、小分配(UNIFORM)则是由用户指定extents大小。这两种分配方式都提高了空间管理效率。3)减少了数据字典之间的竞争因为本地管理表空间通过维持每个数据文件的一个位图来跟踪在此文件中块的空间情况并做更新,这种更新只修改表空间的额度情况,而不涉及到其他数据字典表,从而大大减少了数据字典表之间的竞争,提高了数据库性能。4)不产生回退信息因为本地管理表空间的空间管理除对表空间的额度情况做更新之外不修改其它任何数据字典表,因此不产生回退信息,从而大大提高了数据库的运行速度。5)不需合并相邻的剩余空间因为本地管理表空间的extents空间管理会自动跟踪相邻的剩余空间并由系统自动管

8、理,因而不需要去合并相邻的剩余空间。同时,本地管理表空间的所有extents还可以具有相同的大小,从而也减少了空间碎片。6)减少了空间碎片7)对临时表空间提供了更好的管理表空间管理方式转换:字典管理表空间每当表或其他对象需要扩大的时候都检查其数据字典以确保有可用的空间分配给对象,然后给对象分配一个新区段并更新其可用空间信息。本地管理表空间保存数据文件本身的空间管理信息,而且表空间自动跟踪每个数据文件块的可用或已用状态。 在事务比较多的数据库中显然字典管理每次插入数据时都会检查数据字典,这就使得数据库性能有所损耗。1)命令方式转移。  首先你要新建一个oracle表空间,在o

9、racle10g以后默认都是采用本地管理表空间的。  对于表空间的转移使用命令: ALTERTABLEtempMOVETABLESPACEnew_temp;对于索引你需要重建:  ALTERTABLEindexREBUILDTABLESPACEnew_index;显然上面的方法并不适用于对system表进行转换,因为你不能建立2个同名的system表。2)采用oracle提供的PL/SQL数据包中的DBMS_SPACE_ADMIN.  在转换system表前,你必须把所有的其他表空间转换为本地管理。  EXECUT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。