数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

讲解linux环境下Oracle的自动启动与停止


发布日期:2023年06月18日
 
讲解linux环境下Oracle的自动启动与停止

修改Oracle系统配置文件/etc/oratab

/etc/oratab 格式为 SID:ORACLE_HOME:AUTO

把AUTO域设置为Y(大写)只有这样oracle 自带的dbstart和dbshut才能够发挥作用我的为

orai:/home/oracle/ora/products/:Y

编写服务脚本

如下

#!/bin/bash

#

#################FUNCTION#############

#

# AutoStart Oracle and listener

# AutoStop Oracle and listener

#

#####################################

#

# Created by ZhouYS

#

case $ in

start)

echo Starting Oracle Databases

echo >> /var/log/oracle

date + %T %a %D : Starting Oracle Databasee as part of system up >> /var/log/oracle

echo >> /var/log/oracle

su oracle c dbstart >> /var/log/oracle

echo Done

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 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 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 oracle c lsnrctl stop >> /var/log/oracle

echo Done

rm f /var/lock/subsys/oracle

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 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)

$ stop

$ start

;;

*)

echo Usage: oracle {start|stop|restart}

exit

esac

将脚本命名为oracle保存在/etc/rcd/initd下

改变文件属性chmod oracle

注意在windows下编辑此文件时有DOS格式字符导致在linux下不能够正常运行建议用gedit 或用 vi编辑

建立服务连接

系统启动时启动数据库我们需要以下连结∶

$ ln s /initd/oracle /etc/rcd/rcd/Soracle

$ ln s /initd/oracle /etc/rcd/rcd/Soracle

$ ln s /initd/oracle /etc/rcd/rcd/Soracle #rcd unused

要在重新启动时停止数据库我们需要以下连结∶

$ ln s /initd/oracle /etc/rcd/rcd/Koracle # 停止

$ ln s /initd/oracle /etc/rcd/rcd/Koracle # 重新启动

上一篇:Oracle物化视图:创建最简单物化视图

下一篇:oracle体系结构必须先了解的两个基本的概念