实际上硬件背景与需求很简单:
软件环境:centos5.7 x64 ,o racle11r2
我的问题:
在目前硬盘数量(6块)的前提下,我的RAID部署如何还能优化? What`s the Best Raid Level for ORACLE??
看似是一个资源紧缺前提下的规划方案,但实际上是一个 单实例部署的最低配置规范。
找到的相关理论依据:
首先著名的 Cary Millsap为我们提供了以下图表可作参考:
以上1代表最佳,5代表最差
在OLTP环境中Raid 10比Raid 5更为合适,因为Raid 5的每次写出都会引发2次读取操作加上一次实际写出操作,而这2次读取操作可能与其他读取发生冲突。同时大多数情况下Raid 5会配置较小的条带化大小(stripe size),如32k或者64k,因而多块读操作可能需要跨越多个磁盘,这就增长了并行读取争用现象出现的概率。
Wait Event | R/W | SIO/AIO | Single/Multi | Elapsed (with 1000+ waits per hour) |
---|---|---|---|---|
control file parallel write | W | AIO | Multi | < 15ms |
control file sequential read | R | SIO | Single | < 20 ms |
db file parallel read | R | AIO | Multi | < 20 ms |
db file scattered read | R | SIO | Multi | < 20 ms |
db file sequential read | R | SIO | Single | < 20 ms |
direct path read | R | AIO | Multi | < 20 ms |
direct path read temp | R | AIO | Multi | < 20 ms |
direct path write | W | AIO | Multi | < 15 ms |
direct path write temp | W | AIO | Multi | < 15 ms |
log file parallel write | W | AIO | Multi | < 15 ms |
Exadata Related | ||||
cell smart table scan | R | AIO | Multi | < 1 ms |
cell single block physical read | R | SIO | Single | < 1 ms |
cell multiblock physical read | R | SIO | Multi | < 6 ms |
注:
RAID 10 和 RAID 01 的区别
RAID10 和 RAID01 是将磁盘按照两种不同的方式进行的逻辑组合。
我们都以四块硬盘做RIAD 来细说他们的区别:
RAID10 是先将四块硬盘在纵向上分别两两做镜像,镜像后再在横向上做条带。简而言之:RAID10 是先做镜像后做条带。在这种情况下,如果只是坏掉其中的一个硬盘,对RAID组的影响都不是非常大,只要不是同时坏掉其中的一个硬盘和他的镜像盘,RAID组都不会崩溃。
RAID01 是先将四块硬盘中横向上两两做条带,然后再纵向上做镜像。简而言之:先条带后镜像。这种情况下如果两个条带上有任意两块硬盘坏掉了,则整个RAID组都将崩溃了。不管 发生介质损坏的两块硬盘是否是镜像
盘。
RAID10 和 RAID01 在读和写的性能上没有太大的差别,从发生故障的概率上看,RAID01 是远大于RAID10 的。一般情况下选择RAID10的情况会多些。
本次结论: