Debian配置Oracle 10g自启动

linux平台下默认安装的oracle 10g数据库是没有启动并且不会随系统自动启动的。

配置oracle 10g数据库自启动的步骤以下:

一、配置/etc/oratab 文件

oratab文件中项的格式为
$ORACLE_SID:$ORACLE_HOME:N|Y
每一个$ORACLE_SID只能有一个项
默认安装后,入口项的最后是N,将N修改成Y,使其能够经过dbstart工具启动

二、配置$Oracle_HOME/bin/dbstart文件

将dbstart文件中大约78行的ORACLE_HOME_LISTNER变量的值修改成$ORACLE_HOME所在的路径,此处为
ORACLE_HOME_LISTNER=/u01/app/oracle/product/10.2.0/db_1

三、运行dbstart,dbshut测试数据库是否正确启动和关闭

以oracle用户登录,执行如下命令进行测试

$ dbstart
$ ps aux | grep ora_
$ ps aux | grep LISTEN
$ lsnrctl status
$ dbshut

数据库启动的日志文件为$ORACLE_HOME/startup.log,关闭的日志文件为$ORACLE_HOME/shutdown.log,监听器的日志文件$ORACLE_HOME/listener.log

四、建立启动init脚本

以root用户在/etc/init.d目录下建立文件oracle,其内容以下
#!/bin/sh

### BEGIN INIT INFO
# Provides: oracle
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description:oracle database init script
# Description: starts and stops oracle database and listeners
### END INIT INFO

set -e

ORACLE_HOME="/var/oracle/product/10.2.0/db_1"
ORACLE_OWNER="oracle"

do_start() {
    echo "starting oracle databases..."
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" >> /var/log/oracle
    touch /var/lock/oracle
    echo "ok"
}

do_stop() {
    echo "Stopping oracle databases..."
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" >> /var/log/oracle
    rm -f /var/lock/oracle
    echo "ok"
}

status() {
    if [ -f /var/lock/oracle ]; then
        echo "oracle database is running."
    else
        echo "oracle database is not running."
    fi
}

case "$1" in
    start)
        do_start
        ;;
    stop)
        do_stop
        ;;
    restart)
        do_stop
        do_start
        ;;
    reload)
        ;;
    force-reload)
        ;;
    status)
        status
        ;;
    *)
        echo "$0 {start|stop|restart|reload|force-reload|status}"
esac

exit 0


方法1:
而后在各个运行级对应的启动脚本目录下建立符号链接
#update-rc.d oracle defaults

还有一点,由于init脚本是用su切换到oracle用户执行数据库启动和关闭的,因此为了设置用户资源限制,须要为/etc/pam.d/su文件增添下面的行
session required pam_limits.so

方法2:

编辑/etc/init.d/rc.locallinux

增长/etc/init.d/oracle startshell

配置完毕后,oracle数据库会随系统自动启动和关闭,手工控制以debian常见的方式进行

#/etc/init.d/oracle start|stop|status|restart
相关文章
相关标签/搜索