AIX上安装Oracle 9i RAC出现Failed to start GSD on local node

最近做一个数据库迁移项目,安装Oracle 9i RAC在建库时,出现Failed to start GSD on local node,解决过程如下:

testa:/oracle/app/product/9.2.0/bin>gsdctl start

Failed to start GSD on local node

这个起不来通常是由于srvConfig没有在所有结点上创建或者是访问这个文件有问题造成的。

ls -lsa /dev/ro*

 0 crw-rw----  1 oracle  dba        50, 13 Nov 28 15:02 /dev/ro9_srvconf

 

testb:/var/opt/oracle>ls -lsa

total 4

  0 drwxr-xr-x  2 oracle  dba            256 Nov 29 17:02 .

  0 drwxr-xr-x  6 bin    bin            256 Nov 29 16:58 ..

  4 -rw-rw-r--  1 oracle  system          31 Nov 30 13:33 srvConfig.loc

testb:/var/opt/oracle>more srvConfig.loc

srvconfig_loc=   

(发现这里是空的,没有内容),手工指定:

srvconfig_loc= /dev/ro9_srvconf

重新初始化,如下

testb:/var/opt/oracle>srvconfig -init

重启后正常:

testb:/var/opt/oracle>gsdctl start

Successfully started GSD on local node

 

此问题也算是一个bug,详细参考Oracle Metalink ID:Resolving PRKR-1064 ina RAC Environment [ID 212631.1],如下:

 

Fact(s)

~~~~~~~~

Attempting to set up a shared configuration file in a Real Application Clusters

environment.

 

Symptom(s)

~~~~~~~~~~

PRKR-1064 error in a RAC environment.

 

Change(s)

~~~~~~~~~~

Setting this up for the first time or changes on the srvConfig.loc file or

shared configuration file(s).

 

Cause

~~~~~~~

Shared configuration file is incorrectly configured.

 

Fix

~~~~

Verify that the shared configuration file has been correctly configured:

 

 

1. Get ls -l output of the /var/opt/oracle/srvConfig.loc file from each node to

verify permissions:

 

 [rac1]/var/opt/oracle> ls -l /var/opt/oracle/srvConfig.loc

 -rwxrwxrwx  1 oracle dba          75 Aug 27 18:35 /var/opt/oracle/srvConfig.loc*

 

Note: This file (srvConfig.loc) may also exist in /etc or $ORACLE_HOME/srvm/config

 

This file should be readable and writable by the Oracle user on all nodes.

 

 

2. Check the contents of srvConfig.loc file on each node to verify the shared

configuration file location:

 

 [rac1]/var/opt/oracle> more /var/opt/oracle/srvConfig.loc

 srvconfig_loc=/dev/vx/rdsk/srvm.dbf   

 

Note: This file (srvConfig.loc) may also exist in /etc or $ORACLE_HOME/srvm/config

 

This should be pointing to a valid shared file or raw device.

 

 

3. If you are pointing to a raw device, confirm that the raw device was created

to be at least100M. If you are using CFS or NFS, ensure that the shared

configuration file has been precreated:

 

 [rac1]/var/opt/oracle> touch /shared/srvm.dbf

 

 

4. Check the permissions on the shared configuration file being used to verify

permissions and ownership:

 

 [rac1]/var/opt/oracle> ls -l /dev/vx/rdsk/srvm.dbf

 crw-rw----  1 oracle  dba  201,37005 Sep 4 06:35 /dev/vx/rdsk/srvm.dbf

 

 

5. Make sure you can 'dd' the shared configuration file as the Oracle user:

 

 $ dd if=<shared config file> f=/dev/null bs=<db_block_size>

 

 Example:

 

 [rac1]/> dd if=/dev/vx/rdsk/srvm.dbf f=/dev/null bs=8192

 20480+0 records in

 20480+0 records out

 

 

6. Stop the GSD if it is running.

 

 9.0:

 $ ps -ef | grep jre

 $ kill -9 <gsd process> Note: Make sure that this is the process in use by GSD

 

 9.2:

 $ gsdctl stop     

     

 

7. Attemt to re-initialize the SRVM file:

 

[rac1]/var/opt/oracle> srvconfig -init -f

 

 

8. If this is successful, start the GSDs and add the databases and instances to

srvctl. If this still fails, trace srvconfig using the instructions in the

following note and provide output of steps 1-8 to Oracle Support:

 

 

The following are known bugs involving PRKR-1064 errors:

 

Bug 2861550

Description: GSD fails at startup with PRKR-1064

Versions Affected:9.2.0.3

Platforms Affected: Linux: SLE8 and United Linux

Fixed Version:9.2.0.3 with Patch 2861550

 

Bug 2400133

Description: PRKR-1064 : General Exception in OCR with CFS

Versions Affected:9.2.0.X

Platforms Affected: All that support CFS

Workaround: Pre-create the shared configuration file.

 

Bug 2656165

Description: Failed to get status of srvconfig on PRKR-1064 when used '#'

character in srvConfig.loc.

Versions Affected:9.2.0.X

Workaround: Do not put '#' signs in the srvConfig.loc

 

Bug 2660531

Description: Srvconfig Fails Due To Multiple Open Of Shared File Without Closing It On Ocfs.

Versions Affected:9.2.0.1

Fixed in9.2.0.3