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

启动Linux 的时候实现oracle数据库与Tomcat web服务器与操作系统一同关闭与启动

2007-03-02 20:49 956 查看
启动Linux 的时候实现oracle数据库与Tomcat web服务器与操作系统一同关闭与启动

最近做开发时,发觉每次重新启动服务器时,
必须启动oracle
然后启动TOMCAT WEB服务。
感觉这样麻烦,想到能否使数据库与web服务器与操作系统一同关闭与启动。
经过摸索,我最初的想法实现了,因此想把它写出来,与大家交流。
服务器环境:
RedHat Advance Server2.1(Red Hat Enterprise Linux AS release 3 (Taroon))
Oracle 10.1.0.3.0 for Linux
Apache Tomcat/5.5.20 for Linux
一、 oracle自动启动与停止
1、 修改Oracle系统配置文件/etc/oratab
/etc/oratab 格式为: SID:ORACLE_HOME:AUTO
把AUTO域设置为Y(大写),只有这样,oracle 自带的dbstart和dbshut才能够发挥作用。我的为:
ora10:/home/oracle/product/10.1.0:Y

2、 编写服务脚本:如下:

########################################################################
# Shell script to start/stop ORACLE from the /etc/rc[03].d directory #
########################################################################
# Note: $ORACLE_HOME and $ORACLE_USER is machine dependent! #
########################################################################
### SETUP ORACLE ENVIRONMENT ###
ORACLE_SID=ora10; export ORACLE_SID
ORACLE_USER=oracle; export ORACLE_USER
ORACLE_BASE=/home/oracle; export ORACLE_BASE
ORACLE_HOME=/home/oracle/product/10.1.0; export ORACLE_HOME
ORACLE_TERM=ansi; export ORACLE_TERM
J***A_FONTS=/usr/share/fonts/zh_CN/TrueType/; export J***A_FONTS
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:/usr/local/tomcat5/common/lib/classes12.jar
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=.:$ORACLE_HOME/bin:$PATH
export PATH

case $1 in
'start' ) echo Start ORACLE database ... //c
su $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart"
su $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
su $ORACLE_USER -c "$ORACLE_HOME/bin/isqlplusctl start"
su $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
echo done
;;
'stop' ) echo Stop ORACLE database ... //c
su $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop tcp_listener"
su $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su $ORACLE_USER -c "$ORACLE_HOME/bin/isqlplusctl stop"
su $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
echo done
;;
*) echo "usage: $0 {start|stop}"
;;
esac

将脚本命名为oracle,保存在/etc/rc.d/init.d下
改变文件属性:chmod 755 oracle

注意:在windows下编辑此文件时有DOS格式字符导致在linux下不能够正常运行,建议用gedit 或用 vi编辑
3、建立服务连接:
系统启动时启动数据库,我们需要以下连结∶
$ 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/rc5.d/S99oracle #rc4.d unused

--------------------------------------------------------------------------------

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

--------------------------------------------------------------------------------

$ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # 停止
$ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle # 重新启动

二Tomcat作为Linux系统服务自启动设置
. 简单的方法
最简单的方法就是通过Tomcat自带的startup.sh来自动启动,编辑/etc/rc.d/rc.local,增加:
export JDK_HOME=/usr/local/jdk //JDK的目录 如果不是的话加入一个ln -s /usr/java/jdk1.5.0_09 /usr/local/jdk
export J***A_HOME=/usr/local/jdk
/usr/local/tomcat/bin/startup.sh

注释:
linux的自启动文件(简单方法)
要实现linux开始未登录的时候就执行某些文件,可以在/etc/rc.local文件里边添加要执行的命令或文件.
要实现某个用户登录后自动执行某些文件,可以在这个用户的根目录下,找到.bash_profile这个文件,用vi编辑添回自己执行的命令和文件.
要实现某个用户退出的时候执行某些文件,同上,在根目录下找到.bash_logout这个文件,编写自己想要的.

三、检查

检查vsftp的启动
ftp登陆自己

检查oracle
sqlplus system/manager
看是否能够登陆

检查tomcat的启动
netstat -an|grep 8181

四、 解释:
默认LINUX不启动KDE2006-10-25 16:25默认linux启动不登陆到图形界面
/etc/inittab
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)

# id:5:initdefault: 5改 //这个地方分别代表启动的级别

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

linux启动时:
图形界面 :自动调用/etc/rc.d/rc5.d下的符号连接名称以S开头(意为:start/启动)的脚本文件所指的服务,并自动传递命令行参数 start。
Linux关闭时:
图形界面 :自动调用/etc/rc.d/rc5.d下的符号连接名称以K开头(意为:kill/关闭)的文件所指的服务,并自动传递命令行参数 stop。

其它运行级别与此类似(具体可以参照/etc/rc.d/rc脚本)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐