在一次集群测试中,发下一个现象,就是 asm实例启动报错,发现无法找到spfile文件, 示例如下:
SQL> show parameter spfile
NAME TYPE VALUE
-------------------------- ----------- ------------------------------
spfile string
也就是asm实例启动时为使用该参数。 根据Oracle官方文档,当Oracle ASM搜索初始化参数文件时,搜索顺序是
- gpnp配置文件中指定的初始化参数文件的位置($ORACLE_HOME/gpnp/hostname)
- 如果没有在gpnp文件中找到,则搜索 $ORACLE_HOME/dbs/目录下spfile相关文件。或者指定pfile文件。
Oracle ASM实例无法找到spfile文件的原因之一是以下错误:
ERROR: -5(Duplicate disk OCR_VOTE:OCR_VOTE_0001)
或者是asm使用了默认的参数设置,具体如下:
NOTE: No asm libraries found in the system
ERROR: -5(Duplicate disk OCR_VOTE:OCR_VOTE_0001) <---
* instance_number obtained from CSS = 1, checking for the existence of node 0...
* node 0 does not exist. instance_number = 1
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Private Interface ... configured from GPnP for use as a private interconnect.
...
Public Interface ... configured from GPnP for use as a public interface.
...
...
LICENSE_MAX_USERS = 0
SYS auditing is disabled
NOTE: Volume support enabled
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options.
WARNING: using default parameter settings without any parameter file <-----
修复该错误,需要检查asm磁盘相关权限及 是否有重复磁盘。
可参考以下文档:
- NOTE:1274309.1 - Clusterware Fails to Start due to CSSD Fails to start with “Duplicate voting file found”
- http://www.askmac.cn/archives/oracle-%E5%AD%98%E5%9C%A8%E9%87%8D%E5%A4%8D%E7%A3%81%E7%9B%98%E8%AE%BE%E5%A4%87%E6%97%B6%EF%BC%8Casm%E7%A3%81%E7%9B%98%E7%BB%84%E6%97%A0%E6%B3%95mount-ora-15032-ora-15017-ora-15063.html