Ziel dieser Anleitung, ist eine lauffähige Oracle 11g Datenbank Installation auf Debian Squeeze (Minimal Installation). Das Setup der Datenbank benötigt ein X-Windows System. Hierfür werden wir auf dem Server VNC installieren. Somit kann die Datenbank auch über Fernwartung installiert werden. Für den späteren Betrieb des Datenbank-Server ist VNC nicht mehr nötig.
Testumgebung
- frische Debian Squeeze x86 64Bit minimal Installation (ohne X-Server)
- Server HP ML360 G6 mit 24GB Ram, Festplatte 120GB RAID-5
- Hostname: oradbs.test.local
- LAN IP: 192.168.10.5/24
Vorarbeiten
Installation Packete
Als erstes werden die benötigten Packete für VNC und die spätere Oracle Installation installiert.
aptitude install binutils autoconf automake bzip2 make libstdc++5 unzip zlibc libncurses5-dev fakeroot wget build-essential libaio1 unixodbc xserver-xorg-video-dummy vnc4server x11-xserver-utils xterm wm2
Einrichtung Oracle Benutzer und Gruppen
groupadd oinstall
groupadd dba
useradd oracle -m -d /home/oracle -g oinstall -G dba -s /bin/bash
passwd oracle
Sytemkonfiguration
Anpassung Symlinks für Oracle Installer
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
Im nächsten Schritt weden default Systemparameter deffiniert, welche von Oracle empfohlen werden.
Bearbeite „/etc/security/limits.conf“ und füge die folgenden Werte hinzu.
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Bearbeite „/etc/sysctl.conf“ und füge die folgenden Werte hinzu.
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
vm/hugetlb_shm_group = DBA_GROUP_ID
Der Wert DBA_GROUP_ID muss mit der ID der Gruppe „dba“ ersetzt werden
Host Datei „/etc/hosts“ anpassen bzw. prüfen.
127.0.0.1 localhost
127.0.0.1 oradbs
192.168.10.5 oradbs.test.local oradbs
VNC Umgebung
Starte als Benutzer oracle den VNC-Server vnc4server und beende den Prozess wieder. Öffne die Datei „/home/oracle/.vnc/xstartup“ und füge die folgenden Zeilen am Ende hinzu, fals nicht vorhanden.
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & wm2 &
Oracle Installation
Einrichtung Umgebung
mkdir -p /u01/app/
chown -R oracle:oinstall /u01
chmod -R 775 /u01
Download & Install
Gehe zu https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html , lade die Oracle Datenbank 11g x86 (64Bit) herunter und entpacke die Software Pakete
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
Als Benutzer oracle starte den Installer. In diesen Szenario wird der Installer über ssh gestartet. Hierfür muss der -X Flag gesetzt werden.
ssh -X
Wechsel in das Oracle Software Verzeichnis und starte den Installer mit:
database/runInstaller -ignoreSysPrereqs
Nach einer kurzen Zeit öffnet sich das Installer-Fenster. Wähle die Enterprise Edition aus, passe die Pfade an, setzte die Passwörter und Optionen so wie gewünscht. Bei der Umgebungsprüfung muss alles auf Ignorieren gesetzt werden damit weiter Installiert werden kann. Folge dem Installationsprozess und am Ende führe die „root scripte“ aus.
Nacharbeiten
Nach Abschluss der Installation, müssen noch einige Arbeiten durchgeführt werden, damit die Datenbank ordnungsgemäß laufen kann.
Init Script
Damit die Datenbank beim Start/Stop des Sever automatisch Startet bzw. Stopt, wird ein Initscript angelegt
create /etc/init.d/oradb
und der folgenden Inhalt eingefügt.
#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# 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=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
ORACLE_UNQNAME=orcl
if [ ! -f $ORA_HOME/bin/dbstart ] then
echo "Oracle startup: cannot start"
exit
fi
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 "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"
;;
'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
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"
;;
esac
nun noch ausführbar machen und dem Run-Level hinzufügen
chmod 750 /etc/init.d/oradb
update-rc.d oradb defaults
Bearbeite im Verzeichnis „/u01/app/oracle/product/11.2.0/dbhome_1/bin/“ das dbstart und dbshut Script und ändere den Eintrag
ORACLE_HOME_LISTNER=$1
zu
ORACLE_HOME_LISTNER=${1:-$ORACLE_HOME}
Oracle Instanz Autostart
Bearbeite die Datei „/etc/oratab“ und ändere den Eintrag wie folgt
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Oracle Umgebung setzen
Bearbeite für den Benutzer oracle die Datei „/home/oracle/.profile“ und füge die folgenden Einträge am Ende hinzu
ORACLE_HOSTNAME=oradbs.test.local
export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
ORACLE_UNQNAME=orcl
export ORACLE_UNQNAME
ORACLE_TERM=xterm
export ORACLE_TERM
PATH=/usr/sbin:$PATH
export PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
Hiermit ist die Installation beendet und kann getestet werden.