ora-15077,ASM磁盘组不能挂载

来源:互联网 发布:双模卡写卡软件 编辑:程序博客网 时间:2024/04/28 20:23
 
ora-15077,ASM磁盘组不能挂载
2009-09-29 18:51

一、现象分析:
1、数据库和实例服务无法启动,如下:
[oracle@rac1 ~]$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.....CRM.cs application    ONLINE    OFFLINE   rac1
ora....cl1.srv application    ONLINE    OFFLINE   rac1
ora.orcl.db    application    ONLINE    OFFLINE   rac2
ora....l1.inst application    ONLINE    OFFLINE   rac1
ora....l2.inst application    ONLINE    OFFLINE   rac2
ora....SM1.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....SM2.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、单独启动某个应用服务依然启不起来
3、用sqlplus启动实例,如下:
[oracle@rac1]$ export ORACLE_SID=devdb1
SQL> startup;
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DG1/devdb/spfiledevdb.ora'
ORA-17503: ksfdopn:2 Failed to open file +DG1/devdb/spfiledevdb.ora
ORA-15077: could not locate ASM instance serving a required diskgroup
可以看出diskgroup没有mount,所以先把diskgroup mount

也可做下面的测试,同样也会报磁盘组没挂载:
[oracle@rac1 bdump]$ export ORACLE_SID=+ASM1
[oracle@rac1 bdump]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 22 17:59:39 2008

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> shutdown immediate;
ORA-15100: invalid or missing diskgroup name


ASM instance shutdown
SQL> startup;
ASM instance started

Total System Global Area   92274688 bytes
Fixed Size                  1217884 bytes
Variable Size              65890980 bytes
ASM Cache                  25165824 bytes
ORA-15110: no diskgroups mounted

二、解决办法:
1、首先挂载ASM磁盘组
[oracle@rac1 bdump]$ export ORACLE_SID=+ASM1
[oracle@rac1 bdump]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 22 17:59:39 2008

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
------------------------------ -----------
RECOVERYDEST                   DISMOUNTED
DG1                            DISMOUNTED

SQL> alter diskgroup RECOVERYDEST mount;

Diskgroup altered.

SQL> alter diskgroup DG1 mount;

Diskgroup altered.

SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

2、启动数据库实例
[oracle@rac1 bdump]$ export ORACLE_SID=devdb1
[oracle@rac1 bdump]$ sqlplus / as sysdba
SQL> startup;
ORACLE instance started.

Total System Global Area 264241152 bytes
Fixed Size                  1218868 bytes
Variable Size             109053644 bytes
Database Buffers          150994944 bytes
Redo Buffers                2973696 bytes
Database mounted.
database open.

三、原因:
发现可能是因为oracle用户下的.bashrc文件中$ORACLE_SID环境变量与实际建库的数据库名不一致所至,所以在数据库启动时会找不到环境变量对应的实例名
.bashrc中是orcl1
[oracle@rac1~]cat .bashrc
.....
export ORACLE_SID=orcl1
.....

而实现的实例名是devdb1
所以修改.bashrc中的ORACLE_SID=devdb1

 

 

 

 

 

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+RAC_DISK/RACDB/spfileRACDB.ora'
ORA-17503: ksfdopn:2 Failed to open file +RAC_DISK/RACDB/spfileRACDB.ora
ORA-15077: could not locate ASM instance serving a required diskgroup


--检查ASM实例运行情况

[oracle@node1 ~]$ srvctl status asm -n node1
ASM instance +ASM1 is running on node node1.
[oracle@node1 ~]$ srvctl status asm -n node2
ASM instance +ASM2 is not running on node node2.
[oracle@node1 ~]$
 

能看出,在节点2(也就是出问题的节点)上ASM实例并没有启动 ,明显是asm实列没有startup.数据库的spfile又放在asm区,由于asm实列没有起来,导致数据库找不到磁盘组。


[oracle@node2 dbs]$ export ORACLE_SID=+ASM2
[oracle@node2 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 17 08:57:56 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ASM instance started

Total System Global Area   92274688 bytes
Fixed Size                  1217884 bytes
Variable Size              65890980 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted


[oracle@node2 dbs]$ export ORACLE_SID=RACDB2
SQL> startup
ORACLE instance started.

Total System Global Area  184549376 bytes
Fixed Size                  1218412 bytes
Variable Size              96471188 bytes
Database Buffers           83886080 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL>

 

http://blog.csdn.net/mustbelove/article/details/1441156
原创粉丝点击