Auto start oracle database

Oracle

The scripts are created using the cat command, with all the “$” characters escaped. If you want to manually create these files, rather than using the cat command, remember to remove the “\” characters before the “$” characters.

Create a “scripts” directory.

mkdir /home/oracle/scripts
Create an environment file called “setEnv.sh”. The “$” characters are escaped using “\”. If you are not creating the file with the cat command, you will need to remove the escape characters.

cat > /home/oracle/scripts/setEnv.sh <<EOF

Oracle Settings

export TMP=/tmp
export TMPDIR=\$TMP

export ORACLE_HOSTNAME=ol7-19.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/u02/oradata

export PATH=/usr/sbin:/usr/local/bin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$PATH

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
Add a reference to the “setEnv.sh” file at the end of the “/home/oracle/.bash_profile” file.

echo “. /home/oracle/scripts/setEnv.sh” >> /home/oracle/.bash_profile
Create a “start_all.sh” and “stop_all.sh” script that can be called from a startup/shutdown service. Make sure the ownership and permissions are correct.

cat > /home/oracle/scripts/start_all.sh <<EOF

!/bin/bash

. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbstart \$ORACLE_HOME
EOF

cat > /home/oracle/scripts/stop_all.sh <<EOF

!/bin/bash

. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbshut \$ORACLE_HOME
EOF

chown -R oracle:oinstall /home/oracle/scripts
chmod u+x /home/oracle/scripts/*.sh
Once the installation is complete and you’ve edited the “/etc/oratab”, you should be able to start/stop the database with the following scripts run from the “oracle” user.

~/scripts/start_all.sh
~/scripts/stop_all.sh