欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

rac_第二个节点重启后无法启动实例:磁盘组dismount问题

程序员文章站 2022-06-05 17:46:20
...

rac第二个节点重启后无法启动实例:磁盘组dismount问题 实验案例: 实验环境:CentOS 6.4、Oracle 11.2.0.1 现象重演: 1. 重启第二节点服务器 2. 手工启动第二节点实例,报错 [root@node2 ~]# su - oracle[oracle@node2 ~]$ sqlplus /as sysdbaSQL*Plus: Re

rac第二个节点重启后无法启动实例:磁盘组dismount问题

实验案例:

实验环境:CentOS 6.4、Oracle 11.2.0.1

现象重演:
1. 重启第二节点服务器
2. 手工启动第二节点实例,报错

[root@node2 ~]# su - oracle
[oracle@node2 ~]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 23 15:11:04 2014

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

Connected to an idle instance.

启动数据库报错如下:

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DG1/xcky/spfilexcky.ora'
ORA-17503: ksfdopn:2 Failed to open file +DG1/xcky/spfilexcky.ora
ORA-15056: additional error message
ORA-17503: ksfdopn:DGOpenFile05 Failed to open file +DG1/xcky/spfilexcky.ora
ORA-17503: ksfdopn:2 Failed to open file +DG1/xcky/spfilexcky.ora
ORA-15001: diskgroup "DG1" does not exist or is not mounted
ORA-06512: at line 4


根据上面的错误,锁定到ORA-15001错误,这是代表有磁盘组没有mount,于是按照这个思路进行查看。

3. grid用户下,查看磁盘组状态

[root@node2 ~]# su - grid
[grid@node2 ~]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 23 15:27:04 2014

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options

SQL> select name,state from v$asm_diskgroup;

NAME STATE
------------------------------ -----------
CRS MOUNTED
DG1 DISMOUNTED
RCY1 DISMOUNTED

可以发现,DG1、RCY1磁盘组处于dismounted状态,于是手工启动到mount状态,如下操作:

4. 启动磁盘组到mount状态
需要注意,对磁盘组操作时,需要使用sysasm用户,该用户有对磁盘组操作的权限,如下:

SQL> conn /as sysasm
Connected.

SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
CRS MOUNTED
DG1 DISMOUNTED
RCY1 DISMOUNTED

SQL> alter diskgroup DG1 mount;
Diskgroup altered.

SQL> alter diskgroup RCY1 mount;
Diskgroup altered.

SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
CRS MOUNTED
DG1 MOUNTED
RCY1 MOUNTED
至此,完成了将全部磁盘组启动到mount状态。

5. 再次启动节点2的实例
[root@node2 ~]# su - oracle
[oracle@node2 ~]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 23 15:31:11 2014

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 730714112 bytes
Fixed Size 2216944 bytes
Variable Size 557845520 bytes
Database Buffers 167772160 bytes
Redo Buffers 2879488 bytes
Database mounted.
Database opened.
SQL> select status,instance_name from gv$instance;
--查询整个集群环境,可以看到两个节点都已经启动了
STATUS INSTANCE_NAME
------------ ----------------
OPEN xcky2
OPEN xcky1


至此,由于磁盘组处于dismount状态引起的单节点实例无法启动问题,解决。