搜索
查看: 1417|: 0

【Oracle】linux配置oracle随系统启动和关闭

[复制链接]

205

主题

5

回帖

755

积分

高级会员

积分
755
发表于 2014-11-18 15:17:25 | 显示全部楼层 |阅读模式
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 (一定要加,否则chkconfig --add oracle 报错 service oracle does not support chkconfig )
#description:start oracle (一定要加,否则chkconfig --add oracle 报错 service oracle does not support chkconfig )
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_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_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_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_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

8.相关脚本路径:
dbshut/dbstart $ORACLE_HOME/bin/
oracle /etc/init.d/

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-11-15 21:47 , Processed in 0.093389 second(s), 24 queries .

快速回复 返回顶部 返回列表