grid@linux:~> sqlplus "/as sysasm"
SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 28 14:16:22 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
ORA-29701: unable to connect to Cluster Synchronization Service
grid@linux:~> crsctl check css
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
grid@linux:~> ps -ef |grep cssd
grid 5975 5932 0 14:51 pts/0 00:00:00 grep cssd
果然沒有CSS的服務daemon進程,再看一下HAS(High Availability Service)的狀態
grid@linux:~> crsctl check has
CRS-4638: Oracle High Availability Services is online
grid@linux:~> ps -ef |grep d.bin
grid 4561 1 2 14:35 ? 00:00:28 /oracle/app/grid_home/bin/ohasd.bin reboot
grid 5988 5932 0 14:51 pts/0 00:00:00 grep d.bin
發現HAS的服務確實啓動了的,而ora.cssd和ora.diskmon這2個服務是依賴於HAS維護的
進一步查看各資源的狀態
grid@linux:~> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type OFFLINE OFFLINE
ora....ER.lsnr ora....er.type ONLINE ONLINE linux
ora.RECOVER.dg ora....up.type OFFLINE OFFLINE
ora.asm ora.asm.type OFFLINE OFFLINE
ora.cssd ora.cssd.type ONLINE OFFLINE
ora.diskmon ora....on.type ONLINE OFFLINE
ora.orcl.db ora....se.type OFFLINE OFFLINE
grid@linux:~>
grid@linux:~> crsctl status resource -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
OFFLINE OFFLINE linux
ora.LISTENER.lsnr
ONLINE ONLINE linux
ora.RECOVER.dg
OFFLINE OFFLINE linux
ora.asm
OFFLINE OFFLINE linux
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE OFFLINE
ora.diskmon
1 ONLINE OFFLINE
ora.orcl.db
1 OFFLINE OFFLINE
再看一下ora.cssd和ora.diskmon的屬性
grid@linux:~>
grid@linux:~> crs_stat -p ora.cssd
NAME=ora.cssd
TYPE=ora.cssd.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=never
CHECK_INTERVAL=30
DESCRIPTION="Resource type for CSSD"
FAILOVER_DELAY=0
FAILURE_INTERVAL=3
FAILURE_THRESHOLD=5
HOSTING_MEMBERS=
PLACEMENT=balanced
RESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=600
START_TIMEOUT=600
STOP_TIMEOUT=900
UPTIME_THRESHOLD=1m
grid@linux:~> crs_stat -p ora.diskmon
NAME=ora.diskmon
TYPE=ora.diskmon.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=never
CHECK_INTERVAL=20
DESCRIPTION="Resource type for Diskmon"
FAILOVER_DELAY=0
FAILURE_INTERVAL=3
FAILURE_THRESHOLD=5
HOSTING_MEMBERS=
PLACEMENT=balanced
RESTART_ATTEMPTS=10
SCRIPT_TIMEOUT=60
START_TIMEOUT=60
STOP_TIMEOUT=60
UPTIME_THRESHOLD=5s
到這裏基本就找到了原因了,可以看到這兩個資源的AUTO_START屬性默認都設置爲never,也就是說他們不會隨着HAS服務的啓動而自動啓動的,儘管默認情況下HAS服務是開機自動啓動的.
手工啓動:
grid@linux:~> crsctl start resource ora.cssd
CRS-2672: Attempting to start 'ora.cssd' on 'linux'
CRS-2679: Attempting to clean 'ora.diskmon' on 'linux'
CRS-2681: Clean of 'ora.diskmon' on 'linux' succeeded
CRS-2672: Attempting to start 'ora.diskmon' on 'linux'
CRS-2676: Start of 'ora.diskmon' on 'linux' succeeded
CRS-2676: Start of 'ora.cssd' on 'linux' succeede
、注:ora.cssd和ora.diskmon這兩個服務是有依賴關係的,啓動哪個都會把兩個都起來.、
grid@linux:~> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type OFFLINE OFFLINE
ora....ER.lsnr ora....er.type ONLINE ONLINE linux
ora.RECOVER.dg ora....up.type OFFLINE OFFLINE
ora.asm ora.asm.type OFFLINE OFFLINE
ora.cssd ora.cssd.type ONLINE ONLINE linux
ora.diskmon ora....on.type ONLINE ONLINE linux
ora.orcl.db ora....se.type OFFLINE OFFLINE
CSS服務起來了,重啓動asm instance
grid@linux:~> sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jan 16 14:55:02 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ASM instance started
Total System Global Area 283930624 bytes
Fixed Size 2212656 bytes
Variable Size 256552144 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL>
grid@linux:~> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE linux
ora....ER.lsnr ora....er.type ONLINE ONLINE linux
ora.RECOVER.dg ora....up.type ONLINE ONLINE linux
ora.asm ora.asm.type ONLINE ONLINE linux
ora.cssd ora.cssd.type ONLINE ONLINE linux
ora.diskmon ora....on.type ONLINE ONLINE linux
ora.orcl.db ora....se.type OFFLINE OFFLINE
PS:
1)默認情況下HAS(High Availability Service)是自動啓動的.通過如下命令可以取消和啓用自動啓動
crsctl disable has
crsctl enable has
2)HAS手動啓動和停止
crsctl start has
crsctl stop has
3)查看HAS的狀態
crsctl check has
4)如果想讓ora.css和ora.diskmon服務隨着HAS的啓動而自動啓動,那麼你可以這兩個服務的AUTO_START屬性
crsctl modify resource "ora.cssd" -attr "AUTO_START=1"
or
crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"
5)如果想取消ora.css和ora.diskmon的Auto start
crsctl modify resource "ora.cssd" -attr "AUTO_START=never"
crsctl modify resource "ora.diskmon" -attr "AUTO_START=never"