您好,登錄后才能下訂單哦!
AIX系統(tǒng)學(xué)習(xí)之-CRS安裝后校驗(yàn)
系統(tǒng)環(huán)境:
操作系統(tǒng):AIX 5.3.8
Oracle: Oracle 10gR2
案例分析:
在構(gòu)建RAC時(shí),安裝完CRS需要做安裝后的校驗(yàn),在執(zhí)行校驗(yàn)工具cluvfy時(shí)出現(xiàn)以下錯誤:
[root@aix230:/u01/soft/Disk1/cluvfy]#crs_stat -t
Name Type Target State Host ------------------------------------------------------------ ora.aix229.gsd application ONLINE ONLINE aix229 ora.aix229.ons application ONLINE ONLINE aix229 ora.aix229.vip application ONLINE ONLINE aix229 ora.aix230.gsd application ONLINE ONLINE aix230 ora.aix230.ons application ONLINE ONLINE aix230 ora.aix230.vip application ONLINE ONLINE aix230
[root@aix230:/u01/soft/Disk1]#ls -l
total 56
drwxr-xr-x 7 oracle dba 512 Oct 16 18:42 cluvfy drwxr-xr-x 4 oracle dba 512 Oct 16 13:35 install drwxr-xr-x 2 oracle dba 512 Oct 16 13:35 response drwxr-xr-x 3 oracle dba 512 Oct 16 13:35 rootpre -rwxr-xr-x 1 oracle dba 2602 Aug 20 2005 runInstaller drwxr-xr-x 9 oracle dba 3072 Oct 16 13:35 stage drwxr-xr-x 2 oracle dba 512 Oct 16 13:35 upgrade
[root@aix230:/u01/soft/Disk1/cluvfy]#/u01/soft/Disk1/cluvfy/runcluvfy.sh -h
The unzip of archive file /u01/soft/Disk1/cluvfy/jrepack.zip failed
查看目錄權(quán)限:
[root@aix230:/u01/soft/Disk1/cluvfy]#ls -ld /u01 drwxr-sr-x 6 oracle dba 512 Oct 16 13:43 /u01 [root@aix230:/u01/soft/Disk1/cluvfy]#ls -l total 118384 drwxrwxr-x 3 oracle dba 2048 Oct 16 18:42 bin drwxr-xr-x 5 root system 512 Jul 16 2005 cv -rwxr-xr-x 1 oracle dba 21378978 Aug 20 2005 cvupack.zip drwxrwxr-x 2 root system 512 Aug 16 2005 jlib -rwxrwxrwx 1 oracle dba 39203424 Aug 20 2005 jrepack.zip drwxrwxr-x 10 oracle dba 3072 Oct 16 18:42 lib drwxrwxr-x 2 root system 512 Jul 19 2005 lib32 -rwxr-xr-x 1 oracle dba 3107 Aug 20 2005 runcluvfy.sh
修改可執(zhí)行腳本權(quán)限:
[root@aix230:/u01/soft/Disk1/cluvfy]#chmod 777 runcluvfy.sh
仍然失敗,看來不是權(quán)限的問題:
[root@aix230:/u01/soft/Disk1/cluvfy]#./runcluvfy.sh
The unzip of archive file ./jrepack.zip failed
查看可執(zhí)行腳本的內(nèi)容,發(fā)現(xiàn)秘密
[root@aix230:/u01/soft/Disk1/cluvfy]#cat runcluvfy.sh
#!/bin/sh # # This script sets up the environment for invocation of cluster verification # tool (cluvfy), unpacks the archive (cluvfy.zip) for the verification # framework software, executes the requested verification command, and cleans # up the space occupied by the unpacked verification software. # # Usage: cluvfy.sh <cluvfy command options> TMPDIR=/tmp ECHO=/bin/echo RM=/bin/rm MKDIR=/bin/mkdir case `/bin/uname` in Linux) UNZIP=/usr/bin/unzip DIRNAME=/usr/bin/dirname ;; HP-UX) UNZIP=/usr/bin/unzip DIRNAME=/bin/dirname ;; SunOS) UNZIP=/usr/bin/unzip DIRNAME=/bin/dirname ;; AIX) DIRNAME=/bin/dirname UNZIP=/usr/bin/unzip if [ -f $UNZIP ] then UNZIP=/usr/bin/unzip else UNZIP=/usr/local/bin/unzip fi ;; OSF1) UNZIP=/usr/bin/unzip DIRNAME=/usr/bin/dirname ;; *) $ECHO "ERROR: Unknown Operating system" exit -1; ;; esac EXEC_DIR=`$DIRNAME $0` CVUZIP_FILE=$EXEC_DIR/cvupack.zip JREZIP_FILE=$EXEC_DIR/jrepack.zip # Setup CV_HOME environment variable for cluvfy # This variable points to the home for cluster verification software. # If not set by the caller of this script, it points (by default) # to temporary directory if [ "X$CV_HOME" = "X" ] then CV_HOME=$TMPDIR/$$ else CV_HOME=$CV_HOME/$$ fi $RM -rf $CV_HOME $MKDIR -p $CV_HOME export CV_HOME # Setup CV_JDKHOME environment variable for cluvfy # This variable points to the java package required by cluster verification # framework # If this varible isn't set by the caller of this script, the jrepack.zip # archive is unpacked in $CV_HOME/jre directory and this directory is set in # CV_JDKHOME if [ "X$CV_JDKHOME" = "X" ] then if [ ! -f $JREZIP_FILE ]; then $ECHO "\"$JREZIP_FILE\" does not exist." $ECHO "ERROR. Either CV_JDKHOME environment variable should be set" $ECHO " or $JREZIP_FILE should exist." exit 1 else $UNZIP -o $JREZIP_FILE -d $CV_HOME/jre >/dev/null 2>&1 EXEC_STATUS=$? if [ $EXEC_STATUS != "0" ]; then $ECHO The unzip of archive file $JREZIP_FILE failed exit 1 fi CV_JDKHOME=$CV_HOME/jre export CV_JDKHOME fi fi # Setup CV_DESTLOC environment variable for cluvfy # This variable points to a directory on each (remote as well as local) node # that is writable. The cluster verifcation tool will copy the required # software bits (on need basis) to this directory. # If not set by the caller of this script, it points (by default) # to temporary directory if [ "X$CV_DESTLOC" = "X" ] then CV_DESTLOC=$TMPDIR fi export CV_DESTLOC # Unpack the cluster verification software archive on its home $UNZIP -o $CVUZIP_FILE -d $CV_HOME >/dev/null 2>&1 EXEC_STATUS=$? if [ $EXEC_STATUS != "0" ]; then $ECHO The unzip of archive file $CVUZIP_FILE failed exit 1 fi # Execute the requested cluster verification command ${CV_HOME}/bin/cluvfy "$@" EXEC_STATUS=$? # Cleanup the home for cluster verification software $RM -rf $CV_HOME # Return the status of executed cluster verification command exit $EXEC_STATUS
從以上內(nèi)容:
AIX) DIRNAME=/bin/dirname UNZIP=/usr/bin/unzip
可以看到,在執(zhí)行腳本時(shí)需要執(zhí)行“unzip”,執(zhí)行路徑為“/usr/bin/unzip"
查看本機(jī)unzip可執(zhí)行文件位置:
[root@aix230:/u01/soft/Disk1/cluvfy]#which unzip
/u01/crs_1/bin/unzip
竟然不在"/usr/bin"下
拷貝unzip到"/usr/bin"下
[root@aix230:/u01/soft/Disk1/cluvfy]#cp /u01/crs_1/bin/unzip /usr/bin [root@aix230:/u01/soft/Disk1/cluvfy]#which unzip /usr/bin/unzip
然后執(zhí)行:
[root@aix230:/u01/soft/Disk1/cluvfy]#/u01/soft/Disk1/cluvfy/runcluvfy.sh -h
USAGE: cluvfy [ -help ] cluvfy stage { -list | -help } cluvfy stage {-pre|-post} <stage-name> <stage-specific options> [-verbose] cluvfy comp { -list | -help } cluvfy comp <component-name> <component-specific options> [-verbose]
@至此,問題得以解決!?。?br />
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。