How to Start and Stop Automatic Database in Linux Operating Systems?
Linux Operating Systems will automatically see how to start and stop the database. Together with the database, we will enable Listener Service and Enterprise Manager to automatically turn on and off.
When this operating system is installed, the shutdown or reboot command will shut down.
1. On our system, we create “.bash_profile için for oracle user. In this article, I configured it according to the features of my system. You need to configure according to your own system.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | --- With Oracle user, we will open the ".bash_profile" file in the Home directory as follows. $ vim .bash_profile -- After opening the required variables to the file, we save and exit the file. # Oracle bash_profile Environment Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=techsoftcenter-db.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE GRID_HOME=/u01/app/11.2.0.3/grid; export GRID_HOME DB_HOME=$ORACLE_BASE/product/11.2.0.3/db; export DB_HOME ORACLE_HOME=$DB_HOME; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM BASE_PATH=/usr/sbin:$PATH; export BASE_PATH PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi alias oraenv='. /home/oracle/.bash_profile' |
2. We are preparing our services that will start at the operating system.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | -- we switch to privileged root user mode. $ su - root Password: # vim /etc/init.d/dbora -- Then we make the following changes in the file "/etc/init.d/dbora". #!/bin/sh # chkconfig: 345 99 10 # description: Oracle auto start-stop script. # # Set ORA_OWNER to the user id of the owner of the # Oracle database software. ORA_OWNER=oracle 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 "/home/oracle/scripts/startup.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1" 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 "/home/oracle/scripts/shutdown.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1" rm -f /var/lock/subsys/dbora ;; esac |
3. Set the security on the file.
1 | # chmod 750 /etc/init.d/dbora |
4. We’re adding it to the chkconfig layer to work at a startup.
1 | # chkconfig --add dbora |
5. Now we put the opening and closing scripts into the directory where we will create the dbora file as we said before. So we will write the commands that should work on opening and closing into these files. We will then make the necessary configurations for the “oracle” user to access our files.
1 2 | # mkdir -p /home/oracle/scripts # chown oracle.oinstall /home/oracle/scripts |
6. Now we can create our startup and shutdown scripts. Here you will need to set the DB parameter to your own system.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | -- We create our Startup Script. # vim /home/oracle/scripts/startup.sh -- In the file we opened, we enter the following lines. #!/bin/bash export ORACLE_SID=orcl ORAENV_ASK=NO . oraenv ORAENV_ASK=YES # Start Listener lsnrctl start # Start Database sqlplus / as sysdba << EOF STARTUP; EXIT; EOF # Start Enterprise Manager emctl start dbconsole -- We are creating our closing script. # vim /home/oracle/scripts/shutdown.sh -- In the file we opened, we enter the following lines. #!/bin/bash export ORACLE_SID=orcl ORAENV_ASK=NO . oraenv ORAENV_ASK=YES # Stop Enterprise Manager emctl stop dbconsole # Stop Listener lsnrctl stop # Stop Database sqlplus / as sysdba << EOF SHUTDOWN IMMEDIATE; EXIT; EOF |
7. After that, we will create the privileges and security settings of our scripts.
1 2 | # chmod u+x /home/oracle/scripts/startup.sh /home/oracle/scripts/shutdown.sh # chown oracle.oinstall /home/oracle/scripts/startup.sh /home/oracle/scripts/shutdown.sh |
8. That’s all we can do now we can test our services.
1 2 | # service dbora start # service dbora stop |
This article was written by testing Oracle 11g R2 (11.2.0.3.0) on Oracle Enterprise Linux 6.4.
I hope it has been a useful article.