测试不同的AU_SIZE的影响时,发现了这个错误。
建立AU_SIZE大小为64M的磁盘组出现下面的错误:
SQL> CREATE diskgroup data_au64m external redundancy disk '/dev/asm-disk3' attribute 'au_size'='64m','compatible.asm'='11.2','compatible.rdbms'='11.2'; ORA-15018: diskgroup cannot be created ORA-15238: 64m IS NOT a valid VALUE FOR attribute au_size |
开始还以为是Oracle对于64m的大小有限制,并非所有的系统都支持。因为对于32K的BLOCK_SIZE就是这样,Windows环境和Linux环境都是不支持的,莫非64m的AU_SIZE也是当前Linux系统所不支持的。
后来发现原来并非是系统不支持,导致错误的原因竟然是m没有大写,将语法修改后,磁盘组创建成功:
SQL> CREATE DISKGROUP DATA_AU64M EXTERNAL REDUNDANCY DISK '/dev/asm-disk1' ATTRIBUTE 'au_size'='64M', 'compatible.asm' = '11.2.0.0.0', 'compatible.rdbms' = '11.2.0.0.0' Diskgroup created. |
没想到一个表示大小的单位而已,Oracle也要区分大小写,而且还没有明确的错误提示,这块的实现有点太不人性化了。