Installing Trend Micro Deep Security solution in RHEL 8 with Oracle DB in Oracle linux 8.5, Part-3
How to Automate Startup and Shutdown Oracle 19c Standalone database in Oracle Linux 8.5
As you might guess that what is the motive of this blog. We often face the issue that after rebooting the oracle db, the port 1521 is not up and our db instance is also shutdown state. We need to manually up that by following the below commands:
lsnrctl start
sqlplus / as sysdba
SQL> startup
Only after that the database instance got up and everything starts working.
In todays blog post, we will show you how we can automate this process so that you don’t need to worry to start it manually. I will not explain each of the steps perform in this blog because that’s not the scope of it. Rather I am giving you the link that will be helpful for you if you want to understand what is actually happening in the background. This guy really explained well in this video.
https://www.youtube.com/watch?v=KALvm8ZMlhw&ab_channel=KawsarHamid
Step 1:
From oracle user, edit the /etc/oratab file using this command.
vim /etc/oratab
Now change the last letter from N to Y from the last line.
ORCLCDB:/opt/oracle/product/19c/dbhome_1:N
Now save the file using :wq in vim.
Now change the user from oracle to root.
Step 2:
Now create this file:
vim /etc/init.d/dbora
And paste the following script:
#!/bin/bash
# chkconfig: 35 99 10
# description: Starts and Stops Oracle and Listener processes
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
PATH=${PATH}:$ORACLE_HOME/bin
export ORACLE_HOME PATH
case "$1" in
'start')
echo -n $"Starting Oracle DB: "
su - oracle -c "$0RACLE_HOME/bin/lsnrctl start" &
su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" &
;;
'stop')
echo -n $ "Shutting down Oracle DB: "
su - oracle -c "$ORACLE_HOME/bin/lsnrctl stop" &
su - oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" &
;;
'restart')
echo -n $"Shutting down Oracle DB: "
su - oracle -c "$ORACLEHOME/bin/lsnrctl stop" &
su - oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" &
sleep 5
echo -n $"Starting Oracle DB: "
su - oracle -c "$0RACLE_HOME/bin/lsnrctl start" &
su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" &
;;
*)
echo "usage: $0 {start|stop|restart}"
exit
;;
esac
# End of script dbora
Now we need to add following two commands so that dba group have the appropriate permission to execute it:
chgrp dba /etc/init.d/dbora
chmod 750 /etc/init.d/dbora
Step 3:
Now finally we need to add it in chkconfig.
chkconfig --add dbora
chkconfig --list | grep dbora
systenctl start dbora
systemctl enable dbora
systemctl status dbora
Now when you reboot the oracle db, automatically lsnrctl and database instance will be started.
Thanks. I hope this blog will help you to efficiently managing the db system. Please subscribe below if you find this useful.
LinkedIn:
https://www.linkedin.com/in/md-mahimbin-firoj-7b8a5a113/
YouTube: