ASM DISK Group加载ORA-15183错误一例(一)

2015-07-16 12:08:00 · 作者: · 浏览: 5

本篇主要介绍笔者遇到的一个数据库启动加载过程中出现的问题。同官方MOS推荐的策略相比,有一些不同之处。记录下来,留待需要的朋友待查使用。


1、问题说明


笔者环境是Oracle 单实例+Grid Infrastructure,版本号为11.2.0.4。由于安全原因,从MOS上下载了最新的安全补丁和升级补丁。升级之后的版本为11.2.0.4.6。


但是,在升级最后步骤——执行SQL脚本环节,出现了一些问题。


SQL*Plus: Release 11.2.0.4.0 Production on Mon May 25 16:08:57 2015


Copyright (c) 1982, 2013, Oracle.? All rights reserved.


SQL> conn / as sysdba


Connected to an idle instance.


SQL> startup


ORACLE instance started.


Total System Global Area 2087780352 bytes


Fixed Size? ? ? ? ? ? ? ? ? 2254824 bytes


Variable Size? ? ? ? ? ? 553650200 bytes


Database Buffers? ? ? ? 1526726656 bytes


Redo Buffers? ? ? ? ? ? ? ? 5148672 bytes


ORA-00205: error in identifying control file, check alert log for more info


从提示信息角度看,Oracle在经历启动nomount阶段之后,在定位control file的过程中出现了问题。


老实说,虽然是测试环境,但是笔者还是比较惊慌的。于是尝试使用srvctl集群件启动策略。


[grid@NCR-Standby-Asm ~]$ srvctl start database -d sicsstb


PRCC-1014 : sicsstb was already running


PRCR-1004 : Resource ora.sicsstb.db is already running


PRCR-1079 : Failed to start resource ora.sicsstb.db


CRS-5702: Resource 'ora.sicsstb.db' is already running on 'ncr-standby-asm'


2、问题分析


首先确认系统是否可以使用srvctl启动,判断一下GI上面各种资源resource状态。


[grid@NCR-Standby-Asm ~]$ srvctl stop database -d sicsstb


[grid@NCR-Standby-Asm ~]$ srvctl status asm


ASM is running on ncr-standby-asm


[grid@NCR-Standby-Asm ~]$ crsctl stat res -t -init


--------------------------------------------------------------------------------


NAME? ? ? ? ? TARGET? STATE? ? ? ? SERVER? ? ? ? ? ? ? ? ? STATE_DETAILS? ? ? ?


--------------------------------------------------------------------------------


Local Resources


--------------------------------------------------------------------------------


ora.DATA.dg


? ? ? ? ? ? ? ONLINE? ONLINE? ? ? ncr-standby-asm? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


ora.LISTENER.lsnr


? ? ? ? ? ? ? ONLINE? ONLINE? ? ? ncr-standby-asm? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


ora.RECO.dg


? ? ? ? ? ? ? ONLINE? ONLINE? ? ? ncr-standby-asm? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


ora.asm


? ? ? ? ? ? ? ONLINE? ONLINE? ? ? ncr-standby-asm? ? ? ? ? Started? ? ? ? ? ? ?


ora.ons


? ? ? ? ? ? ? OFFLINE OFFLINE? ? ? ncr-standby-asm? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


--------------------------------------------------------------------------------


Cluster Resources


--------------------------------------------------------------------------------


ora.cssd


? ? ? 1? ? ? ? ONLINE? ONLINE? ? ? ncr-standby-asm? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


ora.diskmon


? ? ? 1? ? ? ? OFFLINE OFFLINE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


ora.evmd


? ? ? 1? ? ? ? ONLINE? ONLINE? ? ? ncr-standby-asm? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


ora.sicsstb.db


? ? ? 1? ? ? ? OFFLINE OFFLINE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Instance Shutdown? ?


[grid@NCR-Standby-Asm ~]$ srvctl start database -d sicsstb


[grid@NCR-Standby-Asm ~]$?


[oracle@NCR-Standby-Asm ~]$ cd $ORACLE_HOME/rdbms/admin


[oracle@NCR-Standby-Asm admin]$ sqlplus /nolog


SQL*Plus: Release 11.2.0.4.0 Production on Mon May 25 16:14:00 2015


Copyright (c) 1982, 2013, Oracle.? All rights reserved.


SQL> conn / as sysdba


Connected.


SQL> select open_mode from v$database;


OPEN_MODE


--------------------


READ WRITE


笔者猜测,这个故障和ASM相关。按照逐步抽丝剥茧的思路,先从数据库日志入手(找到失败启动的那次动作)。


Mon May 25 16:09:28 2015


MMON started with pid=17, OS id=4151?


Mon May 25 16:09:28 2015


MMNL started with pid=18, OS id=4153?


starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...


starting up 1 shared server(s) ...


NOTE: initiating MARK startup?


Starting background process MARK


ORACLE_BASE from environment = /u02/app/oracle


Mon May 25 16:09:28 2015


MARK start