目录
图灵小队——Oracle 11g/12c ASM实例的启动参数spfile是如何引导的
1、ASM实例启动启动参数是从哪里读取的?
在11.2的ASM实例上,执行show parameter spfile,我们发现spfile是在asm的磁盘组中。
2、发现于原来的定义不同
可以看到spfile在ASM磁盘组里了。但是,和之前的版本不同,在$ORACLE_HOME/dbs目录下却没有pfile来定位spfile。
(1)grid下的asm实例的pfile文件并没有
(2)oracle下的mesorcl实例文件是有ininmesorcl.ora做引导转换的
3、那么ASM实例如何得知它的spfile具体位置的呢?
答案是通过一个“本地注册表”。
Oracle的Grid Infastructure使用这样一个“本地注册表”来记录本地的所有可控资源。
(1)“本地注册表”位置在/etc/oracle/olr.loc文件中,查看olrconfig_loc变量:
[grid@oggdb222:/home/grid]$ll /etc/oracle/olr.loc -rw-r----- 1 root oinstall 100 Mar 9 09:45 /etc/oracle/olr.loc [grid@oggdb222:/home/grid]$cat /etc/oracle/olr.loc olrconfig_loc=/oracle/app/11.2.0/grid/cdata/localhost/oggdb222.olr crs_home=/oracle/app/11.2.0/grid
(2)查看“本地注册表”的内容:
[grid@oggdb222:/home/grid]$ocrdump -local -xml [grid@oggdb222:/home/grid]$grep -i spfile OCRDUMPFILE
4、如果启动asm报:ORA-29701
ASMCMD> startup ORA-01078: failure in processing system parameters ORA-29701: unable to connect to Cluster Synchronization Service
解决方法:是由于cssd没有启动导致,启动cssd即可
[root@oggdb223 ~]# crsctl start resource ora.cssd CRS-2672: Attempting to start 'ora.cssd' on 'oggdb223' CRS-2672: Attempting to start 'ora.diskmon' on 'oggdb223' CRS-2676: Start of 'ora.diskmon' on 'oggdb223' succeeded CRS-2676: Start of 'ora.cssd' on 'oggdb223' succeeded
5、ASM实例的spfile如何创建
SQL>create spfile='+dggrid01' from pfile;
二、本地注册表是怎么来的?
应该尝试一下不删除grid,更改一些IP和主机配置进行查看
克隆后:未删除grid
<VALUE><![CDATA[ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r--~ACTION_FAILURE_TEMPLATE=~ACTION_SCRIPT=~AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%~ALIAS_NAME=~ASM_DISKSTRING=/dev/asm*~AUTO_START=restore~BASE_TYPE=ora.local_resource.type~CHECK_INTERVAL=1~CHECK_TIMEOUT=30~DEFAULT_TEMPLATE=PROPERTY(RESOURCE_CLASS=asm) ELEMENT(INSTANCE_NAME= %GEN_USR_ORA_INST_NAME%)~DEGREE=1~DESCRIPTION=Oracle ASM resource~ENABLED=1~GEN_USR_ORA_INST_NAME=+ASM~LOAD=1~LOGGING_LEVEL=1~NAME=ora.asm~NLS_LANG=~NOT_RESTARTING_TEMPLATE=~OFFLINE_CHECK_INTERVAL=0~PROFILE_CHANGE_TEMPLATE=~RESTART_ATTEMPTS=5~SCRIPT_TIMEOUT=60~SPFILE=+DGGRID01/asm/asmparameterfile/registry.253.1098870545~START_DEPENDENCIES=hard(ora.cssd) weak(ora.LISTENER.lsnr)~START_TIMEOUT=900~STATE_CHANGE_TEMPLATE=~STOP_DEPENDENCIES=hard(ora.cssd)~STOP_TIMEOUT=600~TYPE=ora.asm.type~TYPE_ACL=owner:grid:rwx,pgrp:oinstall:rwx,other::r--~TYPE_NAME=ora.asm.type~TYPE_VERSION=1.2~UPTIME_THRESHOLD=1d~USR_ORA_ENV=~USR_ORA_INST_NAME=+ASM~USR_ORA_OPEN_MODE=mount~USR_ORA_OPI=false~USR_ORA_STOP_MODE=immediate~VERSION=11.2.0.4.0~]]></VALUE>
克隆后:删除grid
<NAME>SYSTEM.OHASD.TYPES.ora!asm!type.SPFILE</NAME>
<NAME>SYSTEM.OHASD.TYPES.ora!asm!type.SPFILE.CONFIG</NAME>
<VALUE><![CDATA[ACL=owner:root:rwx,pgrp:root:r-x,other::r--~ACTION_FAILURE_TEMPLATE=~ACTION_SCRIPT=~AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%~ALIAS_NAME=~ASM_DISKSTRING=++no-value-at-resource-creation--never-updated-through-ASM++~AUTO_START=restore~BASE_TYPE=ora.local_resource.type~CHECK_INTERVAL=1~CHECK_TIMEOUT=30~DEFAULT_TEMPLATE=PROPERTY(RESOURCE_CLASS=asm) ELEMENT(INSTANCE_NAME= %GEN_USR_ORA_INST_NAME%)~DEGREE=1~DESCRIPTION=Oracle ASM resource~ENABLED=1~GEN_USR_ORA_INST_NAME=~LOAD=1~LOGGING_LEVEL=1~NAME=ora.asm~NLS_LANG=~NOT_RESTARTING_TEMPLATE=~OFFLINE_CHECK_INTERVAL=0~PROFILE_CHANGE_TEMPLATE=~RESTART_ATTEMPTS=5~SCRIPT_TIMEOUT=60~SPFILE=~START_DEPENDENCIES=hard(ora.cssd) weak(ora.LISTENER.lsnr)~START_TIMEOUT=900~STATE_CHANGE_TEMPLATE=~STOP_DEPENDENCIES=hard(ora.cssd)~STOP_TIMEOUT=600~TYPE=ora.asm.type~TYPE_ACL=owner:root:rwx,pgrp:root:r-x,other::r--~TYPE_NAME=ora.asm.type~TYPE_VERSION=1.2~UPTIME_THRESHOLD=1d~USR_ORA_ENV=~USR_ORA_INST_NAME=+ASM~USR_ORA_OPEN_MODE=mount~USR_ORA_OPI=false~USR_ORA_STOP_MODE=immediate~VERSION=11.2.0.4.0~]]></VALUE>