日期:2014-05-16  浏览次数:20499 次

ASM单实例由Oracle Restart引发的系列故障分析(Final Version)

今天重新打开上次安装完的一个ASM单实例环境,突然报错

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA/asmsingle/spfileasmsingle.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA/asmsingle/spfileasmsingle.ora
ORA-29701: unable to connect to Cluster Synchronization Service

以为是监听问题造成的无法读取asm磁盘组,于是运行netca删除监听和服务名,准备重新创建。

当我删除监听后,准备再重新创建一个时,报了一个错误,如下图:

需要重启Oracle Restart后再配置netca,否则不能注册到Oracle Restart

google了一下,Oracle Restart是11gR2用来管理单实例组件的一个组件,在装完Grid Infrastructure以后自动安装的

但是我的环境现在crsctl命令也不能用,看来是GI环境配置有点问题

在安装GI的时候,执行完root.sh脚本后,通常要执行一下roothas.pl,如:

[root@dg1 ~]# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g 


The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid


Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.


Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.


To configure Grid Infrastructure for a Stand-Alone Server run the following command as the root user:
/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl


To configure Grid Infrastructure for a Cluster execute the following command:
/u01/app/11.2.0/grid/crs/config/config.sh
This command launches the Grid Infrastructure Configuration Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.

[root@dg1 ~]# /u01/app/11.2.0/grid/crs/install/roothas.pl 
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
User ignored Prerequisites during installation
Improper Oracle Grid Infrastructure configuration found on this host
Deconfigure the existing cluster configuration before starting
to configure a new Grid Infrastructure 
run '/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig
to configure existing failed configuration and then rerun root.sh

根据执行roothas.pl失败的指示,先用-deconfig参数来删除原来GI的配置:

[root@dg1 ~]# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Oracle Restart stack is not active on this node
Restart the SIHA stack (use /u01/app/11.2.0/grid/bin/crsctl start has) and retry
Failed to write the checkpoint:'' with status:FAIL.Error code is 256
Failed to verify HA resources

注意上面红色部分字体,提示Oracle Restart并没有在本节点启动,也无法删除原有GI配置,难道没办法删除了吗?

[root@dg1 ~]# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
CRS-4639: Could not contact Oracle High Availability Services
CRS-4000: Command Stop failed, or completed with errors.
CRS-4639: Could not contact Oracl