每个DBA Team在建库时,对数据文件采用文件系统还是裸设备都是分成两派的,双方都很难说服对方,我这里也分析一下数据文件用文件系统还是裸设备的各自优劣。
速度
都说裸设备比文件系统快,因为少走了OS的cache。但到底快多少呢?IBM还说自己的jfs2比裸设备快呢!
我们用ORION(oracle提供的存储测试工具,可以从otn网站下载,模拟数据库对存储的读写操作)测试了一下:
存储SUN2540 两个盘
文件系统读:
Maximum Large MBPS=205.34 @ Small=0 and Large=4
Maximum Small IOPS=1160 @ Small=10 and Large=0
Minimum Small Latency=4.51 @ Small=1 and Large=0
祼设备读:
Maximum Large MBPS=205.02 @ Small=0 and Large=4
Maximum Small IOPS=1161 @ Small=10 and Large=0
Minimum Small Latency=4.49 @ Small=1 and Large=0
文件系统写
Maximum Large MBPS=84.48 @ Small=0 and Large=4
Maximum Small IOPS=675 @ Small=1 and Large=0
Minimum Small Latency=1.48 @ Small=1 and Large=0
裸设备写
Maximum Large MBPS=83.92 @ Small=1 and Large=4
Maximum Small IOPS=674 @ Small=1 and Large=0
Minimum Small Latency=1.48 @ Small=1 and Large=0
从以上数据可以看出,速度基本差不多,如果因为速度要使用祼设备的理由就不成立了。
防误删除:
文件被误删除后基本不能恢复,数据丢失。
祼设备被误删除后,可以重新建立,数据不丢失。
扩展性:
数据件在文件系统中可以自动扩展
祼设备不能自动扩展,如果容量不够需要增加祼设备作为新的数据文件来扩充表空间。
需要注意的一个问题是,自动扩展是不是一定好?!
很多DBA喜欢把datafile设置成autoextend on maxsize unlimited,我觉得比较严谨的作法还是要设置一个合理的maxsize。
防止应用的错误向表空间中插入垃圾记录,在文件系统中可能会把整个文件系统的free space消耗光!
移植性
文件可能通过copy的方式很方便的实现迁移,裸设备很困难。
Dataguard时祼设备不能自动创建数据文件
也就是这个参数standby_file_management 设置成auto没有用。
写到这儿就行了,到底用文件系统还是裸设备大家自己定吧。
该贴由system转至本版2014-9-18 8:34:14