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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述