关闭oracle脚本,oracle启动和关闭脚本for Linux

:Y

orcl1:/apps/oracle/product/:N

To

start and stop the database when the machine comes up and goes down by modifying

the startup routines for the Linux machine. This is quite easy, although I

should point out here that this may change depending on which flavour of Linux

(Slackware, Debian, RedHat, etc).

I will show examples which work for

Redhat Linux. To modify these for your own flavour of Linux, please see your

Linux documentation sets. (Although it should hold true for any Sys V type

UNIX).

Firstly, we need to create the script. which will run dbshut

and dbstart in the /etc/rc.d/init.d directory. Create the following file as

/etc/rc.d/init.d/oracle:

#!/bin/sh

#

#

/etc/rc.d/init.d/oracle

# Description: Starts and stops the Oracle database

and listeners

# See how we were called.

case "$1"

in

start)

echo -n "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 - oracle -c dbstart >> /var/log/oracle

echo

"Done."

echo -n "Starting Oracle Listeners: "

su - oracle -c "lsnrctl

start" >> /var/log/oracle

echo "Done."

echo ""

echo

"----------------------------------------------------" >>

/var/log/oracle

date +"! %T %a %D : Finished." >>

/var/log/oracle

echo "----------------------------------------------------"

>> /var/log/oracle

touch

/var/lock/subsys/oracle

;;

stop)

echo -n "Shutting Down Oracle

Listeners: "

echo "----------------------------------------------------"

>> /var/log/oracle

date +"! %T %a %D : Shutting Down Oracle Databases

as part of system down." >> /var/log/oracle

echo

"----------------------------------------------------" >>

/var/log/oracle

su - oracle -c "lsnrctl stop" >>

/var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle

echo

-n "Shutting Down Oracle Databases: "

su - oracle -c dbshut >>

/var/log/oracle

echo "Done."

echo ""

echo

"----------------------------------------------------" >>

/var/log/oracle

date +"! %T %a %D : Finished." >>

/var/log/oracle

echo "----------------------------------------------------"

>> /var/log/oracle

;;

restart)

echo -n "Restarting Oracle

Databases: "

echo "----------------------------------------------------"

>> /var/log/oracle

date +"! %T %a %D : Restarting Oracle Databases as

part of system up." >> /var/log/oracle

echo

"----------------------------------------------------" >>

/var/log/oracle

su - oracle -c dbstop >> /var/log/oracle

su -

oracle -c dbstart >> /var/log/oracle

echo "Done."

echo -n

"Restarting Oracle Listeners: "

su - oracle -c "lsnrctl stop" >>

/var/log/oracle

su - oracle -c "lsnrctl start" >>

/var/log/oracle

echo "Done."

echo ""

echo

"----------------------------------------------------" >>

/var/log/oracle

date +"! %T %a %D : Finished." >>

/var/log/oracle

echo "----------------------------------------------------"

>> /var/log/oracle

touch

/var/lock/subsys/oracle

;;

*)

echo "Usage: oracle

{start|stop|restart}"

exit 1

esac

It is worth checking that

this file actually correctly stops and starts the databases for your system.

Check the log file, /var/log/oracle for error messages.

Once this

script. is working we need to create start and kill symbolic links in the

appropriate runlevel directories /etc/rc.d/rcX.d.

The following

commands will ensure that the databases will come up in runlevels 2,3 and

4:

$ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle

$ ln -s

../init.d/oracle /etc/rc.d/rc3.d/S99oracle

$ ln -s ../init.d/oracle

/etc/rc.d/rc4.d/S99oracle

To stop the databases on reboot or restart

we need the following links:

$ ln -s ../init.d/oracle

/etc/rc.d/rc0.d/K01oracle # Halting

$ ln -s ../init.d/oracle

/etc/rc.d/rc6.d/K01oracle # Rebooting

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值