以上的 mknod 命令需要设备名、设备类型以及 major 和 minor 数值。本示例中的设备名是“raw64”,设备类型是“c”(表示它是一个字符设备)。该新设备的 major 和 minor 数值分别是 162 和 64。另外,Novell SUSE 用户可以通过运行 orarun rpm 来安装这些设备。
使用原始设备的其他缺点包括:
- 一个磁盘的原始分区数量限制为 14。
- 不支持 Oracle 管理文件 (OMF)。
- 无法重新调整原始设备分区的大小,因此如果空间不足,则必须创建另一个分区来添加数据库文件。
- 原始设备显示为未使用空间,这可能导致其他应用程序将其覆盖。
- 向原始设备进行写操作的唯一方法是使用低级命令 dd,该命令在设备或文件之间传输原始数据。但是,您需要格外小心,确保恰当协调内存和磁盘上的 I/O 操作。
- 一个原始分区只能拥有一个数据文件、一个控制文件或一个重做日志等等。如果您不使用 ASM,则您需要为每个与表空间关联的数据文件提供一个独立的原始设备。但是,一个表空间可以在不同的原始设备分区中拥有多个数据文件。
结论
Oracle RAC 提供了一个文件系统(集群的或非集群的)所具有的很多功能,最大程度地减轻了文件系统本身的工作。如前所述,所需要的只是一个对 Oracle RAC 现有的、内在的数据库集群功能进行补充的文件系统。尽管 OCFS、NFS 和原始设备也可能是可行的方法,但在大多数情况下,ASM 会最大程度地实现这一目的,从而被视为 Oracle 的最佳实践。还可以将 ASM 用于数据文件,OCFS 用于表决磁盘、OCR 和 Oracle 主目录,以及在 NFS 存储器上使用 ASM。
将来我们还可以期待另一个方法,就是 OCFS 第 2 版能够使用共享的 Oracle 主目录,从而完善 ASM 上的共享存储器。