Difference between revisions of "Auto Start Oracle Database Server and Listener"

From SmartHCM Wiki
Jump to navigation Jump to search
(Created page with "The following represents the Oracle recommended method for automating database startup and shutdown of Oracle 11g, 12c instances on Linux, but it works fine for Oracle other v...")
 
Line 3: Line 3:
 
Once the instance is created, edit the "/etc/oratab" file setting the restart flag for each instance to 'Y'.
 
Once the instance is created, edit the "/etc/oratab" file setting the restart flag for each instance to 'Y'.
  
BEGIN
+
<code>
ABC
+
TSH1:/u01/app/oracle/product/9.2.0:Y
END;
+
</code>
/
+
 
 +
Create a file called "/etc/init.d/dbora" as the root user, containing the following code.
 +
 
 +
<code>
 +
 
 +
#!/bin/sh
 +
# chkconfig: 345 99 10
 +
# 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.
 +
 
 +
ORA_HOME=/u01/app/oracle/product/12.1.0/dbhome_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
 +
        # Remove "&" if you don't want startup as a background process.
 +
        su $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" &
 +
        su $ORA_OWNER -c $ORA_HOME/bin/dbstart &
 +
        touch /var/lock/subsys/dbora
 +
        ;;
 +
    '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
 +
        su $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
 +
        rm -f /var/lock/subsys/dbora
 +
        ;;
 +
esac
 +
 
 +
</code>

Revision as of 11:22, 22 December 2016

The following represents the Oracle recommended method for automating database startup and shutdown of Oracle 11g, 12c instances on Linux, but it works fine for Oracle other versions as well. It can be used on any RHEL-style distribution, including Oracle Linux, CentOS and etc.

Once the instance is created, edit the "/etc/oratab" file setting the restart flag for each instance to 'Y'.

TSH1:/u01/app/oracle/product/9.2.0:Y

Create a file called "/etc/init.d/dbora" as the root user, containing the following code.

  1. !/bin/sh
  2. chkconfig: 345 99 10
  3. description: Oracle auto start-stop script.
  4. Set ORA_HOME to be equivalent to the $ORACLE_HOME
  5. from which you wish to execute dbstart and dbshut;
  6. Set ORA_OWNER to the user id of the owner of the
  7. Oracle database in ORA_HOME.

ORA_HOME=/u01/app/oracle/product/12.1.0/dbhome_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
       # Remove "&" if you don't want startup as a background process.
       su $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" &
       su $ORA_OWNER -c $ORA_HOME/bin/dbstart &
       touch /var/lock/subsys/dbora
       ;;
   '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
       su $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
       rm -f /var/lock/subsys/dbora
       ;;

esac