ITPub博客

首页 > 数据库 > Oracle > 配置oracle随系统启动和关闭

配置oracle随系统启动和关闭

Oracle 作者:desert_xu 时间:2017-01-12 15:50:19 0 删除 编辑
1、修改/etc/oratab文件
将需要随操作系统自启动的数据库由N修改为Y
lis:/u01/app/oracle/product/11.2.0/db_1:N
修改为:
lis:/u01/app/oracle/product/11.2.0/db_1:Y

2、编辑dbstart和dbshut脚本,修改监听变量为oracle家目录
$ cd $ORACLE_HOME/bin
$ vi dbstart

ORACLE_HOME_LISTNER=$1
修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
以同样的方式修改dbshut脚本

3、编写/etc/init.d/oracle脚本
vi /etc/init.d/oracle
其中脚本开头的ORACLE_HOME变量和日志文件需要根据实际情况设定
内容如下:
#!/bin/bash
#chkconfig: 345 99 01
ORACLE_LOG_FILE=/var/log/oracle
ORACLE_HOME=/oracle/product/11.2.0/db_1

case $1 in
start)
date +"%F %X" >> $ORACLE_LOG_FILE
echo "Starting Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
touch /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbstart $ORACLE_HOME >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Started Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "-------------------------------------------------------------------" >> $ORACLE_LOG_FILE
;;

stop)
date +"%F %X" >> $ORACLE_LOG_FILE
echo "Shutting Down Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
rm -rf /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbshut $ORACLE_HOME >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Stopped Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "-------------------------------------------------------------------" >> $ORACLE_LOG_FILE
;;

restart)
date +"%F %X" >> $ORACLE_LOG_FILE
echo "Shutting Down Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
rm -rf /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbshut $ORACLE_HOME >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Stopped Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "Starting Oracle Databases and Listener:" >> $ORACLE_LOG_FILE
touch /var/lock/subsys/oracle
su - oracle -c $ORACLE_HOME/bin/dbstart $ORACLE_HOME >> $ORACLE_LOG_FILE
echo "Oracle Databases and Listener Started Successfully!" >> $ORACLE_LOG_FILE
echo ""
echo "-------------------------------------------------------------------" >> $ORACLE_LOG_FILE
;;

*)
echo "Usage: Oracle {start|stop|restart}"
exit 1
;;

esac
exit

4、修改脚本的权限:
chmod 750 /etc/init.d/oracle

5、测试启动关闭脚本是否能正常运行
测试启动监听器和数据库:
$ service oracle start
测试关闭监听器和数据库:
$ service oracle stop
测试重启oracle监听器和数据库:
$ service oracle restart
通过使用lsnrctl status来检查监听器的状态
通过使用ps -ef | grep ora_来检查实例的状态

6、将oracle添加为服务,并设置为345级别启动:
# chkconfig --add oracle
# chkconfig --list | grep oracle

7、如果数据库已经启动,没法停机,最好以root用户创建下面锁的文件
这样下次关机的时候才会自动关闭oracle
touch /var/lock/subsys/oracle

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21980353/viewspace-2132346/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-10-23

  • 博文量
    79
  • 访问量
    243456