解决无法发现节点问题后,又留下另一后遗症。。。。。。
安装CRS软件后,在第一个节点运行root.sh脚本时,出现以下错误:
[root@aix213 /]#/u01/crs_1/root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01' is not owned by root
clscfg -install -nn nodeA,nodeAnum,nodeB,nodeBnum... -o crshome
-l languageid -c clustername -q votedisk
[-t p1,p2,p3,p4] [-pn privA,privAnum,privB,privBnum...]
[-hn hostA,hostAnum,hostB,hostBnum...]
-o crshome - directory CRS is installed in
-q votedisk - path to the CSS voting disk
-c clustername - name of the cluster. 1-14 character string
-l languageid - Oracle localization language id.
e.g. AMERICAN_AMERICA.WE8ASCII37C
-nn name,num - nodename list in pairs of nodename,nodenumber
If OS clusterware is installed see vendor docs.
e.g. node1,1,node2,2,node4,4
-pn name,num - Defines private interconnect names for nodes already
specified with the -nn flag.
Defaults to the nodename if not specified.
-hn name,num - Defines hostnames for nodes specified with the -nn
flag in the same format as above.
Defaults to the nodename if not specified.
-t p1,p2,p3,p4 - Specifies TCP ports to be used by the CRS daemons
on the private interconnect.
default ports: 49895,49896,49897,49898
-force Forces overwrite of any previous configuration.
WARNING: Using this tool may corrupt your cluster configuration. Do not
use unless you positively know what you are doing.
Failed to initialize Oracle Cluster Registry for cluster
0
解决方法:
[root@aix213 /]#cat /u01/crs_1/root.sh
#!/bin/sh
/u01/crs_1/install/rootinstall
/u01/crs_1/install/rootconfig
分析root.sh 执行的脚本:
[root@aix213 /]#cat /u01/crs_1/install/rootconfig
#!/bin/sh
#
# rootconfig.sh for Oracle CRS homes
#
# This is run once per node during the Oracle CRS install.
# This script does the following:
# 1) Stop if any GSDs are running from 9.x oracle homes
# 2) Initialize new OCR device or upgrade the existing OCR device
# 3) Setup OCR for running CRS stack
# 4) Copy the CRS init script to init.d for init process to start
# 5) Start the CRS stack
# 6) Configure NodeApps if CRS is up and running on all nodes
#
# NOTE: Use sample paramfile in $ORA_CRS_HOME/srvm/admin/paramfile.sample for
# setting CRS parameters
# The following commands need to be run before Oracle Cluster Registry is
# populated.
# This is run during CRS installation and not during RAC
SILENT=false
ORA_CRS_HOME=/u01/crs_1
CRS_ORACLE_OWNER=oracle
CRS_DBA_GROUP=oinstall
CRS_VNDR_CLUSTER=true
CRS_OCR_LOCATIONS=/dev/rrac_ocr
CRS_CLUSTER_NAME=crs
CRS_HOST_NAME_LIST=
CRS_NODE_NAME_LIST=
CRS_PRIVATE_NAME_LIST=aix213-priv,,aix214-priv,
CRS_LANGUAGE_ID='AMERICAN_AMERICA.WE8ISO8859P1'
CRS_VOTING_DISKS=/dev/rrac_vote
CRS_NODELIST=aix213,aix214
发现
CRS_HOST_NAME_LIST=
CRS_NODE_NAME_LIST=
这两个环境变量后面没有赋值,应该是在初期安装CRS时,没有发现节点,通过crs配置文件生成后,而这两个变量无法自动赋值,从而导致执行脚本出错。
1、重新配置 rootconfig.sh
#!/bin/sh
#
# rootconfig.sh for Oracle CRS homes
#
# This is run once per node during the Oracle CRS install.
# This script does the following:
# 1) Stop if any GSDs are running from 9.x oracle homes
# 2) Initialize new OCR device or upgrade the existing OCR device
# 3) Setup OCR for running CRS stack
# 4) Copy the CRS init script to init.d for init process to start
# 5) Start the CRS stack
# 6) Configure NodeApps if CRS is up and running on all nodes
#
# NOTE: Use sample paramfile in $ORA_CRS_HOME/srvm/admin/paramfile.sample for
# setting CRS parameters
# The following commands need to be run before Oracle Cluster Registry is
# populated.
# This is run during CRS installation and not during RAC
SILENT=false
ORA_CRS_HOME=/u01/crs_1
CRS_ORACLE_OWNER=oracle
CRS_DBA_GROUP=oinstall
CRS_VNDR_CLUSTER=true
CRS_OCR_LOCATIONS=/dev/rrac_ocr
CRS_CLUSTER_NAME=crs
CRS_HOST_NAME_LIST=aix213,1,aix214,2
CRS_NODE_NAME_LIST=aix213,1,aix214,2
CRS_PRIVATE_NAME_LIST=aix213-priv,,aix214-priv,
CRS_LANGUAGE_ID='AMERICAN_AMERICA.WE8ISO8859P1'
CRS_VOTING_DISKS=/dev/rrac_vote
CRS_NODELIST=aix213,aix214
CRS_NODEVIPS='aix213/aix213-vip/255.255.255.0/en0,aix214/aix214-vip/255.255.255.0/en0'
2、删除crs 配置信息
[root@aix213 /]#/u01/crs_1/install/rootdelete.sh
3、修改OCR、VOTE 对应raw 属性
[root@aix213 /]#ls -l /dev |grep ocr
brw-rw---- 1 oracle dba 88, 1 Feb 24 09:51 rac_ocr
crw-r----- 1 oracle dba 88, 1 Feb 26 08:58 rrac_ocr
[root@aix213 /]#ls -l /dev |grep vote
brw-rw---- 1 oracle dba 88, 2 Feb 24 09:51 rac_vote
crw-r--r-- 1 oracle dba 88, 2 Feb 26 08:58 rrac_vote
4、清空OCR、VOTE 磁盘头信息(所有节点)
[root@aix213 /] dd if=/dev/zero of=/dev/rrac_ocr bs=1024k count=2560
[root@aix213 /] dd if=/dev/zero of=/dev/rrac_vote bs=1024k count=2560
5、重新运行root.sh
[root@aix213 /]#/u01/crs_1/root.sh
至此,问题全部解决!