sql-info.de
DeutschEnglish

Installation von Oracle 10g auf SUSE Linux 9.1

Es war mal wieder an der Zeit, eine aktuelle Oracle-Version zu holen. Da aber frühere Versionen dieser umfangreichen Datenbank nicht ganz einfach zu installieren waren - unter anderem wurden bestimmte Java- und glibc-Versionen benötigt - war ich nicht ganz sicher, ob die Kombination von SUSE 9.1 mit dem 2.6er Kernel und Oracle 10g überhaupt möglich ist. Vor allem weil diese Kombination nicht in der liste unterstützter Konfigurationen von SUSE aufgeführt ist.

Etwas Recherche ergab jedoch Hinweise darauf, daß es einigen Leuten schon gelungen war, die Installation durchzuführen (sogar auf "exotischeren" Plattformen wie Gentoo und Debian) - wenn auch mit einigen kleinen Problemen. Dadurch ermütigt suchte ich den örtlichen Speicherhändler auf (jede neue Oracle-Version erfordert unweigerlich die doppelte Menge der gegenwärtig im Rechner installierten Hauptspeicher) und schaufelte einige GB frei (zum Glück wachsen die Festplattengrößen noch exponentiell).

Dieses Dokument beschreibt also die Installation von Oracle 10g auf SUSE 9.1 sowie die damit verbundenen Fallstricke.

Es geht davon aus, daß Sie mit den Grundlagen der Installation und Administration von Oracle vertraut sind. Es ist keine allgemeine Installationsanleitung.

Herunterladen

Wie bei den Vorgängerversionen kann 10g als kostenlose Entwicklerversion heruntergeladen werden - es sein denn, Sie Bewohner eines Achse-des-Bösen-Mitgliedstaates sind, oder haben vor, damit Massenvernichtungswaffen herzustellen.

Die Download-Seite ist:

Sie brauchen eine kostenlose Mitgliedschaft des Oracle Technical Network (OTN).

Um den Server und die damit verbundene Software zu installieren, wird nur die erste Datei (ship.db.cpio.gz) benötigt. Aus irgendwelchen Gründen vermitteln sowohl Oracle als auch Anleitungen Dritter den Eindruck, man müsse diese Datei auf CD brennen. Dies ist aber keinesfalls notwendig, und da man eine Datei drin anpassen muß, auch gar nicht sinnvoll.

Packen Sie die Datei aus mit gunzip ship.db.cpio.gz und cpio -idmv < ship.db.cpio.

Vorbereitung

Die Anleitungen von Oracle enthalten die Grundinformationen, die für eine Installation notwendig sind:

Die Kernel-Parameter, zumindest beim vorinstallierten SUSE-Kernel, stimmen weitgehend mit den Oracle-Bedürfnissen überein. Lediglich semopm ist etwas niedrig angesetzt (32 statt 100); die korrekten Werte lassen sich einstellen mit:

echo "250 32000 100 128" > /proc/sys/kernel/sem

Außerdem ist ip_local_port_range mit 32768 61000 belegt, Oracle empfiehlt 1024 65000;

echo "1024 65000" > /proc/sys/net/ipv4/ip_local_port_range

sollte reichen.

SUSE-Spezifisches

Es scheint ein kleines Problem in SUSE zu geben, wenn Oracle während der Installation versucht, einen nicht-gebrauchten Port für den Dienst "Oracle Enterprise Manager Agent HTTP" zu finden. Es gerät durcheinander, wenn in der Datei /etc/services der Port schon belegt ist; nach Abschluß der Installation ist es dann nicht möglich, den Enterprise Manager zu starten.

Um dieses Problem zu verhindern, brauchen lediglich die Einträger für Port 1830 (sowohl TCP als auch UDP) aus /etc/services entfernt werden - vor Beginn der Installation. Es wird außerdem empfohlen, gleich die Einträge für Ports 1831 - 1849 zu entfernen.

Installation

Die Installation wird gestartet mit: ./runInstaller

Das Skript wird dann gleich melden, daß Ihr Betriebssystem redhat-2.1, UnitedLinux-1.0, redhat-3 sein soll, was sicherlich nicht der Fall ist, und den weiteren Dienst verweigern. Man kann aber quasi selbstätig diese Auswahl erweitern: in der Datei Disk1/install/oraparam.ini muß die Zeile nach [Certified Versions] so aussehen:

Linux=redhat-2.1,UnitedLinux-1.0,redhat-3,SuSE-9

Achtung: die Groß- und Kleinschreibung ist hier wichtig. Hinweis: die beschriebene Anpassung soll keineswegs den Eindruck erwecken, Oracle sei für eine bestimmte SUSE-Version geeigent. Die Installation und der Betrieb erfolgen auf eigenes Risiko. Nutzen Sie nur Open-Source-Datenbanken, wenn Sie an Projekten der Nuklearwaffenforschung arbeiten.

Nach erneutem Start von ./runInstaller sollte etwa folgendes erscheinen:

Oracle Installer

Die nachfolgenden Schritte werden in der Oracle-Anleitung und in der einschlägigen Fachliteratur beschrieben. Im Zweifelsfall klicken Sie auf OK oder auf die vorgeschlagene Auswahl. Sollte etwas schiefgehen, können Sie jederzeit von vorne anfangen.

In einem fortgeschrittenen Stadium der Installation wird der DBCA (Database Configuration Assistant) starten und gleich mit der Meldung abbrechen:

  ORA-27125: unable to create shared memory segment

Zum Glück ist dies keine große Katastrophe; die Lösung besteht darin, als Nutzer oracle folgende Befehle auszuführen:


cd $ORACLE_HOME/bin

mv oracle oracle.bin

cat >oracle <<"EOF"
#!/bin/bash
 
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
 
chmod +x oracle
(Quelle: http://www.orafaq.com/msgboard/linux/messages/568.htm ).

Klicken Sie solange auf "Abort", bis die Meldungen aufhören; nach einem erneuten Versuch sollte es klappen.

Die weitere Installation sollte problemlos verlaufen. Nach Abschluß sollten Sie über eine vollständige Oracle 10g Installation verfügen, die auf die ersten zarten Befehle von SYS AS SYSDBA wartet.


Kommentare
i had fedora 5 and 7 on which unable to install oracle10g
problem:
operating system must be redhat-2.1, UnitedLinux-1.0, redhat-3

plz. give me solution
Posted by: jangamdevender | 2008-1-25 08:04
Hello,
i had the same problem with my Suse 10.2. I had to edit the file /etc/SuSE-release to a version which oracle supports. Perhaps there is something similar in fedora.
After installing you can change the file to original.
Posted by: Marcel | 2008-3-07 13:39