Inhaltsverzeichnis
Installation Oracle 11g R2 auf Linux Ubuntu 10.04 LTS lucid
Welche Version habe ich jetzt installiert
uname -a lsb_release -a cat /etc/issue cat /etc/apt/sources.list
Ablauf
System vorbereiten
- Kernel
- Security
- User
- Verzeichnisse
- Libraries prüfen/installieren
Installation
- Download Oracle 11g R2 Software
- unzip software
- Installation ohne Starterdatenbank
- SQL*Net Konfiguration Listener
System vorbereiten
Kernel
/etc/sysctl.conf:
fs.file-max = 65536 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65535 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144
entwender mit sysctl -p Einstellungen neu laden (oder neu booten)
Securtiy
Datei /etc/security/limits.conf:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
Datei /etc/pam.d/login überprüfen ob folgende Zeilen enthalten sind:
session required pam_limits.so
Achtung! Immer prüfen ob die pam_limits.so auch die richtige Bit Variante (32/64bit) ist (Pfade bachten lib versus lib64)! Wird die Datei nicht gefunden ist kein Login mehr möglich!
User
addgroup oinstall addgroup dba addgroup nobody usermod -g nobody nobody ## falls noch kein Oracle User da ist mkdir /home/oracle chown -R oracle:dba /home/oracle useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle passwd -l oracle ## oder usermod -g dba oracle
Als Oracle User anmelden und die limits prüfen!
su - oracle ulimit -n core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 20 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited exit
Verzeichnisse
ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/rpm /bin/rpm ln -s /usr/bin/basename /bin/basename mkdir /etc/rc.d for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done mkdir -p /opt/oracle chown -R oracle:dba /opt/oracle
Libraries
Auf aktuelle Version upgraden
sudo su - apt-get update init 6
benötigte Packete (Installer sucht genau nach diesen Paketen) prüfen und bei Bedarf nach installieren.
Nicht alle fehlenden Packet sind zwingend für den Standardbetrieb notwendig.
#wichtigste Packete als erstes installieren apt-get install build-essential libaio1 gawk ksh libmotif3 alien libtool lsb-rpm gcc #Prüfen ob alle vom Installer gewünschen Packete da sind dpkg --list | grep expat #ok dpkg --list | grep pdksh apt-get install pdksh dpkg --list | grep unixODBC-devel #nicht gefunden ???? => Keine Fehler bei Installation gefunden dpkg --list | grep unixODBC apt-get install unixODBC dpkg --list | grep sysstat apt-get install sysstat dpkg --list | grep gcc-3.4.6 apt-get install gcc dpkg --list | grep libstdc++-devel #???? => libstdc++6-4.2-dev enthalte? dpkg --list | grep libstdc++ #ok dpkg --list | grep libgcc #ok dpkg --list | grep libaio-devel #??? reicht die libaio1 ? => Keine Fehler bei Installation gefunden dpkg --list | grep gcc-c++ apt-get install g++ dpkg --list | grep glibc-headers dpkg --list | grep glibc-devel dpkg --list | grep glibc-common #Alle fehlen reicht die libglib2.0-0 ?? => Keine Fehler bei Installation gefunden dpkg --list | grep elfutils-libelf-devel apt-get install elfutils dpkg --list | grep compat-libstdc++-33 #??? nicht gefunden dpkg --list | grep glibc-2.3 #??? nicht gefunden dpkg --list | grep libaio #??? nicht gefunden dpkg --list | grep binutils #ok dpkg --list | grep make #ok #Sehr wichtig default ist die falsche Version => Linker Fehler in Folge!!! dpkg --list | grep libstdc++ ii libstdc++6 ii libstdc++6-4.2-dev #Daher apt-get install libstdc++5 #E: Couldn't find package libstdc++5 ==> gibt Ärger #gibt es unter 10 nicht mehr siehe http://packages.ubuntu.com/jaunty/i386/libstdc++5/download # Jaunty Pakete in /etc/apt/sources.list aufnehmen # =>deb http://cz.archive.ubuntu.com/ubuntu jaunty main universe # apt-get update # apt-get install unzip
Installation
Herunterladen der Sofware auf Oracle Technet
Quelle: http://www.oracle.com/technology/software/products/database/oracle11g/112010_linuxsoft.html
Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86
- linux_11gR2_database_1of2.zip (1,285,396,902 bytes) (cksum - 2237015228)
- linux_11gR2_database_2of2.zip (995,359,177 bytes) (cksum - 2649514514)
unter /home/oracle/install/ sichern
Prüfen ob das Archive auch unbeschädigt ist:
cksum /home/oracle/install/linux_11gR2_database_1of2.zip 2237015228 1285396902 linux_11gR2_database_1of2.zip cksum /home/oracle/install/linux_11gR2_database_1of2.zip 2649514514 995359177 linux_11gR2_database_2of2.zip
Entpacken
unzip linux_11gR2_database_1of2.zip unzip linux_11gR2_database_2of2.zip
Installer starten
xhost und Display nicht vergessen, falls remote XWindow für die Installation verwendet wird!
#Meine Locale maschine xhost +<IP Adresse mein DB Sever> #Mein DB Rechner export DISPLAY=<mein XTerm Rechner>:0.0
bzw. auf dem Host direkt
oracle@oracle11g:~/install/database$ ./runInstaller -ignoreSysPrereqs
(siehe Screenshots am Ende der Seite)
Nach der Installation der Software
- Oracle User Profil setzen mit siehe ⇒ Arbeitsumgebung setzen und einrichten unter Linux
- SQL*Net Konfigurieren mit netmgr setzen und Listener starten
- Datenbank mit DB Assistent aufsetzen
- Start / Stop Script aufsetzen siehe ⇒ Datenbank unter Linux automatisch starten
- Backup einrichten siehe ⇒ Was muss alles gesichert werden