

Die Oracle 12c Datenbank startet unter Oracle Linux 6 nicht automatisch als Service.
Hierzu sind ein paar Schritte notwendig.
Bevor wir mit dem eigentlichen Einrichten des Datenbank-Services loslegen, sind ein paar Vorarbeiten notwendig.
Als erstes melden wir uns als User oracle am System an
su - oracle
Danach rufen wir die Login-Datei .bashrc des Users oracle auf
nano /home/oracle/.bashrc
Die folgenden Zeilen müssen in der .bashrc ergänzt und entsprechend angepasst werden
# User specific aliases and functions cd /opt/oracle/scripts # Oracle Settings export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=srv-linux-oracle01.test.local export ORACLE_UNQNAME=db01 export ORACLE_BASE=/opt/oracle/ export ORACLE_HOME=$ORACLE_BASE/db/ export ORACLE_SID=db01 alias cds='cd /opt/oracle/scripts' alias cdb='cd $ORACLE_BASE' alias cdo='cd $ORACLE_HOME' alias sysdba='$ORACLE_HOME/bin/sqlplus "/ AS SYSDBA"' export PATH=/usr/sbin:$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
Anschließend melden wir uns als root am System an
su -
Nun erstellen wir uns in unserem Oracle Installationsordner einen Skript-Ordner
cd /opt/oracle mkdir scripts
In diesem Ordner erstellen wir einen zusätzlichen Ordner service
cd scripts mkdir service
Nun erstellen wir im Ordner scripts die folgenden Skripte
db01.env
start_all.sh
db01.env
nano db01.env
#!/bin/bash # Version v1.11 - 2013-11-12 # Generated on Thu Nov 27 15:00:00 CET 2013 USER=`whoami` export ORACLE_HOME=/opt/oracle/db export ORACLE_SID=db01 export ORACLE_NAME=db01 export STD_PATH=/usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/$ export NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252 PATH_TMP=$ORACLE_HOME/bin:$ORACLE_HOME/opmn/bin:$ORACLE_HOME/dcm/bin export PATH=$PATH_TMP:$STD_PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib echo echo " !!! You are user $USER !!!" echo echo env 4 db set... echo env |grep ORACLE echo echo have fun! echo echo now you can use cdo, cda and sysdba, too. echo
start_all.sh
nano start_all.sh
#!/bin/bash echo ================= echo Start all echo ================= echo cd service . start1_db.sh cd ..
Nun müssen wir unseren Oracle Service Installieren
Dazu navigieren wir zum Ordner /etc/init.d
In diesem Ordner befinden sich die Startscripte mit denen Oracle Linux 6 startet
cd /etc/init.d
In diesem Ordner erstellen wir nun unser Oracle Startscript
nano oracle
#!/bin/bash echo |tee -a /dev/tty0 echo `date` - service oracle $1 initiated | tee -a /root/oracle.log | tee -a /dev/tty0 case "$1" in 'start') su - oracle -c "bash start_all.sh" | tee -a /dev/null touch /var/lock/subsys/oracle ;; 'restart') $0 stop $0 start ;; 'stop') su - oracle -c "bash stop_all.sh" |tee -a /dev/null rm -f /var/lock/subsys/oracle ;; 'resume') # /etc/init.d/network restart | tee -a /dev/tty0 /etc/init.d/ntpd restart | tee -a /dev/tty0 ;; esac echo `date` - service oracle $1 completed | tee -a /root/oracle.log | tee -a /dev/tty0 # End of script oracle
Anschließend aktivieren wir das soeben erstellte Startscript
chkconfig --add oracle
Danach prüfen wir die Booteinstellungen des erstellten Startscripts
chkconfig --list oracle
Hier sollten alle Bootoptionen ausgeschaltet sein
Um die jeweils gewünschte Bootoption einzuschalten nutzen wir folgenden Befehl
chkconfig --level 0123456 oracle on
Um die jeweils gewünschte Bootoption abzuschalten nutzen wir folgenden Befehl
chkconfig --level 0123456 oracle off
Führen wir nun einen Neustart des Servers durch, sollte das Skript greifen und die Oracle 12c Datenbank automatisch starten.