Oracle在Linux下自动启动

Linux中在Oracle安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,你可以通过手动调用dbstart命令来进行启动,不过这样似乎也很繁琐.我们可以通过配置Oracle的自动启动脚本,然后利用Linux的Service来启动Oracle服务器.

首先在/etc/init.d/目录下配置Oracle的服务文件.

  1. touch oracle10g
  2. chmod a+x oracle10g

然后编辑此oracle10g文件.内容如下.

# !/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# /etc/init.d/oracle10g
# description: starts the oracle dabase deamons
#
ORA_HOME=/oracle/product/10.2.0/db_1/
ORA_OWNER=oracle
case "$1" in
start)
echo -n "Starting oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
touch /var/lock/subsys/oracle10g
echo
;;

stop)
echo -n "shutting down oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle10g
echo
;;

restart)
echo -n "restarting oracle10g: "
$0 stop
$0 start
echo
;;
*)
echo "Usage: `basename $0` start|stop|restart"
exit 1

esac
exit 0

保存文件,退出以后,添加并启动察看服务.

  1. /sbin/chkconfig --add oracle10g
  2. /sbin/chkconfig --list oracle10g

重新启动Linux的时候,如果看到启动项Oracle出现OK,代表Oracle成功随Linux启动了.

注意:

这样的脚本启动一般不会启动实例,如果想让实例也随脚本一起启动的话,就需要修改文件:/etc/oratab
如果这个文件不存在,那么就得运行脚本文件产生它.ex:

  1. sh /oracle/product/10.2.0/db_1/root.sh

比如我的oratab代码如下:

#


# This file is used by ORACLE utilities.  It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.

# A colon, ':', is used as the field terminator.  A new line terminates
# the entry.  Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively.  The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
orcl:/oracle/product/10.2.0/db_1:N

只要在这里设置好后,在配合上面的脚本,即可实现开机自动启动oracle以及实例了.

在dbstart文件中的默认ORACLE_HOME_LISTNER可能是不正确的,编辑dbstart文件
vi dbstar
将该行改为ORACLE_HOME_LISTNER=$ORACLE_HOME
保存退出,然后执行dbstart就没问题了。

你可能感兴趣的:(oracle)