Overview
Now that I have sorted out the performance problems on GRIDCTRL , I still needed to automated the start up and shutdown of the Oracle Listener and Database Instance. And I needed to finalize the clean-up after the removal of OMS from this system.
References
- Master Note for Database Startup/Shutdown (Doc ID 1270450.1)
- How to Automate Startup/Shutdown of Oracle Database on Linux (Doc ID 222813.1)
- Oracle® Database Installation Guide 11g Release 2 (11.2) for Linux
- Oracle® Database Administrator's Reference 11g Release 2 (11.2) for Linux and UNIX-Based Operating Systems
- Oracle® Database Administrator's Guide 11g Release 2 (11.2)
Research
The documentation in 2.2 Stopping and Starting Oracle Processes assumes that either you are using Oracle Restart as described in About Oracle Restart . Since I did not install this product, I have to look at other options.
The MOS document, How to Automate Startup/Shutdown of Oracle Database on Linux (Doc ID 222813.1) , appears to have the correct information about the automatic start-up and shut-down of an Oracle database instance.
Procedure
Disable Unneeded Database Options
Following the procedure in 5.2.8 Enabling and Disabling Database Options , I decided to disable the following database options:
- Oracle Data Mining RDBMS Files
- Oracle Database Vault
- Oracle Label Security
- Oracle OLAP
- Oracle Real Application Testing
- Oracle Database Extensions for .NET 1.x
- Oracle Database Extensions for .NET 2.0
Note that Oracle Partitioning is a requirement for OEM.
I used the following commands, after stopping the database instance:
cd /opt/oracle/app/OracleHomes/db11g/bin ./chopt disable dm ./chopt disable dv ./chopt disable lbac ./chopt disable olap ./chopt disable rat
However, the use of ode_net failed with the following messages:
[oracle@gridctrl bin]$ ./chopt disable ode_net Incorrect option name: ode_net usage: chopt <enable|disable> <option> options: dm = Oracle Data Mining RDBMS Files dv = Oracle Database Vault option lbac = Oracle Label Security olap = Oracle OLAP partitioning = Oracle Partitioning rat = Oracle Real Application Testing e.g. chopt enable rat
After restarting the database instance, the SQL*Plus banner now shows:
[oracle@gridctrl bin]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 1 01:37:09 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production With the Partitioning option
Automating the Start-up and Shut-down of the Oracle Database Instance
Following the procedure laid out in How to Automate Startup/Shutdown of Oracle Database on Linux (Doc ID 222813.1) , I created the service script as follows (as root ):
cat >/etc/init.d/dbora <<DONE #!/bin/bash # # chkconfig: 35 99 10 # description: Starts and stops Oracle processes # # 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=/opt/oracle/app/OracleHomes/db11g ORA_OWNER=oracle case "\$1" in 'start') # Start the TNS Listener su - \$ORA_OWNER -c "\$ORA_HOME/bin/lsnrctl 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 \$ORA_HOME/bin/dbstart # Start the Intelligent Agent if [ -f \$ORA_HOME/bin/emctl ]; then su - \$ORA_OWNER -c "\$ORA_HOME/bin/emctl start agent" elif [ -f \$ORA_HOME/bin/agentctl ]; then su - \$ORA_OWNER -c "\$ORA_HOME/bin/agentctl start" else su - \$ORA_OWNER -c "\$ORA_HOME/bin/lsnrctl dbsnmp_start" fi # Start Management Server if [ -f \$ORA_HOME/bin/emctl ]; then su - \$ORA_OWNER -c "\$ORA_HOME/bin/emctl start dbconsole" elif [ -f \$ORA_HOME/bin/oemctl ]; then su - \$ORA_OWNER -c "\$ORA_HOME/bin/oemctl start oms" fi # Start HTTP Server if [ -f \$ORA_HOME/Apache/Apache/bin/apachectl ]; then su - \$ORA_OWNER -c "\$ORA_HOME/Apache/Apache/bin/apachectl start" fi touch /var/lock/subsys/dbora ;; 'stop') # Stop HTTP Server if [ -f \$ORA_HOME/Apache/Apache/bin/apachectl ]; then su - \$ORA_OWNER -c "\$ORA_HOME/Apache/Apache/bin/apachectl stop" fi # Stop the TNS Listener su - \$ORA_OWNER -c "\$ORA_HOME/bin/lsnrctl 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 rm -f /var/lock/subsys/dbora ;; 'status') # status if [ -f /var/lock/subsys/dbora ]; then printf "Active\n" else printf "Inactive\n" fi ;; esac # End of script dbora DONE/sbin/chkconfig --add dbora