一. 发现问题
准备启动RAC 做升级的实验,启动后,实例无法启动, crs_stat 显示ASM 实例已经启动了。
[oracle@rac1 bin]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.orcl.db application ONLINE OFFLINE
ora....oltp.cs application ONLINE OFFLINE
ora....cl1.srv application ONLINE OFFLINE
ora....cl2.srv application ONLINE OFFLINE
ora....l1.inst application ONLINE OFFLINE
ora....l2.inst application ONLINE OFFLINE
ora....SM2.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
二. 定位问题
2.1 看了相关日志,没有发现什么有用的信息。
crs日志:
[oracle@rac1 ~]$ tail -f /u01/app/oracle/product/10.2.0/crs_1/log/rac1/alertrac1.log
[oracle@rac2 ~]$ tail -f /u01/app/oracle/product/10.2.0/crs_1/log/rac2/alertrac2.log
ASM日志:
[oracle@rac1 ~]$ tail -f /u01/app/oracle/admin/+ASM/bdump/alert_+ASM1.log
[oracle@rac2 ~]$ tail -f /u01/app/oracle/admin/+ASM/bdump/alert_+ASM2.log
数据库日志:
[oracle@rac1 ~]$ tail -f /u01/app/oracle/admin/ora9i/bdump/alert_rac1.log
[oracle@rac2 ~]$ tail -f /u01/app/oracle/admin/ora9i/bdump/alert_rac2.log
2.2 检查ASM 实例磁盘状态
连上ASM实例后,查看磁盘组状态,为DISMOUNTED, 应该就是这个原因导致实例无法启动了。 手动启动磁盘组后,在用crs_start 命令启动相关进程。
这里要注意的地方,每个节点都需要连上去,手动的mount 磁盘组。
[oracle@rac2 racg]$ export ORACLE_SID=+ASM2
[oracle@rac2 racg]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Sep 15 03:53:18 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
DATA DISMOUNTED
FLASH_RECOVERY_AREA DISMOUNTED
SQL> alter diskgroup DATA mount;
Diskgroup altered.
SQL> alter diskgroup FLASH_RECOVERY_AREA mount;
Diskgroup altered.
SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
DATA MOUNTED
FLASH_RECOVERY_AREA MOUNTED
SQL>
三. 问题解决
用crs_start 命令启动进程后,所有进程都online了。 可以继续做RAC的升级实验了。
[oracle@rac1 bin]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.orcl.db application ONLINE ONLINE rac2
ora....oltp.cs application ONLINE ONLINE rac1
ora....cl1.srv application ONLINE ONLINE rac2
ora....cl2.srv application ONLINE ONLINE rac1
ora....l1.inst application ONLINE ONLINE rac2
ora....l2.inst application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2