This website is now static html (since the end of 2010). The pages you see here are a simple wget spider mode crawl of the original wordpress, thus dynamic features like commenting are not working anymore.

Automatic Oracle 10g Startup and Shutdown at Ubuntu Linux system boot


Set the restart flag to “Y” in /etc/oratab, from something like this

dbname:/u01/app/oracle/product/10.2.0/db_1:N

to something like

dbname:/u01/app/oracle/product/10.2.0/db_1:Y

Copy&paste the boot script code that follows into /etc/init.d/dbora (the file dbora doesn’t exists, so create it) and modify the bold values to reflect your installation:

#!/bin/sh
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.

ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME PATH

ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle

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

case "$1" in
    'start')
        # Start the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        su $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
        ;;
    'stop')
        # Stop the Oracle databases:
        # The following command assumes that the oracle login
        # will not prompt the user for any values
        su $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
        ;;
esac

Assign proper script privileges:

chmod 750 /etc/init.d/dbora

Create the symbolic links related to boot runlevels [since I'm a long-time-Slackware-user and pretty new to Ubuntu, I'm not well versed about Ubuntu boot system so feel free to correct me (the comments are at the end of the post)]:

ln -s /etc/init.d/dbora /etc/rc0.d/k01dbora
ln -s /etc/init.d/dbora /etc/rc1.d/k01dbora
ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora
ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
ln -s /etc/init.d/dbora /etc/rc4.d/S99dbora

at the end you should have something like this:

lrwxrwxrwx 1 root root   17 2008-07-16 14:16 /etc/rc0.d/k01dbora -> /etc/init.d/dbora
lrwxrwxrwx 1 root root   17 2008-07-16 14:16 /etc/rc1.d/k01dbora -> /etc/init.d/dbora
lrwxrwxrwx 1 root root   17 2008-07-16 14:16 /etc/rc2.d/S99dbora -> /etc/init.d/dbora
lrwxrwxrwx 1 root root   17 2008-07-16 14:16 /etc/rc3.d/S99dbora -> /etc/init.d/dbora
lrwxrwxrwx 1 root root   17 2008-07-16 14:16 /etc/rc4.d/S99dbora -> /etc/init.d/dbora

Release 2 bug: inside /u01/app/oracle/product/10.2.0/db_1/bin/dbstart there is a bug that will prevent the listener to start (Failed to auto-start Oracle Net Listener using /ade/vikrkuma_new/oracle/bin/tnslsnr); to solve change line 78 from

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle/bin/tnslsnr

to

ORACLE_HOME_LISTNER=$ORACLE_HOME

(in this article a modified version of the script at http://www.oracle-base.com/articles/linux/ AutomatingDatabaseStartupAndShutdownOnLinux.php)

6 Responses to “Automatic Oracle 10g Startup and Shutdown at Ubuntu Linux system boot”

  1. Vasanth

    Hi,

    I still get this error

    ====
    ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
    Processing Database instance “orcl”: log file /home/vasanth/oracle/product/10.2.0/db_1/startup.log
    Processing Database instance “orcl”: log file /home/vasanth/oracle/product/10.2.0/db_1/startup.log
    vasanth@vasanth-desktop: ~/oracle/product/10.2.0/db_1/bin$
    =====

    Please assist

  2. Arjuna Del Toso

    @Vasanth
    mmmhhh ORACLE_HOME_LISTNER is not SET
    try to debug the script echoing the actual value of ORACLE_HOME_LISTNER to see what is going on. If ORACLE_HOME_LISTNER is not properly set try to set it by hand directly into the script.
    have a good day,
    arjuna

  3. Vasanth

    Hi,

    Thanks. Net listener works fine after setting ORACLE_HOME.

    I could not connect to the database still with “./sqlplus sys as sysdba”
    I get the error
    “Error 6 initializing SQL*Plus
    Message file spl.msb not found
    SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory”

    Also http://localhost:1158/em and http://localhost:5560/sqlplus
    does not work. What settings should be done ?

    Thanks,
    Vasanth

  4. Vasanth

    Hi,

    managed to make it work after checking the settings again.
    Can i add the Oracle menu and it’s tools to Application menu ?

    Thanks,
    Vasanth

  5. Arjuna Del Toso

    I’m happy that you solved. About the Oracle menu in the Applications menu I have no idea. I use only the shell when working on servers …
    have a nice day,
    Arjuna

  6. Seokhyon Kim

    In 11g R2, /etc/init.d/dbora file already exists.

    But there is a bug.
    In $ORACLE_HOME/bin/dbstart line 103 (as a case in 11g R2)

    ORATAB=/etc/oratab
    should be changed to
    ORATAB=/u01/app/oracle/product/11.1.0/db_1/install/oratab



Leave a Reply