一. 打开oracle设置的一个关卡
输入命令# vi /etc/oratab ,如图所示进行修改:
二. 以root身份建立开机启动oracle服务的脚本
# vi /etc/init.d/oracle
#!/bin/sh
#chkconfig: 2345 20 80
#description: Oracle dbstart / dbshut
#以下请根据安装oracle时的具体情况进行修改
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
LOGFILE=/var/log/oracle.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."
echo "###Run database control..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl start dbconsole"
echo "###Done."
}
stop(){
echo "###Stop database control..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl stop dbconsole"
echo "###Done."
echo "###Shutdown Database..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
echo "###Done."
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
esac
date +"### %T %a %D: Finished." >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
echo ""
三. 使用如下命令将 /etc/init.d/oracle 置为可执行文件
# chmod a+x /etc/init.d/oracle
四. 将 oracle 添加到 chkconfig中(开机自启动)
# chkconfig --add oracle
至此可使用如下命令对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 #重启执行
至此就配置完毕,reboot一下,切换到oracle用户,用sqlplus命令看能否连接到oracle了吧
$ sqlplus system/密码
当然,你还可以
查看和设置oracle服务的开机启动级别:
# chkconfig | grep oracle #查看oracle服务的开机启动级别
# chkconfig --level 24 oracle off #修改oracle服务的开机启动级别
# chkconfig --level 35 oracle on
level级别说明:
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
对 #chkconfig: 2345 20 80 的解释:这个就是服务默认在2345运行级别是开启的。20 启动顺序,是服务在/etc/rcx.d文件里面的顺序。这组数字就是系统启动的时候服务启动的优先级---数字越小,优先级越高,也就是启动的时候数值越小越先启动; 80 停止顺序,这组数值就是系统关闭的时候关闭服务的优先级---数字越小,优先级越高,也就是关闭的时候数值越小越先关闭