12C
STEP 1:
Once the instance is created, edit the "/etc/oratab" file setting the restart flag for each instance to 'Y'.
ORCL:/u01/app/oracle/product/12.2.0.1/db_1:Y
STEP 2:
Create a file called "
/etc/init.d/dbora" as the root user, containing the following code.
The path and instance name should be adjusted to match your installation and instance.
#!/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.2.0.1/db_1
ORA_OWNER=oracle
export ORACLE_UNQNAME=ORCL
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/dbstart $ORA_HOME" &
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 $ORA_HOME"
rm -f /var/lock/subsys/dbora
;;
esac
STEP 3:
Use the chmod command to set the privileges to 750.
chmod 750 /etc/init.d/dbora
STEP 4:
Associate the "dbora" service with the appropriate run levels and set it to auto-start using the following command.
chkconfig --add dbora
The relevant instances should now startup/shutdown automatically at system startup/shutdown.
For other versions and more details, Please refer to the below reference URL:
https://oracle-base.com/articles/linux/automating-database-startup-and-shutdown-on-linux