1.创建启动监听器及数据库的shell脚本
以Oracle用户在$ORACLE_HOME/bin目录下面创建shell脚本 :
启动:
#!/bin/bash
lsnrctl start
sqlplus /nolog <<EOF
conn / as sysdba
startup
EOF
关闭:
#!/bin/bash
lsnrctl stop
sqlplus /nolog <<EOF
conn / as sysdba
shutdown immediate
EOF
2.创建系统启动、关闭时自动执行的shell脚本
以Oracle用户登录系统,在/etc/init.d目录下面创建Oracle脚本文件 :
#!/bin/bash
ORACLE_HOME=/u01/app/oracle/10.2.0/db_1
case "$1" in
start)
echo "Starting Oracle Listener and Database!!!"
echo "=======================================" >> /var/log/oracle
echo "[`date +%y%m%d/%H:%M:%S`]"+" : Starting Oracle Listener and Database !!!" >> /var/log/oracle
echo "=======================================" >> /var/log/oracle
su - oracle -c "\$ORACLE_HOME/bin/dbstart_hrr.sh" >> /var/log/oracle
echo "Done!!!"
echo ""
echo "=======================================" >> /var/log/oracle
echo "[`date +%y%m%d/%H:%M:%S`]"+" :Finished!!!" >> /var/log/oracle
echo "=======================================" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
echo "=======================================" >> /var/log/oracle
echo "[`date +%y%m%d/%H:%M:%S`]"+": Stop Oracle Listener and Database !!!" >> /var/log/oracle
echo "=======================================" >> /var/log/oracle
su - oracle -c "\$ORACLE_HOME/bin/dbstop_hrr.sh" >> /var/log/oracle
rm -f /var/lock/subsys/oracle
echo "Done!!!"
echo ""
echo "=======================================" >> /var/log/oracle
echo "[`date +%y%m%d/%H:%M:%S`]"+":Finished!!!" >> /var/log/oracle
echo "=======================================" >> /var/log/oracle
;;
restart)
echo "Restarting Oracle Listener and Database!!!"
echo "=======================================" >> /var/log/oracle
echo "[`date +%y%m%d/%H:%M:%S`]"+" : Starting Oracle Listener and Database !!!" >> /var/log/oracle
echo "=======================================" >> /var/log/oracle
su - oracle -c "\$ORACLE_HOME/bin/dbstop_hrr.sh" >> /var/log/oracle
su - oracle -c "\$ORACLE_HOME/bin/dbstart_hrr.sh" >> /var/log/oracle
echo "Done!!!"
echo ""
echo "=======================================" >> /var/log/oracle
echo "[`date +%y%m%d/%H:%M:%S`]"+" :Finished!!!" >> /var/log/oracle
echo "=======================================" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
*)
echo "Usage oracle {start|stop|restart}"
exit 1
esac