在soalris下自动启动 oracle

    技术2022-06-29  51

    1、首先编写一个sh文件/etc/init.d/dbora,内容如下:

    #!/bin/sh# set ORACLE_HOME to be equivalent to the ORACLE_HOME# from which you wish to execute dbstart and dbshut#ORA_HOME=/export/home/oracle/product/10.2.0ORA_OWNER=oracle#if [ ! -f $ORA_HOME/bin/dbstart ] ; then    echo "oracle startup:cannot start"    exitficase "$1" in'start' )    su $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"    ;;'stop')    su $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"    ;;*)        echo "usage: $0 {start|stop}"        exit        ;;esac#exit

    2、建立启动与关闭连接

    #ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora

    #ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora

    系统启动时rc2.d文件夹下,脚本启动默认参数start

    系统关闭时rc0.d文件夹下,脚本停止默认参数stop

     

    3、dbstart脚本修改

    安装之后的dbstart脚本有问题,需要根据错误提示修改a. 修改/var/opt/oracle/oratab文件,把需要自动启动的实例的条目的最后一个字母改为“Y”orcl:/export/home/oracle/product/10.2.0:Yb. 修改$ORACLE_HOME/bin/dbstart脚本Oracle 10.2.0.1.0自带的dbstart脚本根据操作系统以及系统版本的不同可能会需要进行细微的调整。在Solaris10 x86 6/06版本中你可能需要对以下进行内容:1).修改VER10LIST变量export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`拆成两行,如下所示:VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`export VER10LIST

    2). 修改COUNT的迭加计算表达式COUNT=$((COUNT+1)) 替换为 ((COUNT=COUNT+1))

     

    3).在只有系统表情况下临时屏蔽

    ...

    #if [ -e $SPFILE -o -e $SPFILE1 -o -e $PFILE ] ; then

    ...

    #else    #  $LOGMSG ""     #  $LOGMSG "Can't find init file for ${INST} /"${ORACLE_SID}/"."     #  $LOGMSG "Error: ${INST} /"${ORACLE_SID}/" NOT started." #fi

     

    4.reboot


    最新回复(0)