您的位置:首页 > 数据库 > Oracle

linux下oracle设置开机自启动实现方法

2016-09-20 15:01 615 查看
1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用。
# vi /etc/oratab
orcl:/opt/oracle/102:Y

# Entries are of the form:
#
$ORACLE_SID:$ORACLE_HOME:<N|Y>:

2. 在 /etc/init.d/ 下创建文件oracle,内容如下:

#!/bin/sh
# chkconfig: 35 80 10
#
description: Oracle auto start-stop script.
#
# Set ORA_HOME to be
equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and
dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
#
Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle

if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot
start"
exit
fi
case "$1" in
'start')
# Start the Oracle
databases:
echo "Starting Oracle Databases ... "
echo
"-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Starting Oracle Databases as part of system up." >>
/var/log/oracle
echo "-------------------------------------------------"
>> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"
>>/var/log/oracle
echo "Done"
# Start the Listener:
echo
"Starting Oracle Listeners ... "
echo
"-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Starting Oracle Listeners as part of system up." >>
/var/log/oracle
echo "-------------------------------------------------"
>> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
>>/var/log/oracle
echo "Done."
echo
"-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Finished." >> /var/log/oracle
echo
"-------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle
;;
'stop')
# Stop the Oracle
Listener:
echo "Stoping Oracle Listeners ... "
echo
"-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Stoping Oracle Listener as part of system down." >>
/var/log/oracle
echo "-------------------------------------------------"
>> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
>>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
#
Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo
"-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Stoping Oracle Databases as part of system down."
>> /var/log/oracle
echo
"-------------------------------------------------" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo
"Done."
echo ""
echo "-------------------------------------------------"
>> /var/log/oracle
date +" %T %a %D : Finished." >>
/var/log/oracle
echo "-------------------------------------------------"
>> /var/log/oracle
;;
'restart')
$0 stop
$0 start

;;
esac

3. 改变文件权限

# chmod 755 /etc/init.d/oracle

4. 添加服务
# chkconfig --level 35 oracle on

5. 需要在关机或重启机器之前停止数据库,做一下操作
# ln -s /etc/init.d/oracle
/etc/rc0.d/K01oracle //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle
//重启

6. 使用方法
# service oracle start //启动oracle
# service oracle
stop //关闭oracle
# service oracle restart //重启oracle
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle linux database