• ORA-15018: diskgroup cannot be created


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

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

    1、 检查磁盘是否存在

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

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

    2、 确认下磁盘是否存在

    [oracle@kel disks]$ oracleasm listdisks;
    DATA
    KEL1
    KEL2
    OCR_VOTE

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

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

    SQL> show parameter asm_diskstring
    
    NAME				     TYPE	VALUE
    ------------------------------------ ---------- ------------------------------
    asm_diskstring			     string	/dev/oracleasm/disks/*

    4、 检查当前的路径(目前已经创建了一个磁盘组,并且已经挂载)

    SQL> select path from v$asm_disk;
    
    PATH
    --------------------------------------------------------------------------------
    /dev/oracleasm/disks/KEL2
    /dev/oracleasm/disks/KEL1
    /dev/oracleasm/disks/DATA
    /dev/oracleasm/disks/OCR_VOTE

    5、 换一个创建的路径

    SQL> create diskgroup kel external redundancy disk '/dev/oracleasm/disks/KEL1','/dev/oracleasm/disks/KEL2';
    
    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?

    SQL> alter system set asm_diskstring='/dev/oracleasm/disks/*' scope=both;
    alter system set asm_diskstring='/dev/oracleasm/disks/*' scope=both
    *
    ERROR at line 1:
    ORA-02097: parameter cannot be modified because specified value is invalid
    ORA-15014: location 'ORCL:DATA' is not in the discovery set
    在参数文件pfile中直接修改,asm实例还是可以启动的。
    SQL> show parameter asm_diskstring
    
    NAME				     TYPE	VALUE
    ------------------------------------ ---------- ------------------------------
    asm_diskstring			     string	ORCL:KEL*, ORCL:DATA, ORCL:OCR
    						_VOTE



    for linux and python
  • 相关阅读:
    Foxit 出mac 版本啦
    mac 上的latex (有很多链接,侵权请通知,一定删除)
    集合转数组
    select2搜索框查询加遍历
    下拉框回显
    柱状堆积图Echarts
    echarts X轴数据显示不全问题
    Map静态键值对
    如何配置pl/sql (本地客户端)连接远程oracle服务器
    自定义验证jquery.validate
  • 原文地址:https://www.cnblogs.com/kellyseeme/p/5525171.html
Copyright © 2020-2023  润新知