ORA-15018: diskgroup cannot be created

点击打开链接

创建ASM磁盘组的时候出错,具体报错如下:

  1. SQL> create diskgroup kel external redundancy disk 'ORCL:KEL1','ORCL:KEL2';  
  2. create diskgroup kel external redundancy disk 'ORCL:KEL1','ORCL:KEL2'  
  3. *  
  4. ERROR at line 1:  
  5. ORA-15018: diskgroup cannot be created  
  6. ORA-15031: disk specification 'ORCL:KEL2' matches no disks  
  7. ORA-15014: location 'ORCL:KEL2' is not in the discovery set  
  8. ORA-15031: disk specification 'ORCL:KEL1' matches no disks  
  9. ORA-15014: location 'ORCL:KEL1' is not in the discovery set  

1、 检查磁盘是否存在

发现磁盘是存在的,并且权限也是正确的。

  1. [oracle@kel disks]$ ls -l KEL*  
  2. brw-rw---- 1 oracle oinstall 8, 49 Jun 10 00:14 KEL1  
  3. brw-rw---- 1 oracle oinstall 8, 65 Jun 10 00:14 KEL2  

2、 确认下磁盘是否存在
  1. [oracle@kel disks]$ oracleasm listdisks;  
  2. DATA  
  3. KEL1  
  4. KEL2  
  5. OCR_VOTE  

3、 进入ASM的实例,检查参数asm_diskstring

发现路径是存在的并且是正确的

  1. SQL> show parameter asm_diskstring  
  2.   
  3. NAME                     TYPE   VALUE  
  4. ------------------------------------ ---------- ------------------------------  
  5. asm_diskstring               string /dev/oracleasm/disks/*  

4、 检查当前的路径(目前已经创建了一个磁盘组,并且已经挂载)
  1. SQL> select path from v$asm_disk;  
  2.   
  3. PATH  
  4. --------------------------------------------------------------------------------  
  5. /dev/oracleasm/disks/KEL2  
  6. /dev/oracleasm/disks/KEL1  
  7. /dev/oracleasm/disks/DATA  
  8. /dev/oracleasm/disks/OCR_VOTE  

5、 换一个创建的路径
  1. SQL> create diskgroup kel external redundancy disk '/dev/oracleasm/disks/KEL1','/dev/oracleasm/disks/KEL2';  
  2.   
  3. Diskgroup created.  

当路径修改之后,能够正确的创建ASM磁盘组了


关于asm_diskstring参数:

定义哪些磁盘可以被ASM使用。ASM实例启动之后,就根据这个参数扫描发现ASM磁盘,配置了这个参数以后,还必须要确认oracle用户对这些磁盘有操作权限。

a、 如果使用的是裸设备,用逗号分隔每个设备名

asm_diskstring='/dev/raw/raw3','/dev/raw/raw7'

b、 也可以使用通配符

asm_diskstring='/dev/raw/raw*'

c、 使用ASMLib时,需要使用“ORCL:磁盘名”格式

asm_diskstring='ORCL:KEL1'

d、 也可以使用通配符

asm_diskstring='ORCL:KEL*'


但是在上面的实例中,我们使用的是ASMLib的方式,但是asm_diskstring依然使用的全路径,从而在创建的磁盘组的时候也需要使用全路径。


在修改asm_diskstring的时候,利用alter命令来进行修改不成功,但是在pfile中修改,然后再次进行启动,是可以进行修改的,WHY?

  1. SQL> alter system set asm_diskstring='/dev/oracleasm/disks/*' scope=both;  
  2. alter system set asm_diskstring='/dev/oracleasm/disks/*' scope=both  
  3. *  
  4. ERROR at line 1:  
  5. ORA-02097: parameter cannot be modified because specified value is invalid  
  6. ORA-15014: location 'ORCL:DATA' is not in the discovery set  
在参数文件pfile中直接修改,asm实例还是可以启动的。
  1. SQL> show parameter asm_diskstring  
  2.   
  3. NAME                     TYPE   VALUE  
  4. ------------------------------------ ---------- ------------------------------  
  5. asm_diskstring               string ORCL:KEL*, ORCL:DATA, ORCL:OCR 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值