Linux下建立Oracle 11.2.0.1服务及其开机自启动

我的环境变量:
ORACLE_SID=bao
ORACLE_UNQNAME=$ORACLE_SID
ORACLE_BASE=/bao1
ORACLE_HOME=$ORACLE_BASE/oracle

Oracle在$ORACLE_HOME/bin下提供许多对数据库进行操作的脚本,其中dbstart和dbshut可分别用来启动和关闭数据库。注意,这两个脚本已包含监听器的启动或关闭,但并未对EM进行相关的操作。使用如下命令:

/opt/oracle/11g/bin/dbstart /opt/oracle/11g #启动数据库实例(包含监听器) /opt/oracle/11g/bin/dbshut /opt/oracle/11g #关闭数据库实例(包括监听器)

 

以上命令要成功启动数据库实例还得打开Oracle设置的一个关卡:vi /etc/oratab,修改行:

orcl:/opt/oracle/11g:Y #默认为orcl:/opt/oracle/11g:N

以root身份建立开机启动oracle服务的脚本:vi /etc/init.d/oracle,添加如下脚本:

#!/bin/sh
#chkconfig: 2345 20 80
#description: Oracle dbstart / dbshut
#以上两行为chkconfig所需
ORA_HOME=/baofoo1/oracle
ORA_OWNER=oracle
LOGFILE=/baofoo1/oracle/startup.log
echo "#################################" >> ${LOGFILE}
date +"### %T %a %D: Run Oracle" >> ${LOGFILE}
if [ ! -f ${ORA_HOME}/bin/dbstart ] || [ ! -f ${ORA_HOME}/bin/dbshut ]; then
    echo "Error: Missing the script file ${ORA_HOME}/bin/dbstart or ${ORA_HOME}/bin/dbshut!" >> ${LOGFILE}
    echo "#################################" >> ${LOGFILE}
    exit
fi
start(){
    echo "###Startup Database..."
    su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbstart ${ORA_HOME}"
    echo "###Done."
}
stop(){
    echo "###Shutdown Database..."
    su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
    echo "###Done."
}
case "$1" in
    'start')
        start >> ${LOGFILE}
    ;;
    'stop')
        stop >> ${LOGFILE}
    ;;
    'restart')
        stop >> ${LOGFILE}
        start >> ${LOGFILE}
    ;;
esac
date +"### %T %a %D: Finished." >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
echo ""

使用如下命令将 /etc/init.d/oracle 置为可执行文件:

chmod a+x /etc/init.d/oracle

 

至此,可使用如下命令对oracle进行启动和关闭

/etc/init.d/oracle start #启动oracle(包括数据库实例、监听器、EM) /etc/init.d/oracle stop #关闭oracle /etc/init.d/oracle restart #重启oracle

 

将 oracle 添加到 chkconfig中:

chkconfig --add oracle

 

可使用如下命令查看和设置oracle服务的开机启动级别:

chkconfig | grep oracle #查看oracle服务的开机启动级别
chkconfig --level 24 oracle off #修改oracle服务的开机启动级别
chkconfig --level 35 oracle on

 

至此可使用如下命令对oracle的启动或关闭进行管理

service oracle start #启动
service oracle stop #关闭
service oracle restart #重启

 建立连接:

ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   #关机执行 ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   #重启执行

 

你可能感兴趣的:(Linux下建立Oracle 11.2.0.1服务及其开机自启动)