Debian配置Oracle 10g自启动

梦想的初衷 提交于 2020-03-02 08:34:08
linux平台下默认安装的oracle 10g数据库是没有启动而且不会随系统自动启动的。

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

1、配置/etc/oratab 文件

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

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

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

3、运行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

4、创建启动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.local

增加/etc/init.d/oracle start

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

#/etc/init.d/oracle start|stop|status|restart
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!