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