oracle体系结构分析 (逻辑结构篇)及 RAID技术
作者:Java伴侣 日期:2006-10-24
表空间、段、区、块。它们之间是一种从大到小的关系,它们之间也是一种一对多的关系。比如说,一个表空间里面有多个段,一个段空间里面有多个区,一个区空间里面有多个块。区是做扩展的基本单位。块的默认值为8K,也可根据情况手动设置。
表空间主要由四部分构成,系统表空间、数据表空间、回滚段表空间、临时表空间。
表空间内允许文件操作,实现逻辑对物理的操作,利用表空间把表指定到硬盘。oracle安装默认表空间内有1024个文件。而企业大多适于8000左右文件。值得注意的一点,如更改文件数量后,需要重建控制文件。在表空间的分配原则上,数据仓库,主要是数据处理方面的操作,应该主要把数据表空间做大。而事务处理类型的数据库,应该另外考虑把index做得较大。
一个系统中,数据表空间占用的硬盘往往是最大的。由此数据库管理员需利用I/O技巧来提高它们的安全性及其性能。
而RAID技术是I/O技巧的充分体现。现在常用的Raid技术有Raid 0+1 和Raid 5。(在磁盘阵列的基础之上的技术应用)
先谈Raid 0+1技术,它的理念是把两块硬盘当作一块来使用,同读同写,互为备份。如图:
假设,A带宽10MB,B带宽10MB。在网络理想化的情况下,用户读入的速度为20BM,相比一在块硬盘上读写要快1倍,安全性也是很高,缺点是浪费空间,假如有10块硬盘,用此技术的话,它的空间浪费将是50%,非常可怕。
再来说说很流行的Raid5技术,它的概念是三块硬盘两两互为备份且同读同写,如图:
不难看出,相比Raid 0+1来说它更能节省硬盘空间,它的浪费比率是1/3. 早期的Raid5的缺点是,如果其中一块硬盘坏掉,其服务器整体性能比例将极大下降,可能是原来性能的1/10、2/10。
成熟的Raid5技术,会再主机上面再做2块额外的备份盘,在没有硬盘出现问题的情况下,备份盘不做运作。而当某一硬盘出现问题的时候,系统将自动用备份盘做更替(中间需要一些时间)。