Oracle und Enterprise Linux Autor: Martin Bracher, Trivadis GmbH

DOAGNews Q1_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, bei auch nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.  ©2005

Beim Einsatz von Oracle auf einem Linux-Server tauchen viele Fragen auf: •  Ist das zertifiziert? •  Bekomme ich bei einem kostenlosen Betriebssystem Support? •  Welches Linux muss ich nehmen? •  Wie schnell sind Patches und neue Versionen erhältlich? •  Welche Hardware brauche ich? •  Gibt es bedeutende Unternehmen, die diese Lösung produktiv einsetzen?

Support und Zertifizierung Oracle für Linux – genauer gesagt das Datenbanksystem RDBMS – gibt es seit der Version 8.0.5 für Intel x86 (Pentium) und kompatible Prozessoren, also schon fast sieben Jahre lang. Heute ist diese Plattform vollständig unterstützt und neue Versionen und Patches werden in der Regel zusammen mit denen für Solaris und HP/UX freigegeben. Sie kommen damit meist deutlich vor denen für die Windows-Version der x86-Plattform heraus. Oracle bietet inzwischen sein RDBMS aber nicht nur auf Linux für die x86-(32 Bit)-Architektur an, sondern auch für Intel Itanium (64 Bit), AMD 64 Bit (auch x86-64 genannt) und für Linux auf den IBM Z-Series (Host 390). Oracle RDBMS sollte im geschäftlichen Umfeld nur auf zertifizierten Systemen eingesetzt werden, das sind einige Linux-Distributionen. Eine Distribution ist eine Zusammenstellung des Betriebssystem-Kernels (das ist das „Linux“) und zusätzlicher Tools und Anwendungen (cp, gzip, X11, Netscape usw.) zu einem funktionierenden, Unix-artigen Betriebssystem. Von Oracle sind die Distributionen •  RedHat Enterprise Linux ES/AS 2.1/3 •  Novell/SuSE Enterprise Server 7, 8 und 9 •  United Linux 1.0 (SCO, Connectiva, Suse, Turbo), nur bis Oracle 9.2 •  sowie einige andere, in Europa nicht erhältliche Distributionen zertifiziert. Nicht zertifiziert ist Oracle RDBMS (Oracle 9i oder höher) für Novell/SuSE Professional, RedHat Professional, Fedora, Mandrake, Debian, usw. Das heisst aber nicht, dass Oracle RDBMS auf diesen Distributionen nicht laufen würde, es ist nur offiziell nicht unterstützt. Das bedeutet, dass man im Fall eines Problems keinen Support erhält, sofern sich dieser Fehler nicht auf einem zertifizierten System reproduzieren lässt. Für Entwicklung und Test kann eine solche Distribution normalerweise jedoch problemlos eingesetzt werden. Aber auch eine zertifizierte Distribution ist nur dann unterstützt, wenn der fertig kompilierte Kernel der Distribution verwendet wird (selbst kompilierte Kernels sind nicht unterstützt) und keine Kernel-Module von Drittherstellern verwendet werden (Metalink Note 228374.1). Gemäss erwähnter Note muss im Falle eines Problems auf einem nicht vom Distributionshersteller gelieferten Kernel das Problem auf einem Hersteller-Kernel reproduziert werden, um Support zu erhalten.  ©2005

Enterprise Linux Distributionen Linux ist frei, wieso soll ich dafür bezahlen? Linux ist Open-Source-Software (GPL Lizenz), das bedeutet aber nicht „keine Kosten“. Es bedeutet vereinfacht ausgedrückt, dass die Software ohne Lizenzgebühren kopiert werden darf. Bezahlt wird jedoch für die CD's, Handbücher und den Support, wie zum Beispiel der Zugang zu Online-Update-Diensten. Wieso ist nun der Preis für ein Enterprise Linux soviel höher? Die Enterprise-Distributionen bieten mehr Support (bis zu 7x24 per Telefon), der bereits im Preis inbegriffen ist. Sie sind besser getestet, es werden nicht immer die neuesten, sondern möglichst stabile Versionen zusammengestellt, wobei wichtige Änderungen auch in diese Versionen rückwärts portiert werden. Patches werden für einen längeren Zeitraum von etwa fünf Jahren garantiert. Die Distributoren müssen einen großen Aufwand betreiben, um offizielle Zertifizierungen von Oracle, DB2 usw. zu erhalten. Die Preise liegen zwischen etwa 700 und 3000 Euro für x86 Architektur pro Server/Jahr, je nach Umfang des Supports. Informationen dazu gibt es hier: - http://www.redhat.com/software/rhel/purchase/index.html - http://www.suse.de/de/business/products/server/sles8/prices_x86.html Welche Distribution soll ich nehmen? Sowohl RedHat Enterprise Linux als auch Novell/SuSE Linux Enterprise Server sind gute Produkte und von Oracle vollständig unterstützt. Beide basieren auf dem gleichen Quellcode, die Unterschiede bestehen für den Benutzer hauptsächlich in Spezialfeatures wie Cluster-Software, speziell aktivierbaren Performance-Funktionen, Art des Supports, Gestaltung der Oberfläche und den Administrationstools. Wenn bereits Kenntnisse von Novell/SuSE Professional mit YaST2-Administration vorhanden sind, wird man sich mit Novell/SuSE SLES8/9 problemlos zurechtfinden. Wenn man sich mit Fedora oder RedHat Professional auskennt, wird einem RedHat Enterprise Linux AS/ES 3 vertraut vorkommen. Wenn zusätzliche weitere kommerzielle Software (insbesondere Treiber und Kernel-Module) eingesetzt werden sollen, ist zu prüfen, welche Distributionen unterstützt werden (einige amerikanische Firmen unterstützen nur RedHat).

Hardware Oracle unterstützt jede Hardware, die von der Distribution unterstützt ist (Metalink Note 232569.1). Weitere Informationen dazu gibt es hier: - http://hardware.redhat.com - http://www.suse.de/de/business/certifications/index.html - http://cdb.suse.de

 ©2005

Wie bereits erwähnt, sind die Linux-Versionen von Oracle nicht nur für 32 Bit x86 (Pentium und Kompatible wie AMD), sondern auch für Intel Itanium, AMD Opteron und IBM Z-Series erhältlich. Der Vorteil dieser Architekturen ist die 64-Bit-Fähigkeit, die Nachteile sind zurzeit noch die spätere Verfügbarkeit der Oracle-Software, die geringen Erfahrungswerte (nur wenige Installationen im Einsatz) sowie die fehlende Verfügbarkeit mancher kommerzieller Software. "Linux-Version" bedeutet bei vielen Software-Firmen nur eine Version für x86 Prozessoren. Auch wenn man eigentlich "nur" Oracle laufen lassen will, kann es ärgerlich sein, wenn für den RMAN keine MediaManager-Anbindung verfügbar ist. Wenn eine SGA von maximal 1.7 GB (bzw. 2.7 oder 3.7 GB mit Spezialkonfiguration) ausreichend ist und der Server insgesamt nicht mehr als 64 GB RAM haben muss, genügt die 32 Bit x86 Version, und ist aus den zuvor genannten Gründen aus heutiger Sicht noch zu bevorzugen. Die weitere Entwicklung ist jedoch im Auge zu behalten, da die Zukunft sicherlich dem 64-Bit-Computing gehören wird (Im RISC-Bereich ist die Umstellung längst vollzogen). Systeme mit bis zu vier x86-Prozessoren und bis zu 8 GB RAM werden für einen Massenmarkt produziert, verwenden Standardkomponenten und sind dementsprechend kostengünstig verfügbar. Wenn etwas als "Windows-Server" geliefert wird, kann es normalerweise auch für Linux verwendet werden, was Diskussionen über die Hardware-Strategie in größeren Firmen entschärfen dürfte. Im Storage-Bereich gilt für Linux das selbe wie für andere Plattformen: Je schneller und ausfallsicherer, desto besser, also Hardware-RAID 1+0, geeignete Verteilung der Datafiles, Redo auf eigene Disks, mehrere Controller usw. Ob interne Disks oder Anbindung an ein SAN (EMC, HDS usw.), beides ist mit Linux möglich.

Dateisysteme Oracle zertifiziert keine Filesysteme, sondern nur Distributionen. Somit sind alle Filesysteme der Distribution unterstützt, die folgende Merkmale bieten: Write-Acknowledge, Write-ThroughCache und File-Permissions. (Metalink Note 236826.1). •  Ext3-Filesystem Darunter versteht man ein performantes Journaling-Filesystem, das auf dem bewährten Ext2 basiert, von RedHat und Novell/SuSE unterstützt. •  Reiserfs Dieses Journaling-Filesystem ist von RedHat nicht zertifiziert. •  Raw-Devices Es eliminiert den Overhead eines Filesystems, ist Cluster-fähig, die Administration ist jedoch eher mühsam, und die Anzahl der Raw-Devices ist mit Kernel 2.4 auf 256 beschränkt. •  Oracle Cluster Filesystem (OCFS) Dieses von Oracle entwickelte Filesystem verbindet die Vorteile von Raw-Devices (kein Caching, Cluster-fähig) mit der einfachen Administration. Es ist zurzeit jedoch nur für Oracle ©2005

Datenbank-Files geeignet. Oracle bietet fertige Software-Pakete für die zertifizierten Distributionen an (Infos unter http://oss.oracle.com/projects/ocfs/files). Der Nachteil ist, dass man hier eine zusätzliche Abhängigkeit schafft: Ein Kernel-Patch darf nur installiert werden, wenn auch ein dazu passendes OCFS-Paket verfügbar ist. Oracle arbeitet an der Entwicklung von OCFS2, das dann auch für normale Files verwendet werden kann. Das ist sicher interessant für das ORACLE_HOME. Welches Filesystem soll man nun nehmen? Oracle empfiehlt natürlich sein OCFS (Infos unter http://otn.oracle.com/tech/linux/pdf/Linux-FSPerformance-Comparison.pdf). Die Antwort ist auch abhängig vom Linux-Kernel: Mit Kernel 2.6 (Novell/SuSE SLES-9) ist es möglich, auch auf normalen Filesystemen Direct-I/O (Ausschalten des Caching) zu verwenden, wodurch diese natürlich attraktiver werden. Ein guter Anhaltspunkt über das Zusammenspiel von Dateisystem und OS/Hardware liefert das Erstellen einer minimalen Instanz. Auf aktueller Hardware sollte diese Zeit deutlich unter zehn Minuten liegen. Nach unserer Erfahrung gibt es auf vielen Systemen mit Novell/SuSE SLES-8 ab ServicePack 3 Performane-Probleme mit Reiserfs. Welches Dateisystem nun für die eigene Instanz am besten geeignet ist, sollte man gerade bei Performance-kritischen Systemen also explizit testen.

Erfahrungen sammeln und testen Am besten probiert man das Ganze selbst einmal aus. Dazu braucht man kein großes Budget für zertifizierte Hard- und Software – ein gewöhnlicher Standard-PC mit 512 MB RAM und einer schnellen IDE-Disk genügt schon zum Testen. Die Linux-Distribution kann kostenlos und legal aus dem Internet heruntergeladen oder von einem Kollegen kopiert werden (z.B. Novell/SuSE Professional). Die Oracle-Software ist von technet.oracle.com und die aktuellen Patchsets sind auf metalink.oracle.com erhältlich. Oracle stellt auf Technet inzwischen sogar fertig installierte Disk-Images zum Betrieb in einer virtuellen Maschine von VMware zur Verfügung, die man hier herunterladen kann: http://www.oracle.com/technology/tech/linux/vmware/index.html. Der Vorteil ist, dass sie auf einer Enterprise Linux Distribution basieren und „ready-to-run“ sind. Diese Möglichkeit haben wir jedoch selbst noch nicht getestet. Eine Zusammenstellung vieler nützlicher Links für die Installation findet sich in der MetalinkNote 185752.1. Tipp: Ab Oracle 9.2.0.5 muss der Installer auf nicht zertifizierten Distributionen mit der Option -ignoresysprereqs gestartet werden.

Kontakt: Martin Bracher martin. [email protected]  ©2005