ASM实验手册22-11_Oracle数据库教程_迁移Raw裸设备和块设备数据库到ASMLib
ASM实验手册22-11_Oracle数据库教程_迁移Raw裸设备和块设备数据库到ASMLib
1.什么叫做裸设备、字符设备、块设备?
裸设备,也叫裸分区(原始分区),是一种没有经过格式化,绕过Unix的Journal文件系统(Journal File System ,JFS)直接进行访问的磁盘,这样就省去了JFS文件系统的开销。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。 裸设备可以绑定一个分区,也可以绑定一个磁盘。字符设备:对字符设备的读写不需要通过OS的缓冲区(buffer)。它不可被文件系统加载(mount)。块设备:对块设备的读写需要通过OS的buffer,它可以被mount到文件系统中。12322.使用裸设备的好处?在什么系统中使用裸设备?因为使用裸设备避免了再经过Unix操作系统这一层,数据直接从Disk到Oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的I/O 非常大、磁盘I/O已经成为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能,最大甚至可以提高至40%,非常明显。另外,磁盘I/O是影响Oracle数据库性能的一个重要原因。就本质来说,任何Oracle数据库负责存储数据,从磁盘中查询数据是非常昂贵和费时的操作。由于许多Oracle系统需要大量的I/O操作,很多Oracle专职人员在碰到大块(DB_BLOCK_SIZE)数据操作时就考虑使用裸设备(raw device)。磁盘I/O开销的减少可以提高磁盘吞吐量,但是只有在I/O操作确实已经是影响Oracle数据库性能提高的瓶颈的情况下才是这样的。此外,使用裸设备还要求Oracle管理员和系统管理员进行大量的手工劳动。Oracle建议只有在Oracle数据库性能受到I/O速度限制时才需要考虑使用原始设备,这一点非常重要。对这样的Oracle数据库来说,裸设备可以极大的提高总体性能。但是如果数据库性能没有受I/O速度的制约,使用裸设备并不会对性能提高有所帮助。还有一点需要说明,在Oracle 8.1.7中,这个特性称之为Direct I/O,某些高端的Unix平台支持该特性。Veritas公司也销售一个名为Quick I/O的产品,它为Oracle提供了接近于裸设备的性能而无需额外的管理裸设备所需的开销。