扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:铸锐论坛 2007年8月29日
关键字: ORACLE
在本页阅读全文(共4页)
10、存储管理
从逻辑观点上来看,Oracle有一个包含多个表空间的数据库,表空间包含多个段(表,索引,回滚等),还包括由多个数据库块组成的扩展(Extent)。从物理意义上看,数据文件被分配给表空间,这些数据文件是由O/S块组成。
DB2有两种不同的分配方法来定义表空间。它们一种是数据库管理的空间(DMS),另一种是系统管理的空间(SMS)。根据应用程序,它们各有优势:
SMS(System Manages Space)---系统管理空间允许操作系统根据需要为表分配空间。不指定空间参数,这种方法对于存储管理来说非常容易。对于较小的表或短时间增长和收缩的表都是有利的。
DMS(Database Managed Space)---当表空间被创建时,数据库管理空间需要详细的空间说明。通过表空间,存储空间可以马上被分配和保留。
11、对象比较
11.1、缓冲池
两种数据库都使用内存来做数据和对象定义的读写优化,这些被涉及到的内存区域被称为缓冲区或高速缓冲存储器。虽然使用方法是一样的,但在结构方式的定义和分配上是不一样的。
在Oracle中,缓冲池是在数据库启动文件init.ora中被定义的,这个文件可以动态地改变,它有下面的选项来定义不同的缓冲池:默认,循环,固定。
在DB2 LUW中,缓冲池是在数据库中定义的,并可创建为指定的页面大小:4K,8K,16K 或者32K,它们是通过DDL来定义的,不同的表空间被分配不同的缓冲池。
11.2、数据库
两个数据库管理系统处理数据库的方法是完全不同的,在Oracle中,你只有一个数据库,它包含所有的数据文件,重做日志文件,控制文件等。在DB2中,你可以一个实例有多个数据库,然而,每个数据库是独立拥有它的实体的。每次一个新的数据库的创建都会有相应的编目被创建,以及缓冲池和日志文件被定义,数据库之间没有任何共享。在DB2数据库中有三个表空间将被创建:
SYSCATSPACE,系统编目
TEMPSPACE,临时表空间,排序等
USERSPACE,应用数据的默认表空间
11.3、表空间
Oracle:在Oracle中,你要处理两类表空间:系统的和非系统的。系统表空间包含数据字典和系统回滚段。非系统表空间包含和应用程序相关的所有东西:回滚段,临时段,应用数据,以及应用索引。这些非系统的表空间也可以分两种类型:
永久的---用于所有对象,比如:在UDB中的USERSPACE
临时的---用于排序、临时工作区等,像在UDB中的TEMPSPACE
DB2:
在DB2中,存在三类表空间:
1.Regular ---主要是一般常用的应用数据
2.Temporary---排序
3.Large---LOBs,CLOBs,BLOBs
11.4、表
从用户或者程序本身的角度来看,表就是表,不管数据库类型的事。然而,从DBA的角度来看,对他们的操作有很大差异。
Oracle允许在一个表空间中定义一个或多个表,并且表和索引是相互独立的,除非是在IOT(Indexed Organized Table)这种特殊表的类型下,这种情况下,索引的叶子页面将包含表的行数据。在Oracle中在表上可以定义许多种不同类型的索引,包括唯一的,不唯一的,分区的,基于功能和位图。其中除位图索引外,在Oracle中所有的索引实际上都是由根结点、分枝和叶子页面组成的标准B-树。
DB2 UDB允许在同一个表空间定义一个到多个表,而且它的索引是直接关联在表定义上,实际上,表定义说明了该表上定义的所有索引所在的表空间。
DB2有三种类型的索引:唯一,不唯一和簇集。
对DB2来说,簇集索引是会影响表中行的排列次序,这与Oracle中的簇集是完全不同的。DB2也是用标准的B-树结构来做索引的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者