自动启动 oracle 数据库

自动启动 oracle 数据库

我正在使用 Fedora 8 和 Oracle 10g Express Edition。

每次启动 Fedora 时我都必须单击“启动数据库”。

如何将 startdb.sh 添加到启动中以便它在 Fedora 启动时自动执行?

我曾尝试添加路径/etc/rc.d/rc.local但它仍然不起作用。

./usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/startdb.sh

我甚至尝试添加这个脚本/etc/init.d/oracle

#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance

ORA_HOME="/u01/app/oracle/product/9.2.0.1.0"
ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
        echo "Oracle startup: cannot start"
        exit 1
fi

# depending on parameter -- startup, shutdown, restart 
# of the instance and listener or usage display 

case "$1" in
    start)
        # Oracle listener and instance startup
        echo -n "Starting Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
        touch /var/lock/subsys/oracle
        echo "OK"
        ;;
    stop)
    # Oracle listener and instance shutdown
        echo -n "Shutdown Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
        rm -f /var/lock/subsys/oracle
        echo "OK"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 start|stop|restart|reload"
        exit 1
esac
exit 0

甚至这也不起作用。

startdb.sh 位于 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/startdb.sh

谢谢。

答案1

答案2

检查 /etc/init.d/oracle 的执行权限。通过运行进行测试/etc/init.d/oracle start,它应该会尝试为您启动 oracle。

检查 /etc/oratab 在自动启动列中是否有为您的数据库标记为 Y 的条目。

使用 检查您是否有 rc.d 链接ls /etc/rc?.d/*oracle。应该有几个 K19oracle 和 S91oracle 条目。如果没有,请运行chkconfig /etc/init.d/oracle并重新检查。

相关内容