本文摘自: <oracle内核原理揭秘>
在ASM中无论条带宽度为多少,数据库的单次IO都不会并发访问多个磁盘,看一下下图:
此DG包含2块ASM磁盘,假设AU大小为4M,条带大小为512kb,条带宽度为2,。
如果表有一个1M的extent需要分配空间,它的前512kb在盘1,后512kb在盘2,当全表扫描这1MB的extent时,进程先读取盘1的512kb,等待512读取完后,在开始读取磁盘2的512KB,虽然ASM下都是异步IO,但是oracle会等待前512kb读取完成后,再去读取磁盘2的512kb。
总结,针对ASM磁盘组来说,一个DG有4块盘和40块盘,全表扫描的性能相差无几,但是一旦打开并行就不一样了,如果多个进程进行IO,盘越多,性能越好。