root.sh脚本
root.sh脚本可以说是安装集群管理软件过程当中最重要的,同时也是最容易出问题的,这个脚本要完成对集群的初始化和很多配置任务。
1.root.sh脚本
root.sh脚本:(root.sh脚本位置/u01/app/11.2.0/grid/root.sh)
[root@RAC1 ~]# cat /u01/app/11.2.0/grid/root.sh
#!/bin/sh
. /u01/app/11.2.0/grid/install/utl/rootmacro.sh "$@"
. /u01/app/11.2.0/grid/install/utl/rootinstall.sh
#
# Root Actions related to network
#
/u01/app/11.2.0/grid/network/install/sqlnet/setowner.sh
#
# Invoke standalone rootadd_rdbms.sh
#
/u01/app/11.2.0/grid/rdbms/install/rootadd_rdbms.sh
/u01/app/11.2.0/grid/rdbms/install/rootadd_filemap.sh
/u01/app/11.2.0/grid/crs/config/rootconfig.sh
EXITCODE=$?
if [ $EXITCODE -ne 0 ]; then
exit $EXITCODE
fi
1. /u01/app/11.2.0/grid/install/utl/rootmacro.sh "$@"
负责一些和gi_home相关的验证工作
2. /u01/app/11.2.0/grid/install/utl/rootinstall.sh
负责创建一些本地文件
3./u01/app/11.2.0/grid/network/install/sqlnet/setowner.sh
负责创建GI相关的文件
4./u01/app/11.2.0/grid/rdbms/install/rootadd_rdbms.sh
负责验证文件的一些权限
5./u01/app/11.2.0/grid/rdbms/install/rootadd_filemap.sh
负责验证文件的一些权限
2.root.Sh详细信息
root.sh脚本核心部分是/u01/app/11.2.0/grid/crs/config/rootconfig.sh脚本,这个脚本是通过调用<gi_home>/crs/install/rootcrs.pl脚本来初始化和配置集群,以下是rootconfig.sh脚本部分片段。
SU=/bin/su
SW_ONLY=false
ADDNODE=false
GI_WIZARD=false
HA_CONFIG=false
RAC9I_PRESENT=false
CMDLLROOTSH_CMD=$ORACLE_HOME/crs/install/cmdllroot.sh
CONFIGSH_CMD="$ORACLE_HOME/crs/config/config.sh"
ROOTHASPL="$ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/crs/install $ORACLE_HOME/crs/install/roothas.pl"
ROOTCRSPL="$ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/crs/install $ORACLE_HOME/crs/install/rootcrs.pl"
可以看到,完成初始化和配置集群工作的是root.pl脚本。接下来,通过该脚本的一个日志文件来了解一下脚本做了什么。rootcrs.pl脚本的日志文件是<gi_home>/cfgtoollogs/rootcrs/<节点名>.log。
未完待续.......................