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
相關文章
相關標籤/搜索