zoukankan      html  css  js  c++  java
  • 安装oracle 10g RAC执行的几个脚本说明

    1,/u01/app/oracle/oraInventory/orainstRoot.sh 脚本 

    #!/bin/sh
    if [ -d "/etc" ]; then
    chmod 755 /etc;
    fi
    if [ -f "/u01/app/oracle/oraInventory/oraInst.loc" ]; then
    cp /u01/app/oracle/oraInventory/oraInst.loc /etc/oraInst.loc;
    else
    INVPTR=/etc/oraInst.loc
    INVLOC=/u01/app/oracle/oraInventory
    GRP=oinstall
    PTRDIR="`dirname $INVPTR`";
    # Create the software inventory location pointer file
    if [ ! -d "$PTRDIR" ]; then
     mkdir -p $PTRDIR;
    fi
    echo "Creating the Oracle inventory pointer file ($INVPTR)";
    echo    inventory_loc=$INVLOC > $INVPTR
    echo    inst_group=$GRP >> $INVPTR
    chmod 644 $INVPTR
    # Create the inventory directory if it doesn't exist
    if [ ! -d "$INVLOC" ];then
     echo "Creating the Oracle inventory directory ($INVLOC)";
     mkdir -p $INVLOC;
    fi
    fi
    echo "Changing permissions of /u01/app/oracle/oraInventory to 770.";
    chmod -R 770 /u01/app/oracle/oraInventory;
    if [ $? != 0 ]; then
     echo "OUI-35086:WARNING: chmod of /u01/app/oracle/oraInventory to 770 failed!";
    fi
    echo "Changing groupname of /u01/app/oracle/oraInventory to oinstall.";
    chgrp oinstall /u01/app/oracle/oraInventory;
    if [ $? != 0 ]; then
     echo "OUI-10057:WARNING: chgrp of /u01/app/oracle/oraInventory to oinstall failed!";
    fi
    echo "The execution of the script is complete"

    从上面的脚步中可以看出,这个脚本的作用是/etc/oraInst.loc文件,并修改/etc和/u01/app/oracle/oraInventory 的权限

     

    2./u01/crs1020/root.sh 脚步

    脚本如下:

    #!/bin/sh
    /u01/crs1020/install/rootinstall
    /u01/crs1020/install/rootconfig

    调用上面的两个脚本

    /u01/crs1020/install/rootinstall 如下

    #!/bin/sh
    #
    # rootinstall.sbs for CRS installs
    #
    #    This is run once per CRS_HOME during the install.  This install specific
    #    root script sets file ownerships, groups, and permissions on 
    #    the files or directories that are to be owned by root user.
    #
    SILENT=false
    CRS_ORACLE_HOME=/u01/crs1020
    CRS_ORACLE_OWNER=oracle
    CRS_DBA_GROUP=oinstall
    
    if [ -z "$CHOWN" ]; then CHOWN=/bin/chown; fi
    if [ -z "$CHGRP" ]; then CHGRP=/bin/chgrp; fi
    if [ -z "$CHMOD" ]; then CHMOD=/bin/chmod; fi
    if [ -z "$ECHO" ]; then ECHO=/bin/echo; fi
    if [ -z "$AWK" ]; then AWK=/bin/awk; fi
    if [ -z "$LS" ]; then LS=/bin/ls; fi
    if [ -z "$ID" ]; then ID=/usr/bin/id; fi
    if [ -z "$MKDIRP" ]; then MKDIRP="/bin/mkdir -p"; fi
    
    usage()
    {
       printf "Usage:"
       printf "$0 [-silent]
    "
       printf "   [-crshome <Oracle CRS home path>]
    "
       printf "   [-crsuser <Name of the user installing Oracle CRS>]
    "
       printf "   [-crsgroup <Name of the user-group installing Oracle CRS>]
    "
    }
    
    validateInput()
    {
       ##validates if any value is assigned to the script variables
       valid=`$ECHO $1 | $AWK '/^%/ { print "false"; }'`
       if [ "$valid" = "false" ];
       then
          $ECHO "No value set for the CRS parameter $2. Use parameter file to set values";
          usage;
          return 1;
       fi
    
       return 0;
    }
    
    # This script is intended to be run by root.
    
    RUID=`$ID|$AWK -F( '{print $2}'|$AWK -F) '{print $1}'`
    if [ ${RUID} != "root" ];then
      $ECHO "You must be logged in as root to run $0."
      $ECHO "Log in as root and restart $0 execution."
      exit 1
    fi
    
    UNAME=/bin/uname
    PLATFORM=`$UNAME`
    
    case $PLATFORM in
    Linux) DIRNAME=/usr/bin/dirname
           ;;
    HP-UX) DIRNAME=/bin/dirname
           ;;
    SunOS) DIRNAME=/bin/dirname
           ;;
    AIX)   DIRNAME=/bin/dirname
           ;;
    OSF1)  DIRNAME=/usr/bin/dirname
           ;;
    *)     DIRNAME=/bin/dirname
           ;;
    esac
    
    USER_ARGS=$*
    
    while [ $# -gt 0 ];
    do
      if [ $1 = "-silent" ]; then
          SILENT=1;
      elif [ $1 = "-crshome" ]; then
        if [ $# -ge 2 ]; then
          CRS_ORACLE_HOME=$2;
          shift;
        else
          usage;
          exit 2
        fi
      elif [ $1 = "-crsuser" ]; then
           if [ $# -ge 2 ]; then
             CRS_ORACLE_OWNER=$2;
             shift;
           else
             usage;
             exit 2
           fi
      elif [ $1 = "-crsgroup" ]; then
           if [ $# -ge 2 ]; then
             CRS_DBA_GROUP=$2;
             shift;
           else
             usage;
             exit 2
           fi
      else
           usage;
           exit 2 
      fi
      shift;
    done
    
    validateInput $CRS_ORACLE_HOME "CRS_ORACLE_HOME" || { $ECHO $?; exit 1; }
    validateInput $CRS_ORACLE_OWNER "CRS_ORACLE_OWNER" || { $ECHO $?; exit 1; }
    validateInput $CRS_DBA_GROUP "CRS_DBA_GROUP" || { $ECHO $?; exit 1; }
    
    ORA_CRS_HOME=$CRS_ORACLE_HOME
    export ORA_CRS_HOME
    CH=$ORA_CRS_HOME
    
    export CRS_ORACLE_HOME
    
    # set ownership to root, but give execute permissions to all
    
    $CHOWN root $CH/bin/crs* 
    $CHMOD 555  $CH/bin/crs* 
    
    # only owner(root) should ever invoke crsd
    
    $CHMOD 744  $CH/bin/crsd
    
    if [ ! -d $CH/crs/init ]; then
       $MKDIRP $CH/crs/init
    fi
    
    $CHOWN root $CH
    $CHMOD 755 $CH 
    
    for d in bin crs crs/init crs/profile crs/script crs/template crs/auth
    do
        $CHOWN root $CH/$d 
        $CHMOD 755 $CH/$d 
    done
    
    # These are writeable by all
    for d in crs/public
    do
        $CHOWN $CRS_ORACLE_OWNER $CH/$d 
        $CHMOD 777 $CH/$d 
    done
    
    for d in evm evm/init
    do
        $CHMOD 750 $CH/$d 
    done
    
    for d in css css/init css/log css/auth
    do
        $CHMOD 711 $CH/$d 
    done
    
    # check directories above $CH are owned by root
    
    d=$CH
    while [ "$d" != "/" ]
    do
        d=`$DIRNAME $d`
        set -$- `$LS -ld $d`
        case $3 in
        root)   ;;      # ok
        *)      $ECHO "WARNING: directory '$d' is not owned by root";;
        esac
    done

    主要是对CRS需要的一些目录权限进行配置

    /u01/crs1020/install/rootconfig这个脚本主要是对CRS进行配置,使CRS服务在服务器重启时自动启动,加入/etc/inittab ,格式化Voting disk等

  • 相关阅读:
    OSPF综合实验一
    OSPF—开放最短路径优先协议详解---附:OSPF LSA 详解
    OSPF--LSA详解
    smfony设置量表之间的关系
    smyfony2 增删改查
    js中substring和substr的用法
    jQuery id模糊 选择器 批量处理
    《内存数据库和mysql的同步机制》
    linux 基本。。
    Django之模板引擎(母版)
  • 原文地址:https://www.cnblogs.com/haoxiaoyu/p/3707639.html
Copyright © 2011-2022 走看看