数据库存储类型:文件系统和裸设备

什么是裸设备(RAW DEVICE)   简单来说未格式化的存储设备,数据库不用走文件系统,直接读写裸设备,效率更高

  裸设备是指未创建文件系统的磁盘分区(raw partition)或逻辑卷(raw logical volume)
  个字符设备驱动程序对它进行访问。如何对设备上的数据读写决定于使用它的应用程序。
由于对裸设备的操作不通过UNIX的缓冲区,数据在ORACLE的数据缓冲区(BUFFER CACHE)和磁盘
之间直接传递,所以使用裸设备在一定程度上能够提高I/O性能,适合I/O量大的系统。另外
OPS/RAC (Oracle Parallel Server/Real Application Cluster)环境下,多个节点同时访问
同一个数据库,所以CONTROL FILE、DATA FILE、REDO LOG都必须建在RAW DEVICE上。 

 1、DMS类型的表空间容器可以是裸设备或者文件系统。数据库通常会在内存中开辟一片区域,成为buffer pool,应该尽可能让数据库的读写发生在这部分内存中。

同样文件系统中也开辟了一块buffer用于读写数据的缓存。所以文件系统类型的容器数据将会被缓存两次。为了避免操作系统级别的缓存,我们可以使用裸设备(裸分区 Raw Partition)作为数据文件的存储设备。

裸设备是一个没有mount到操作系统的文件系统的磁盘分区,它通过字符设备驱动来访问,裸设备的读写不由操作系统控制,而由应用程序(如数据库)直接控制。

  2、但裸设备有下列缺点:
  a、裸设备的空间大小管理不灵活。在放置裸设备的时候,需要预先规划好裸设备上的空间使用。还应当保留一部分裸设备以应付突发情况。但这也造成了空间浪费。
  b、裸设备的创建、更改权限、扩展大小等都需要使用root用户完成。

  文件系统的缺点:性能比不上裸设备

阅读更多
个人分类: oracle-体系结构
上一篇Oracle性能分析总结
下一篇Oracle优化01-引起数据库性能问题的因素
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭