ORDIX News. 1st ORDIX Golf Open. IBM Tivoli Storage Manager. To Change or not to (Ex)change. Wir stellen Ihnen die wichtigsten Neuerungen vor S.

Größe: px
Ab Seite anzeigen:

Download "ORDIX News. 1st ORDIX Golf Open. IBM Tivoli Storage Manager. To Change or not to (Ex)change. Wir stellen Ihnen die wichtigsten Neuerungen vor S."

Transkript

1 ORDIX News Das IT-Magazin der ORDIX AG Ausgabe 1/2004 2,20 1st ORDIX Golf Open Golfen für einen guten Zweck S. 11 Neue Reihe: IBM Tivoli Storage Manager Aufbau und Funktionsweise S. 41 To Change or not to (Ex)change Linux/Open Source Veranstaltung am in Wiesbaden Kosteneffizienz mit Open Source Software S. 37 SUSE Linux Openexchange Server im direkten Vergleich mit Microsoft Exchange Server S. 34 Neues von Oracle: 10g freigegeben Wir stellen Ihnen die wichtigsten Neuerungen vor S. 22

2 Editorial Paderborn, April 2004 Frühlinksgefühle Nein, nicht Rechtschreibreform sondern Marketing. Sie schauen hin und lesen offensichtlich weiter. Mchaen wir enein witereen Tset: Gmäeß eneir Sutide eneir elgnihcesn Uvinisterät ist es nchit witihcg, in wlecehr Rneflogheie die Bstachuebn in eneim Wrot snid, das ezniige was wcthiig ist, ist dass der estre und der leztte Bstabchue an der ritihcegn Pstoiion snid. Der Rset knan ein ttoaelr Bsinöldn sien, tedztorm knan man ihn onhe Pemoblre lseen. Das ist so, wiel wir nciht jeedn Bstachuebn enzelin leesn, snderon das Wrot als gseatems. Da Sie hier immer noch lesen, scheinen Sie auch den vorangegangenen Absatz problemlos verstanden zu haben. Das menschliche Gehirn ist also in Sekundenschnelle in der Lage, die Buchstaben so zu sortieren, dass der gelesene Text auch wirklich Sinn macht. Manchmal scheint es aber, dass selbst richtig geschriebener Text keinen Sinn macht. So z. B. der Unfug, den die amerikanische Regierung in Bezug auf Argumente für den Irak Krieg vor etwa einem Jahr vorgelegt hat. Hier wird zwar inzwischen unerbittlich zurückgerudert wirkt dann fast so komisch, wie der Text oben ;-) denn es stehen ja Wahlen an. Aber was soll man schon von einer Nation erwarten, die innerhalb von 5 Sekunden in nationale Aufruhr versetzt werden kann. 5 Sekunden, in denen eine nackte Brust auf den Bildschirmen das Sportereignis der USA, den Superbowl, aufpeppte. Damit kann das deutsche Fernsehpublikum sicher bei weitem nicht so in Aufregung versetzt werden wie unsere amerikanischen Freunde. Hier braucht es schon so gigantische Formate wie Big Brother oder die nicht enden wollende Flutwelle an Quizshows, Superstar Suchen und Comedy Serien. 20 Jahre lang bombardieren uns jetzt die Privatsender auf stetig gleichem (niedrigen) bzw. sinkendem Niveau. Ein Nebenprodukt der ebenso berühmten wie berüchtigten geistig moralischen Wende. Wir nähern uns amerikanischen Verhältnissen! Dem versuchen wir mit dieser News einiges entgegen zu setzen: Ein wenig Marketing (Veranstaltungen), viel fürs Gehirn (Kniffel, Verschlüsselung mit Oracle, Standby Datenbank, Tuning, neuer Linux Kernel usw.) und Pep ohne Brust aber eben mit (Gehirn-)Schmalz (Kostenvergleich Exchange, Linux Standard Server, Babylonisches Oracle, IBM TSM...). Daneben Oldies but Goldies: IBM Informix 9.4 und neue Seminare. Und dann noch einmal Marketing: Neue Schulungspreise. Damit wünsche ich Ihnen einen schönen Frühlingsanfang (!), viel Spass beim Ostereier suchen und bis demnächst Wolfgang Kögler PS: Unsere Umfrage hat ergeben, dass ich zu viel über die Amerikaner lästere. Hier deshalb noch etwas aus unserem Bundesfinanzministerium: Anteile eines Gesellschafters der übernehmenden Personengesellschaft an der übertragenden Körperschaft, die dieser im Privatvermögen hält und die eine Beteiligung i.s. des 17 EStG bilden, ohne dass gleichzeitig die Voraussetzungen des 21 UmwStG vorliegen, gelten für die Ermittlung des Übernahmeergebnisses als am Übertragungsstichtag in das Betriebsvermögen der Personengesellschaft zu Anschaffungskosten eingelegt ( 5 Abs. 2 UmwStG). Wie man sieht, kann man auch richtig Geschriebenes manchmal nur schwer verstehen :-). 3

3 Inhaltsverzeichnis Java/XML Der (J)Boss wird s richten... Ein Überblick über den Open Source Applikationsserver in seiner neuesten Ausprägung. Standards Editorial Inhalt Leserinformation Impressum Aktuell Erste ORDIX Golf Open: Golfturnier am 25./26. September 2004 für einen guten Zweck Kniffel: Wer hilft Larry beim Umstieg auf Linux? Der ORDIX Fachtreff: Unser Know-how für Sie! Rückblick: ORDIX - hochverfügbar auf der Linux Expo Einladung zum Linux/Open Source Fachtreff am : Titelthema Titelthema Open Source Software - technische und kostensenkende Alternative! Aus- & Weiterbildung Seminar: Linux Hochverfügbarkeits-Cluster Seminare: Oracle 10g Neuheiten, Einführung in Oracle Reports Developer, Einführung in Oracle Forms Developer, Oracle Real Application Cluster (RAC) Seminarübersicht: Preise, Termine... bis November Unix/Linux/Open Source Next Generation - Linux Bereits stabil: Der Linux Kernel im Vergleich zu seinem Vorgänger SQLite - Die Datenbank für Kalorienbewusste Schluss mit aufwändiger Installation, Pflege und Wartung eines herkömmlichen DBMS. Lesen Sie selbst, wie es geht! Mit Webmin alles im Griff Eine Alternative zur herkömmlichen Systemadministration. So findet man sich in der Unix Systemverwaltung besser zurecht Tux-in-the-Box Der SUSE Linux Standard Server bietet Einfachste Installation und Administrierbarkeit zu günstigen Preisen. Titelthema Titelthema To Change or not to (Ex)change? Wer siegt im Kampf um die Migration Ihres Microsoft NT Servers? Der Microsoft Exchange Server 2003 oder der SUSE Linux Openexchange Server? Neue Reihe: IBM Tivoli Storage Manager (Teil I): Aufbau und Funktionsweise Sicherung und Archivierung von Daten? IBM Tivoli Storage Manager unter der Lupe. Neue Reihe über einen der meistgenutzten Storage Manager Squirrelmail - Open Source Webmail: Eichhörnchenpost Mails schreiben, lesen, verwalten von überall in der Welt ganz einfach via Web? Mit Squirrelmail ist das kein Problem mehr. Datenbanken Babylonisches Oracle Oracle SID, DB_NAME, DB_DOMAIN, SERVICE_NAMES? Hier bekommen Sie den Durchblick im Oracle Names-Dschungel Datenverschlüsselung mit dem DBMS_OBFUSCATION_TOOLKIT Finger weg von vertraulichen Daten! Lesen Sie, wie man seine sensiblen Daten innerhalb einer Oracle Datenbank vor unberechtigten Zugriffen schützen kann. Titelthema Oracle 10g - Neuheiten im Überblick Hier machen wir Sie mit den neuen Features von Oracle10g bekannt Standby-Datenbank: Data Guard aus Kundensicht (Teil IV) Der letzte Teil der Reihe zeigt den Switchover und Vereinfachungen im Betrieb IBM IDS 9.40 (Teil III): SQL News SQL Neuheiten der Versionen 9.3 und Tuning I/O-intensiver Systeme (Teil II) Im zweiten Teil der Reihe erfahren Sie mehr über Werkzeuge zur Analyse von I/O-Problemen und Techniken zur Behebung. 4

4 Datenbanken Babylonisches Oracle Wer kennt sie wirklich alle? Die vielen unterschiedlichen Namensdefinitionen, die Oracle für die Identifikation (von Teilen) einer Datenbank bereithält. Gehört hat man sie sicherlich schon mal, doch was steckt wirklich dahinter? In diesem Artikel wollen wir die verschiedenen Bezeichner, die meist in Form von init.ora Parametern auftauchen, genau durchleuchten. Angefangen von der Datenbank Domäne, über den Service Namen bis hin zur Oracle SID. Wirft man einen Blick in die Dokumentation, so tauchen alleine schon hier fünf verschiedene init.ora Parameter auf, die mit beliebigen Namen belegt werden können. Diese Namen können sich voneinander unterscheiden, überschneiden oder sogar gleich sein, was nicht zum besseren Verständnis beiträgt. Domänen Es gibt genau zwei Stellen in einer Oracle Datenbank, bei denen von einer Domäne gesprochen wird. Der Initialisierungsparameter db_domain ist ein Teil des Datenbanknamens, der die Datenbank (nicht die Instanz) identifiziert. Der erste Teil des Datenbanknamens wird aus dem Parameter db_name gewonnen. Zusammengesetzt ergibt sich somit der eindeutige Name einer Datenbank. Auf den ersten Blick erscheinen die Oracle Namensdefinitionen genauso erfolgreich wie der Turmbau zu Babylon. Bei genauerer Betrachtung relativiert sich aber dieser Eindruck. (The Tower of Babel, Pieter Bruegel, ca ) Diese beiden Domänen sind voneinander unabhängig und stehen in keinem mittelbaren Zusammenhang. Die im Oracle Namensmodell verwendeten Domänen müssen nicht identisch mit den Domänen aus der Netzwerkwelt sein. So könnten innerhalb der Oracle Domäne zusätzliche Informationen hinterlegt werden. Denkbar wäre z. B., alle Test-Systeme innerhalb der Firma mit der Domäne test.ordix.de zu versehen und alle Produktiv-Systeme mit der Domäne produktion.ordix.de. Die Länge der Bezeichnung für die Domäne ist dabei auf 128 Zeichen begrenzt. Einen Default Wert für diesen Parameter gibt es nicht. Datenbanknamen Ausgehend von der Domäne sollte der Datenbankname geschickterweise die Funktion der Datenbank beschreiben. So wären Werte wie dwh (DataWareHouse) oder workflow denkbar. Hierbei darf der Name der Datenbank aber nur bis zu acht Zeichen lang werden. Der Name wird in dem init.ora Parameter db_name hinterlegt und kann zusätzlich beim Anlegen einer Datenbank im create database Kommando aufgeführt werden. Beispiel: db_name = produktion db_domain = ordix.de Eindeutiger, globaler Datenbankname ist somit: produktion.ordix.de Im Zusammenspiel mit Netzwerkdienstnamen, oder auch als SQL*Net Alias bekannt, existiert eine weitere Domäne. Diese Netzwerkdienstnamen können ebenfalls mit einer Domäne versehen werden. Vielen dürfte die Standarddomäne world früherer Oracle Releases bekannt sein. Netzwerkdienstnamen und deren Default Domänen werden weiter unten genauer behandelt. Dabei gilt: Ist der Name in der init.ora in Form des db_name Parameters hinterlegt, so muss dieser nicht beim create database Kommando mit angegeben werden. Wird er dort zusätzlich aufgeführt, muss man beachten, dass diese Namen gleich sind. Ansonsten bricht Oracle das Erstellen der Datenbank mit der Fehlermeldung: ORA-01504: database name ora1 does not match parameter db_name ora2 ab. Wie oben beschrieben, wird der globale Datenbankname beim Anlegen der Datenbank aus den Werten db_name und db_domain abgeleitet. Er lässt sich später aus der View global_name abfragen. Womit wir zu einem weiteren init.ora Parameter des Oracle Namenmodells kommen: global_names Wird dieser Parameter vom Default Wert false auf true gesetzt, so bewirkt dies, dass beim Zugriff auf eine entfernte Datenbank über einen Datenbank Link dessen Name überprüft wird. Dieser muss genauso lauten, wie der globale Datenbankname der Zieldatenbank. ORACLE_SID, instance_name Da Datenbank und Instanz in der Oracle Architektur getrennt sind, können auch für beide verschiedene Namen vergeben werden. 5

5 Datenbanken Normalerweise sind in einem Single-Instance Betrieb der Name der Instanz und der Datenbankname (db_name) gleich. Sie können jedoch unterschiedlich sein, um z. B. die Eigenschaft auch im Instanznamen zu hinterlegen. Auf Grund einer fehlenden Domäne für die Instanz kann bei einem Datenbanknamen dwh.test.ordix.de z. B. der Instanzname dwhtest gewählt werden. So kann schon an Hand des Instanznamens erkannt werden, dass es sich um ein Testsystem handelt. Die maximale Länge ist plattformspezifisch. Der Instanzname kann jederzeit in der init.ora geändert werden und so die Instanz unter neuem Namen hochgefahren werden. Die ORACLE_SID ist ausschließlich als Umgebungsvariable vorhanden und wird an keiner Stelle in der Datenbank gespeichert. Sie wird beim Starten der Instanz benötigt und dient zum Auslesen der dazugehörigen init.ora bzw. des spfile. Über die ORACLE_SID wird das allokierte Shared Memory (SGA) benannt und adressiert. Da die ORACLE_SID, wie schon erwähnt, nicht in der Datenbank gespeichert wird, kann diese jederzeit durch Umsetzen der Umgebungsvariable und Anpassung des Namens der init.ora/des spfile geändert werden. Bei einer Änderung ist zu beachten, dass anschließend Einträge in der /etc/oratab zu aktualisieren sind! Netzwerkdienstname/SQL*Net Alias Der Netzwerkdienstname kommt dann ins Spiel, sobald über das Netz auf eine Oracle Datenbank zugegriffen werden soll. Hiermit wird die Datenbank im Netzwerk identifiziert und angesprochen. Werfen wir hierfür einen Blick in die tnsnames.ora (siehe Abbildung 1). Ein Verbindungsaufbau über das Netz erfolgt nach folgendem Schema: sqlplus Der Netzwerkdienstname in unserem Beispiel (siehe Abbildung 1) lautet dwh.test.ordix.de. Dieser ist nicht zu verwechseln mit dem globalen Datenbanknamen. Genauso gut hätte man den dwh.test.ordix.de= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (HOST=jumper.ordix.de) (PORT=1521)) ) (CONNECT_DATA= (SERVICE_NAME=ora1.ordix.de) ) ) Abb. 1: Auszug aus einer tnsnames.ora. String informix oder db2 als Netzwerkdienstnamen hinterlegen können, um die Anwender komplett zu verwirren. Über den Netzwerkdienstnamen wird das Mapping bzw. die Adressierung vorgenommen. Das bedeutet für obiges Beispiel (siehe Abbildung 1): Auf dem Rechner Jumper muss für das Protokoll TCP am Port 1521 ein Listener Prozess horchen, der eingehende Verbindungsanfragen entgegen nimmt. Da mehrere Instanzen auf einem Rechner laufen können, muss übermittelt werden, mit welcher Instanz der Anwender arbeiten möchte. Dies geschieht über den SERVICE_NAME, der in der tnsnames.ora (im Beispiel der Abbildung 2 ist das ora1.ordix.de) hinterlegt ist. service_names Ab Oracle 8.1 registrieren sich alle Instanzen dynamisch bei ihrem Listener. Normalerweise melden sich die Instanzen mit ihrem globalen Datenbanknamen am Listener an. lsnrctl services LSNRCTL for Linux: Version Production on 09-DEC :57:23 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jumper)(PORT=1521))) Services Summary... Service ora1.ordix.de has 1 instance(s). Instance ora1, status READY, has 1 handler(s) for this service... Handler(s): DEDICATED established:0 refused:0 state:ready LOCAL SERVER The command completed successfully Abb. 2: Ausgabe des Listener Kommandos, wobei der Parameter service_names NICHT gesetzt ist. 6

6 Datenbanken Service_names=ora1,ora2,ora3 lsnrctl services LSNRCTL for Linux: Version Production on 09-DEC :02:40 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jumper)(PORT=1521))) Services Summary... Service ora1.ordix.de has 1 instance(s). Instance ora1, status READY, has 1 handler(s) for this service... Handler(s): DEDICATED established:0 refused:0 state:ready LOCAL SERVER Service ora2.ordix.de has 1 instance(s). Instance ora1, status READY, has 1 handler(s) for this service... Handler(s): DEDICATED established:0 refused:0 state:ready LOCAL SERVER Service ora3.ordix.de has 1 instance(s). Instance ora1, status READY, has 1 handler(s) for this service... Handler(s): DEDICATED established:0 refused:0 state:ready LOCAL SERVER The command completed successfully Abb. 3: Ausgabe des Listener Kommandos, wobei der Parameter service_names gesetzt ist. Dies lässt sich jedoch über den Parameter service_names in der init.ora steuern. Dort kann hinterlegt werden, mit welchen Namen sich die Instanz beim Listener registriert. Die Ausgabe in Abbildung 3 erzeugt das lsnrctl services Kommando, wenn der Parameter service_names in der init.ora - anders als in Abbildung 2 - gesetzt wird. Nun ist es möglich, die Datenbank aus der tnsnames.ora heraus mit drei unterschiedlichen Service Namen anzusprechen. Nach außen scheint es, als würde auf drei unterschiedlichen Datenbanken gearbeitet. Doch dies ist ein Trugschluss, wie deutlich zu erkennen ist. Die Verwendung von unterschiedlichen Service Namen kommt z. B. zum Einsatz, wenn die Datenbank im Multi Threaded Server Modus betrieben wird. So können einzelne Dispatcher Prozesse bestimmten Service Namen zugeordnet werden. Informationen zu hinterlegen, ist sicherlich Geschmackssache. Eine Domäne ist immer dann sinnvoll, wenn mehrere Datenbank Server für verschiedene Funktionen in der Systemlandschaft vorhanden sind. Ob die Domäne dabei die eigentliche Funktion der Datenbank, die Identifikation des Subnetzes oder beides in Kombination wiederspiegelt, ist von der Philosophie des DBAs abhängig und nur durch die maximale Länge des Parameters db_domain begrenzt. Eine Disparität zwischen ORACLE_SID und instance_name sollte vermieden werden, da dieses eher Verwirrung stiftet als Vorteile mit sich bringt. Definitionen von verschiedenen Service Namen (service_names) in der init.ora dagegen machen wieder mehr Sinn. Um das Beispiel des Multi Threaded Server Betriebs nochmals aufzugreifen: Im ORDIX Kurs zu Oracle Net wird z. B. gezeigt, dass über einen Service Namen A nur Dedicated Server Verbindungen laufen und über einen Service Namen B ausschließlich Dispatcher Verbindungen möglich sind. Gerne bringen wir Klarheit und Konfusion auch in Ihren Oracle Namespace. Fragen Sie uns einfach! Fazit Bei einer strikten eins zu eins Zuordnung von Instanz zu Datenbank, sollte der Name der Instanz möglichst gleich dem Namen der Datenbank sein. Die oben beschriebene Möglichkeit, im Namen der Instanz z. B. weitere Michael Lindermann 7

7 Unix/Linux/Open Source Next Generation Linux Gut zwei Jahre nachdem der Linux Kernel 2.4 freigegeben wurde, ist der Kernel seit dem als Stable-Release verfügbar. Wir wollen im Folgenden herausfinden, welche Veränderungen er mit sich bringt und ob sich ein Umstieg lohnt oder gar erforderlich ist. Beim Kernelbau Nachdem der neue Kernel heruntergeladen ist, kann er, wie bisher, mit make menuconfig oder make xconfig konfiguriert werden. Bei der X-Oberfläche fällt das neue Design auf. Man findet rechts im Fenster eine Baumstruktur, daneben, in der oberen Hälfte, den aktuellen Parameter. Die Kurzbeschreibung zu diesem Parameter befindet sich direkt darunter. Sie muss nicht erst durch einen weiteren Click aufgerufen werden. Damit ist die Konfiguration übersichtlicher geworden (siehe Abbildung 1). Neues Modul API Die neu gebauten Kernel-Module fallen durch ihre neue Dateiendung auf..ko steht für Kernel-Objects. Es hat sich jedoch nicht nur der Name, sondern auch die API geändert. Für den Endanwender bedeutet dies in erster Linie, dass die Programme modprobe, insmod und rmmod mit den neuen Modulen funktionieren müssen. Während diese Programme bisher unter dem Namen modutils zusammengefasst waren, heißen die Tools für den 2.6 Kernel nun modinit-utils und haben eine von modutils unabhängige Versionsnummer. In SUSE 9.0 findet sich nach wie vor nur das modutils-rpm. Darin sind sowohl die modinit-utils als auch die modutils zu finden. In diesem Fall enthält das RPM-Paket neben den Programmen insmod, rmmod und modprobe jeweils eine insmod.old, rmmod.old und modprobe.old, die dann für die älteren Kernels gültig sind. Abb. 1: make xconfig. Nach wie vor besitzen die meisten Optionen drei Stati: nicht ausgewählt ausgewählt als Modul In der Oberfläche wird als Modul hierbei als Kästchen mit einem Punkt dargestellt. Ist der Kernel konfiguriert, so werden mit make bzimage modules modules_install der Kernel und die Module gebaut. Die Überprüfung der Abhängigkeiten wird implizit durchgeführt. make dep wird also nicht mehr benötigt. Sehr angenehm ist make help, welches die möglichen Targets und deren Wirkung beschreibt. Die wichtigsten Targets finden Sie in Tabelle 1. Die Ausgaben des Kernelbaus sind nun auf wenige Zeilen beschränkt. Mittels make V=1 bzimage lässt sich die gewohnt üppige Ausgabe wieder erreichen. Ob es hilft, muss jeder für sich selbst entscheiden. Für den Anwender ist die Bedienung transparent. Das Programm modprobe greift auf modprobe.old zurück, sofern Module für den alten Kernel geladen werden sollen. Mit dem neuen modprobe wird für den neuen Kernel auch eine neue Konfigurationsdatei genutzt. Statt der bisherigen modules.conf wird nun modprobe.conf verwendet. Darin finden sich die beiden Direktiven install und remove. Mit install ist es möglich, ein Kommando anzugeben, das zur Ausführung kommt, wenn das Modul geladen werden soll. Es ist so möglich, z. B. für die Ethernet Karte ein zweites, alternatives Modul anzugeben, welches geladen wird, falls das erstgenannte sich nicht laden lässt (siehe Abbildung 2). Sichtbare Veränderungen Die Plattformvielfalt des neuen Kernels fällt sicherlich ins Auge. Sie reicht von PC-368 über Pentium, Athlon, Opteron, VIA C3-2 bis zu Voyager von NCR, Numaq von IBM/Sequent und SGI 320/540. In den meisten Fällen wird man aber unter den PC-Kompatiblen nur den richtigen Prozessortyp auswählen. 8

8 Unix/Linux/Open Source Targets menuconfig xconfig dep bzimage modules modules_install clean mrproper help all Verzeichnis/ Verzeichnis/Datei rpm install Beschreibung Ncurses basierte Konfiguration (wie bisher). X-Window basierte Konfiguration im neuen Design. Wird nicht mehr benötigt. Baut einen komprimierten IA32 Kernel. Baut die Module. Installiert die Module unter /lib/modules/<kernel-version>. Löscht alle temporären und alle Objektdateien, die durch make erzeugt wurden. Löscht ALLE durch make erzeugten Dateien, auch die Konfigurationsdateien (.config vorher sichern!). Gibt eine Hilfe über mögliche Targets. Fasst bzimage und modules zusammen. Erzeugt alle Dateien in dem Verzeichnis. Erzeugt nur die angegebene Datei. Erzeugt einen Kernel als RPM-Paket. Kopiert den Kernel in das INSTALL-Verzeichnis (siehe Makefile) und ruft lilo auf. Tabelle 1: Targets von make. Schwierig war es bis dato, die Konfiguration eines bestehenden Kernels zu ermitteln. Beim 2.4 Kernel ist es durch einen Patch möglich, die Konfiguration unter /proc/config.gz zu finden. Bei dem 2.6 Kernel ist dieses Feature integriert. Aktiviert man unter General Setup die beiden Features Kernel.config support (IKCONFIG) und Enable Access to.config through /proc/config.gz (IKCONFIG_PROC), findet man die Konfiguration des laufenden Kernels unter /proc/config.gz. Die dazugehörigen Kompilereinstellungen findet man unter /proc/config_built_with. Die Konfiguration einer Kerneldatei lässt sich mit dem Shell-Skript scripts/extract-ikconfig oder mit Hilfe von strings ermitteln. Der Advanced Configuration- and Power Interface (ACPI)-Code hat eine komplette Überarbeitung erfahren. Dadurch ist die Grundlage geschaffen, auf Veränderungen des Systems zu reagieren. Es kann erkannt werden, ob das Notebook am Stromnetz angeschlossen ist oder ob es gerade zugeklappt wurde. Linux bietet Suspend-to-Disk und andere Stromspar-Eigenschaften an. Abhängigkeiten verschiedener Geräte untereinander werden von Linux nun durch eine Baumstruktur abgebildet. Dadurch wurden wiederum das Powermanagement ausgebaut und die Hotplug-Fähigkeiten verbessert. Erweiterungen im I/O Bereich Neue Konzepte für den Zugriff auf Platten ermöglichen Direct Memory Access (DMA) Zugriffe. Plattengrößen bis 16 TeraByte (bei 32- install eth0 /sbin/modprobe e100 /sbin/modprobe eepro100 Abb. 2: Beispiel aus modprobe.conf. sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 Abb. 3: Erweiterung der /etc/fstab. Bit-Systemen) oder weit über den TeraByte Bereich hinaus (bei 64- Bit-Systemen) sind für den Linux Kernel 2.6 kein Problem. Auch die Anzahl der Platten (bzw. der adressierbaren Slices) wurde durch die vorgesehenen 20 Bit für die Minornumber erhöht. Geht man beispielsweise von einem Treiber aus, der 32 mögliche Slices pro Platte vorsieht, so könnten über Platten adressiert werden. Asynchrones I/O ist, wie schon im 2.4 Kernel, möglich. Auch im 2.6 Kernel setzt Linux ganz auf Block-Devices. Die Raw-Devices lassen sich, wie beim 2.4 Kernel, mit dem Befehl raw hinzufügen. Sie befinden sich dann unter /dev/raw/rawn und passen somit nicht in das Device-Namenschema. Die Strategien, in welcher Reihenfolge I/O Zugriffe abgearbeitet werden, bestimmt der I/O Scheduler. Welcher I/O Scheduler Verwendung findet, kann durch Bootparameter verändert werden. Für Datenbank-Server wird z. B. elevator=deadline empfohlen. Lesen Sie dazu die Documentation/as-iosched.txt, welche den Kernelquellen beiliegt. Der Kernel-HTTP-Server khttpd ist verschwunden. devfs wird verschwinden. Statt des Logical Volume Managers (LVM) findet sich nun der Device-Mapper im Kernel. Das proc-filesystem soll nur noch der Processverwaltung dienen. Als Ergänzung kommt nun das neue Filesystem sysfs zum Einsatz. Dieses benötigt einen eigenen Mountpoint und muss natürlich ebenfalls eingehängt werden, was die /etc/fstab um eine Zeile reicher macht (siehe Abbildung 3). 9

9 Unix/Linux/Open Source Neue Protokolle, Security, usw. Erweiterungen finden sich auch bei den unterstützten Protokollen: IPV6 ist als experimentell gekennzeichnet, findet sich aber bis hin zu den Paketfiltern durchgängig wieder. ISDN setzt zunehmend mehr auf die CAPI 2.0. Neben SMB wird nun der CIFS- Client (bisher auch experimentell) unterstützt. CIFS-Server ist durch Samba realisiert und somit kein Teil des Kernels. Linux unterstützt verschiedene Security-Konzepte. Die POSIX ACLs oder das von der NSA entwickelte Security Enhanced Linux (SE-Linux) werden im 2.6 Kernel angeboten. Außerdem finden sich im Kernel Krypto-Algorithmen. IPSec wird nun ohne Kernelpatch unterstützt. Während der 2.4 Kernel mit FreeS/WAN gepatcht werden musste, um IPSec zu realisieren, ist im Kernel IPSec integriert. Von FreeS/WAN wurde jedoch Abstand genommen und der Code komplett neu geschrieben. Dieser native Code greift auf die im Kernel vorhandenen Krypto-Algorithmen zu. Um IPSec-Tunnel zu einem anderen System zu realisieren, die dazugehörigen Schlüssel zu definieren und die Verbindung tatsächlich aufzubauen, sind Userspace Tools notwendig. Für IPSec kommen zwei mögliche Userspace Tools in Frage: Isakmpd, welches seinen Ursprung bei OpenBSD findet, oder racoon zusammen mit setkey. Beide sind bzgl. Konfiguration und Syntax mit den aus der Vergangenheit vertrauten FreeS/WAN nicht kompatibel. Es sind Bestrebungen im Gange, die Userspace-Utilities von FreeS/WAN nun auch für den nativen IPSec-Code bereitzustellen. Patches für die Utilities sind vorhanden, so dass die bisherige Konfiguration ohne Kernel-Patch funktionsfähig ist. Zur Zeit ist jedoch in dem IPSec-Umfeld gegenüber der FreeS/ WAN-Version noch mit Einschränkungen zu rechnen. Performance und Skalierbarkeit Der 2.6 Kernel unterstützt bis zu 255 CPUs. Die Einflüsse aus dem Linux Scalability Effort-Projekt sorgen für eine bessere Skalierbarkeit und somit gerade bei großen und/ oder ausgelasteten Systemen für höhere Performance. Als eine maßgebende Eigenschaft von Algorithmen bzw. von Programmen für Performance und Skalierbarkeit wird der Begriff Ordnung verwendet. Er bezeichnet den Zusammenhang zwischen Anzahl z. B. die Anzahl der zu verwaltenden Prozesse und dem damit verbundenen (Verwaltungs-)Aufwand. Meist steigt mit der Anzahl auch der Aufwand. Dies kann z. B. linear oder exponentiell erfolgen. Ist der Aufwand unabhängig von der Anzahl und bleibt somit auch bei hoher Anzahl konstant, so wird von einer O(1)-Ordnung gesprochen. Systeme mit O(1)-Ordnung skalieren sehr gut und sind selbst unter Last, also bei großer Anzahl, noch performant. Der neue Scheduler ist durchgängig so konzipiert, dass er eine O(1)-Ordnung berücksichtigt. Während der Scheduler des 2.4 Kernel die gesamte Prozessliste durchsuchen musste, um den Prozess zu finden, der als nächstes Prozessorzeit bekommen sollte, ist nun eine Liste vorhanden, die zu jeder Priorität die zugehörigen Prozesse darstellt. Der erste Prozess in der wichtigsten, belegten Priorität kommt zum Zuge. Diese Suche ist schneller. Der Aufwand ist unabhängig von der Anzahl der verwalteten Prozesse. Der Scheduler ermittelt anhand der Rechenintensität und des I/O-Verhaltens des Prozesses, wie interaktiv ein Prozess ist und gibt interaktiven Prozessen eine höhere Priorität. Dadurch wird das Antwortzeitverhalten verbessert. Durch konzeptionelle Veränderungen wurden weitere Beschleunigungen erreicht. Sobald alle Prozesse einmal abgearbeitet sind, kommt es nicht, wie bisher, zu einer plötzlichen Neuberechnung aller Prioritäten. Nennenswert ist die Unterbrechbarkeit eines Prozesses, der sich gerade im Kernel-Mode befindet. Dadurch sind die Multitasking-Eigenschaften verbessert worden. Antwortzeiten der interaktiven Prozesse sind besser als beim 2.4 Kernel. Diese Unterbrechbarkeit ist wiederum eine notwendige Eigenschaft, für die Echtzeitfähigkeit von Linux. Zwar stellt Linux sicher, dass ein Echtzeitprozess die CPU bekommt, wenn er sie benötigt und nicht auf ein Ereignis warten muss, jedoch können maximale Antwortzeiten auch mit dem 2.6 Kernel nicht garantiert werden. Bei Mehrprozessorsystemen ist es darüber hinaus von Vorteil, wenn ein Prozess weitestgehend vom gleichen Prozessor abgearbeitet wird. Nur dann können die Caching-Eigenschaften des Prozessors genutzt werden. Dies wird beim 2.6 Kernel erreicht, da jeder Prozessor seine eigene Prozess-Queue besitzt. Loadbalancer-Routinen sorgen dafür, dass bei zu starker Ungleichbelastung der Prozessoren Prozesse in eine andere Queue übertragen werden. Die unterschiedlichen Queues sorgen außerdem für eine größere Unabhängigkeit der Prozessoren. Locking-Mechanismen, z. B. bei einem Kontextwechsel, wirken sich nun nicht mehr auf die anderen Prozess-Queues aus. 10

10 !"#$%&'()*+, Feinere Locking-Mechanismen sorgen auch an anderer Stelle für einen Performancegewinn. Es wird nur genau die Ressource gesperrt, die gerade benötigt wird. Somit können andere Aufgaben ohne Verzögerung weiter bearbeitet werden. Sogenannte Big Kernel Locks werden damit zunehmend aus dem Kernel verbannt. Threading wird durch die Native POSIX Thread Library (NPTL) realisiert. Diese konnte sich in Benchmarks gegen die von IBM entwickelte Next Generation POSIX Threads (NGPT) durchsetzen. Auch hier ist die Bearbeitung von Threads inzwischen unabhängig von der Anzahl der zu erzeugenden Threads und somit schneller als die Linux-Threads im 2.4 Kernel. Durch zusätzliche Tabellen konnte auch beim Paging-Verhalten eine O(1)-Ordnung erreicht werden. Der Aufwand, eine nicht benötigte Seite im Hauptspeicher zu finden und auszulagern, ist unabhängig von der Prozessanzahl, da nicht mehr alle Prozesse separat durchsucht werden müssen. Fazit Der 2.6 Kernel scheint eine gelungene Sache. Durch die höhere Skalierbarkeit und die durchdachten Konzepte (z. B. in der Device-Verwaltung, ACPI) ist er für die Zukunft gut gerüstet. Die Probleme, die zu Beginn des 2.4 Kernels auftraten, sind mit dem 2.6 Kernel nach unseren Untersuchungen nicht zu erwarten. Dieser Kernel spielt seine Überlegenheit vor allem bei extremen Bedingungen aus, z. B. sehr hohe Last, große Maschinen, ACPI-Anforderungen. Der Umstieg bei einem laufenden System lohnt sich aber nur, wenn an diesen Grenzen bereits gekratzt wird. Markus Schreier Richtigstellung der Redaktion: Perl parst Excel Im Artikel Perl parst Excel in der ORDIX News 4/2003 hatte sich auf Seite 5 der Fehlerteufel eingeschlichen: In dem gezeigten Skript war eine Klammer in eine falsche Zeile verrutscht. Wir danken unseren aufmerksamen Lesern, die uns auf den Fehlerteufel aufmerksam gemacht haben. Hier nun das korrigierte Skript: 1 #!/usr/bin/perl w 2 # Pfad unter UNIX zum perl-binary 3 use Spreadsheet::ParseExcel::Simple; 4 5 $xls = Spreadsheet: 6 :ParseExcel::Simple->read 7 ( excel_file.xls ); 8 = $xls->sheets; foreach $blattref { # Das folgende Array wird die gewonnenen Daten aus 14 # den xls-sheets beinhalten. Das Array soll jedoch 15 # Für jeden Schleifendurchlauf geleert werden. 16 = (); # Wenn das Blatt, welches auf $blattref (siehe Schritt3) 20 # zeigt, Daten hat, dann packe diese Daten in das 21 # Array Jede einzelne Zeile wird komplett 22 # als Referenz einem Feld im 23 # zugewiesen while ($blattref->has_data) { = $blattref->next_row; # Durchlaufen wird das Array mit den 30 # gewonnenen Excel-Daten. Jeder einzelne Feldwert 31 # muss dereferenziert werden, damit wir die Zeilen 32 # ausgeben können. Jede Zeile wird hier mit 33 # Zeilenumbruch auf STDOUT ausgegeben foreach $zeile { 36 ; 37 } 38 } 39 } Die Redaktion " Mit Merken Sie sich bereits jetzt einen wichtigen Termin für den Frühherbst diesen Jahres vor. Golf und ORDIX etwas Gutes tun Erste ORDIX Golf Open am 25. und Unser erstes Golfturnier für Amateure richten wir für einen guten Zweck aus. Am 25. und 26. September können Sie als Golf Amateuerspieler an unserem ersten ORDIX Golf Open teilnehmen und durch Ihr Spiel anderen helfen. Daneben gibt es attraktive Preise zu gewinnen. Auch für die nicht so golfbegeisterten Partner oder Familienmitglieder werden wir ein attraktives Rahmenprogramm aufstellen. Sie werden sich wohlfühlen im Familien Golfclub. Neugierige können sich schon mal im Internet unter (Senne Golfclub Gut Welschof, Schloß Holte-Stukenbrock) einen ersten Eindruck vom Club und Austragungsort machen. Weitere Informationen - insbesondere Teilnahmebedingungen, Rahmenprogramm etc. - erhalten Sie ab Mitte Mai bei Ihrem ORDIX Betreuer bzw. bei der Redaktion der ORDIX News In der nächsten ORDIX News 2/2004 erfahren Sie mehr über dieses attraktive Wochenende in Ostwestfalen. 11

11 Datenbanken Datenverschlüsselung mit dem DBMS_OBFUSCATION_TOOLKIT Um sensible Daten vor unberechtigten Zugriffen zu schützen, werden unterschiedliche Techniken verwendet. Neben Authentifizierung und Zugriffskontrolle kommt auch Datenverschlüsselung zum Einsatz. Datenverschlüsselung bietet einen zusätzlichen Schutz vor den unberechtigten Zugriffen Dritter auf sensible Daten und deren Manipulation und Missbrauch. Denn sie erfolgt mit einem Verschlüsselungsalgorithmus und einem Schlüssel. Oracle stellt seit der Version 8i mit dem DBMS_OBFUSCATION_TOOLKIT Package ein Paket zur Verfügung, mit dem Daten innerhalb einer Oracle Datenbank verschlüsselt werden können, um so einen unberechtigten Zugriff darauf zu verhindern. Grundlagen Das DBMS_OBFUSCATION_TOOLKIT Package verwendet für die Verschlüsselung von Daten den Data Encryption Standard (DES) Algorithmus. Bei dem DES Algorithmus handelt es sich um einen symmetrischen Verschlüsselungsalgorithmus. Dieser zeichnet sich dadurch aus, dass ein betrachteter, geheimer Schlüssel sowohl für die Ver- als auch für die Entschlüsselung verwendet wird. Im Allgemeinen ist für die Verschlüsselung mit dem DES Algorithmus ein 56 Bit langer Schlüssel nötig (siehe Abbildung 1). Neben dem DES Algorithmus stellt das DBMS_OBFUSCATION_ TOOLKIT Package auch den Triple DES (3DES) Algorithmus zur Verfügung. Der 3DES Algorithmus basiert ebenfalls auf dem DES Algorithmus, bietet aber die Möglichkeit der Dreifach-Verschlüsselung der Daten und damit zusätzliche Sicherheit. Der 3DES Algorithmus kann im Gegensatz zum einfachen DES Algorithmus in einem Zwei- bzw. Drei-Schlüsselmodus ausgeführt werden. Für den Zwei-Schlüsselmodus wird ein Schlüssel mit der Länge von 128 Bit benötigt. Für den Drei-Schlüsselmodus ein Schlüssel mit der Länge von 192 Bit. Standard bei der Verschlüsselung mit dem 3DES Algorithmus ist der Zwei-Schlüsselmodus. Einsatz der Verschlüsselung Das Beispiel in Abbildung 2 zeigt, wie man Daten mit Hilfe des DBMS_OBFUSCATION_TOOLKIT Package verschlüsseln bzw. entschlüsseln kann. Für die Verschlüsselung deklariert der DECLARE-Block eine Variable v_key, in der der Schlüssel abgelegt wird (Initialisierung in Abbildung 2). Für dieses Beispiel muss der Schlüssel also aufgrund des verwendeten 3DES Algorithmus aus mindestens 128 Bit bestehen. Die DES3Encrypt Funktion verschlüsselt dann die Zeichenkette ORDIX AG mit dem v_key Schlüssel und entschlüsselt sie anschließend mit der DES3Decrypt Funktion. Einschränkungen bei der Verschlüsselung Mit dem DBMS_OBFUSCATION_TOOLKIT Package können die Datentypen STRING und RAW ver- bzw. entschlüsselt werden. Dafür stellt Oracle spezielle Funktionen bzw. Prozeduren wie DES3Encrypt oder DES3Decrypt zur Verfügung. Sie unterscheiden sich lediglich im Datentyp der Parameter. Abb. 1: Für die Verschlüsselung mit dem DES Algorithmus ist ein 56 Bit langer Schlüssel nötig. Das DBMS_OBFUSCATION_TOOLKIT Package kann eine Zeichenkette immer nur einfach verschlüsseln. Eine mehrfache Verschlüsselung einer bereits verschlüsselten Zeichenkette ist nicht erlaubt. Beim Versuch, eine bereits verschlüsselte Zeichenkette noch einmal zu verschlüsseln, wird eine Fehlermeldung ORA Doppelte Verschlüsselung nicht unterstützt ausgegeben. Die Länge einer Zeichenkette, die verschlüsselt werden soll, muss dabei ein Vielfaches der Länge von 8 Byte besitzen. Zeichenketten mit einer Länge, die ungleich des Vielfachen der Länge von 8 Byte ist, können nicht verschlüsselt werden. In einem solchen Fall muss die Zeichenkette auf eine entsprechende Länge erweitert werden. Das Beispiel in Abbildung 3 zeigt, wie man eine Zeichenkette erweitern kann, damit man sie mit dem DBMS_OBFUSCATION_TOOLKIT Package verschlüsseln kann. 12

12 Datenbanken Im Quellcode in Abbildung 3 wird zuerst die Anzahl der Stellen ermittelt, die der Zeichenkette HALLO fehlen, um auf eine Länge zu gelangen, die ein Vielfaches der Länge von 8 Byte darstellt. Anschließend wird die ermittelte Anzahl an aufzufüllenden Stellen als ASCII-Code interpretiert und der CHR Funktion übergeben. Die CHR Funktion liefert zu einem ASCII-Code das entsprechende Zeichen aus der ASCII- Tabelle zurück. Danach wird die HALLO - Zeichenkette so oft um das Zeichen aus der ASCII-Tabelle erweitert, bis die Gesamtlänge der Zeichenkette ein Vielfaches der Länge von 8 Byte besitzt. Für die Entschlüsselung der Zeichenkette gilt das analoge Verfahren. Dabei muss der Klartext um die erweiterten Zeichen aus der ASCII- Tabelle gekürzt werden (s. Abbildung 4). Der Vorteil bei der oben beschriebenen Vorgehensweise ist, dass die Zeichenketten immer nur um Steuerzeichen wie z. B. ^E oder ^G erweitert werden. Derartige Steuerzeichen kommen in Zeichenketten nur selten vor. Schlüsselmanagement Eine zentrale Rolle bei der Verschlüsselung spielt das Erzeugen und Verwalten des Schlüssels. Besteht ein Schlüssel aus einfachen, zusammengesetzten Wörtern, so errät man diesen leicht. Für die Erzeugung von sicheren und zufälligen Schlüsseln stellt Oracle im DBMS_OBFUSCATION_TOOLKIT Package spezielle DESGetKey- bzw. DES3GetKey Funktionen zur Verfügung. Um einen Schlüssel mit Hilfe der DES3GetKey Funktion zu erzeugen, wird eine beliebige Zeichenkette benötigt, die der Funktion DESGetKey als Parameter übergeben wird. Diese (beliebige) Zeichenkette wird bei der Generierung von Schlüsseln benötigt. Sie muss mindestens 80 Zeichen lang sein. Nachdem ein Schlüssel erzeugt wurde, stellt sich die Frage, wo dieser abgelegt werden kann. Grundsätzlich besteht die Möglichkeit, einen Schlüssel in der Datenbank, in einer Datei im Betriebssystem oder in der Datenbankanwendung zu speichern. Darüber hinaus kann die Eingabe des Schlüssels durch den Anwender selbst erfolgen. Wird die Eingabe des Schlüssels dem Anwender selbst überlassen, so kann es vorkommen, dass dieser den Schlüssel vergisst bzw. verliert. In einem solchen Fall können die verschlüsselten Daten nicht wieder entschlüsselt werden. DECLARE v_key VARCHAR2(50) := ; v_chiffretext VARCHAR2(50); v_klartext VARCHAR2(50); BEGIN -- Verschluesseln... v_chiffretext := DBMS_OBFUSCATION_TOOLKIT.DES3Encrypt( input_string => ORDIX AG, key_string => v_key ); DBMS_OUTPUT.PUT_LINE( Chiffretext: v_chiffretext); -- Entschluesseln... v_klartext := DBMS_OBFUSCATION_TOOLKIT.DES3Decrypt( input_string => v_chiffretext, key_string => v_key ); DBMS_OUTPUT.PUT_LINE( Klartext: v_klartext); END; / Chiffretext: k;32.å^ Klartext: ORDIX AG Abb. 2: Ver- und Entschlüsseln der 8 Zeichen langen Zeichenkette ORDIX AG mit dem 3DES Algorithmus. i := 8 - MOD( LENGTH( HALLO ), 8 ); v_klartext := HALLO RPAD(CHR(i), i, CHR(i)); DBMS_OBFUSCATION_TOOLKIT.DES3Encrypt (input_string=>v_klartext,... Abb. 3: Verschlüsseln: Eine Zeichenkette muss verlängert werden, bis die Länge einem Vielfachen der Länge von 8-Byte entspricht. DBMS_OBFUSCATION_TOOLKIT.DES3Decrypt (input_string=>v_chiffretext,... v_laenge := LENGTH(v_klartext); v_klartext := RPAD (v_klartext,v_laenge - ASCII (SUBSTR(v_klartext,v_laenge))); Abb. 4: Entschlüsseln: Die bei der Verschlüsselung verlängerte Zeichenkette wird auf die eigentliche Länge zurückgekürzt. Legt man den Schlüssel in einer Datei auf dem Dateisystem ab, so kann es bei häufigen Zugriffen auf den Schlüssel zu Performanceeinbußen kommen. Wird der Schlüssel in der Anwendung abgelegt, so kann sichergestellt werden, dass selbst ein Datenbankadministrator die verschlüsselten Daten nicht entschlüsseln kann. Voraussetzung dafür ist allerdings, dass die Anwendung sich auf einem anderen Rechner befindet als die Datenbank. Auswirkungen der Verschlüsselung auf die Performance Da die Daten vor der Darstellung entschlüsselt und vor dem Abspeichern verschlüsselt werden müssen, ist mit einer erhöhten Ausführungszeit solcher Datenbankanwendungen zu rechnen. Die erhöhte Ausführungszeit macht sich vor allem bei einer Jobverarbeitung mit sehr großen Datenmengen bemerkbar. Bei einem Programm mit einer Benutzerschnittstelle fällt allerdings die 13

13 Datenbanken etwas höhere Ausführungszeit nahezu nicht ins Gewicht. Hier liegt die Ausführungszeit erfahrungsgemäß im Millisekundenbereich. Fazit Mit dem DBMS_OBFUSCATION_TOOLKIT Package bietet Oracle eine Möglichkeit, Daten in der Datenbank zu verschlüsseln. Ziel der Datenverschlüsselung ist, einen unberechtigten Zugriff von Dritten auf sensible Daten und deren Manipulation und Missbrauch zu verhindern. Es ist allerdings zu beachten, dass die hohe Sicherheit zu Performanceeinbußen bei der Ausführungszeit von Datenbankanwendungen führt. Die Verschlüsselung sollte demzufolge nur dann eingesetzt werden, wenn sensible Daten gespeichert werden sollen und eine hohe Sicherheit der Daten erforderlich ist. Das DBMS_OBFUSCATION_TOOLKIT Package ist sowohl in der Oracle Standard Edition als auch in der Oracle Enterprise Edition verfügbar. Im Gegensatz zu der Advanced Security Option (ASO), mit der unter anderem die Datenübertragung im Netz verschlüsselt werden kann, ist das DBMS_OBFUSCATION_ TOOLKIT Package nicht lizenzpflichtig und verursacht somit keine zusätzlichen Kosten. Markus Fiegler Impressum Herausgeber: ORDIX AG Aktiengesellschaft für Softwareentwicklung, Beratung, Schulung und Systemintegration, Paderborn Redaktion: Sascia Brinkmann, Helma Jenniches V.i.S.d.P.: Wolfgang Kögler Anschrift der Redaktion: Westernmauer D Paderborn Fon: / Fax: / Gestaltung/Layout: Sascia Brinkmann Autoren dieser Ausgabe: Christof Amelunxen Holger Bartnick Markus Fiegler Christian Göcke Stefanie Heither Michael Heß Martin Hoermann Adam Jendrosek Helma Jenniches Matthias Jung Michael Lindermann Roger Niemeyer Wolfgang Kögler Andreas Kother Beate Künneke Klaus Reimers Antonio Salguero Guido Saxler Markus Schreier Druck: Druckerei Reike GmbH, Paderborn Copyright: ORDIX AG. Alle Rechte vorbehalten. Die Zeitschrift ORDIX News hat eine Auflage von Exemplaren. Sie wird von der ORDIX AG an ausgesuchte Kunden verteilt und kann für 2,20 Euro bei uns bestellt werden. Außerdem finden Sie die neueste Ausgabe der ORDIX News im Internet unter: Schauen Sie mal rein. Der Kontakt zu unseren Lesern ist uns sehr wichtig. Für Anregungen, Kritik und Anmerkungen zu den Themen, aber auch für interessante Ideen sind wir immer offen und dankbar. Sie erreichen die Redaktion auch per unter Wir freuen uns auf Ihr Feedback. 14

14 Unix/Linux/Open Source SQLite Die Datenbank für Kalorienbewusste Ab der neuen PHP Version 5.0 (momentan noch im BETA Zustand) steht den Anwendern ein neues Feature zur Verfügung: SQLite. Bei dieser C Bibliothek handelt es sich um eine dateibasierte Datenbank, die ohne die aufwändige Installation, Pflege, Wartung und Administration eines herkömmlichen DBMS auskommt. Selbstverständlich können auch ältere PHP-Versionen um dieses Feature erweitert werden. Sämtliche Sourcen findet man auf der Web-Seite Was ist SQLite? Bei SQLite handelt es sich um eine C Bibliothek, die einen eingebetteten Datenbankserver beinhaltet. Programmiersprachen, welche diese Extension nutzen, können ohne auf ein externes DBMS zurückgreifen zu müssen, mit SQL-Datenbanken arbeiten. Auch die Webskriptsprache PHP liefert dieses Feature mit der noch im BETA-Stadium befindlichen Version 5.0 aus. Neben den Bibliotheken für die Betriebssysteme Windows und Linux/Unix steht SQLite auch als Kommandozeilen-Version zum Download zur Verfügung. Natürlich kann SQLite auch mit Java, Tcl, Ruby, Delphi, Visual Basic,.NET usw. eingesetzt werden. Gegenstand dieses Artikels ist jedoch das Zusammenspiel von PHP und SQLite. Wer braucht so etwas? Viele Leser werden sich jetzt fragen, wozu eine flatfile -basierte Datenbank überhaupt notwendig ist. PHP wird von jeher hauptsächlich im Webbereich eingesetzt. Viele nützliche Skripte und Applikationen, wie z. B. Gästebücher, Shops oder Umfragemodule, wurden in dieser Skriptsprache geschrieben. Die Entwickler solcher Anwendungen mussten sich bis jetzt entscheiden, ob sie ihre Applikationen datenbankgestützt oder auf Textdateien aufbauen sollten. Das Problem bei Datenbanklösungen ist nach wie vor die Tatsache, dass viele Provider sich Hostingpakete mit Datenbankunterstützung teuer bezahlen lassen. Darüber hinaus bringt ein Datenbankmanagementsystem (DBMS) einen gewissen Overhead mit sich (komplexe Installation und Pflege z. B. bei der Rechtevergabe), der für kleinere Aufgaben gegebenenfalls übertrieben ist. Auf der anderen Seite kann die Arbeit mit Textdateien recht nervtötend sein. Oftmals ist es sehr problematisch, die verschiedenen, zu speichernden Daten einer Anwendung sinnvoll in Dateien abzulegen bzw. wieder aus den Dateien zu ermitteln, um damit zu arbeiten. Tabellen mit Primär- und Fremdschlüssel und einer definierten logischen Struktur (Spalten) erleichtern dem Anwender die Suche nach bestimmten Datensätzen doch erheblich. Genau hier liegt die Stärke von SQLite. Die Bibliothek kombiniert die Vorteile der logischen Struktur von relationalen Datenbanken mit der einfachen Handhabung und Verwaltung von Dateien im Filesystem. Wie funktioniert das genau? Leser, die sich mit PHP auskennen, werden schnell erkennen, dass die Syntax der SQLite-Funktionen stark an die Datei- und Verzeichnisfunktionen angelehnt ist. Um mit einer Datenbankdatei zu arbeiten, muss diese zunächst geöffnet werden. Existiert die Datenbankdatei noch nicht, würde zu diesem Zeitpunkt kurzerhand eine neue Datei erstellt. Nach dem Öffnen der Datei, kann auf alle Tabellen der Datei via SQL zugegriffen werden (siehe Listing 1). Ein bisschen gewöhnungsbedürftig sind die DDL-Statements zum Anlegen neuer Ta- <? // Datenbankdatei wird geöffnet $db = sqlite_open( adressen.db ) or die ( DB konnte nicht geöffnet werden. ); // INSERT-Statement $i_sql = INSERT INTO adresse (name, strasse, plz, ort) VALUES ( ORDIX AG, Westernmauer 12-16, 33098, Paderborn ) ; sqlite_query ($db, $i_sql); // SELECT-Statement $s_sql = SELECT * FROM adresse ; $adressen = sqlite_query ($db,$s_sql); // Ausgabe der Ergebniszeilen while($adr_array = sqlite_fetch_array($adressen)) { print_r($adr_array); } // Datenbankdatei schließen sqlite_close($db);?> Listing 1: Das Skript fügt einen Datensatz in die Tabelle adresse ein und zeigt anschließend sämtliche Datensätze an. 15

15 Unix/Linux/Open Source CREATE TABLE adresse (name, strasse plz, ort); Listing 2: DDL-Kommando der anderen Art: Da SQLite intern alle Spalteninhalte als Strings verarbeitet, müssen bei der Tabellendefinition keine Datentypen mehr angegeben werden. <? // Datenbankdatei wird geöffnet $db = sqlite_open( adressen.db ) or die ( DB konnte nicht geöffnet werden. ); // manueller Transaktionsbeginn sqlite_query($db, BEGIN ); // SQL-Statements... // SQL-Statements Ende // manuelles Transaktionsende sqlite_query($db, COMMIT ); // Datenbankdatei schließen sqlite_close($db);?> Listing 3: Transaktionsproblem: Um die Performance zu verbessern, sollte man die SQL-Statements eines Skriptes möglichst innerhalb einer Transaktion absetzen. bellen. SQLite unterscheidet intern nämlich keine Datentypen. Sämtliche Inhalte werden in den Dateien einfach als Strings verwaltet. Dies führt dazu, dass bei CREATE-Statements die Datentypen nicht zwingend angegeben werden müssen (siehe Listing 2). Bei Sortiervorgängen (ORDER BY Klausel) werden die Spalten dann anhand der Inhalte in die Kategorien numeric oder text gruppiert und dementsprechend logisch auf- oder absteigend (ASC, DESC) sortiert. Vorausschauend gedacht, sollte man beim Anlegen von Tabellen den Spalten aber dennoch Datentypen zuweisen. Denn eventuell macht es später einmal Sinn, die Tabellen mittels eines Exports in eine richtige Datenbank eines professionellen DBMS zu übernehmen. Auch wenn SQLite selbst Datentypen nicht berücksichtigt, so werden sie trotzdem bei einem Dump wieder mit ausgegeben. Die Arbeit mit den Datenbankdateien ist recht trivial. Nachdem Sie eine Datenbankdatei geöffnet und damit ein entsprechendes Filehandle erhalten haben, können Sie Ihre SQL-Statements absetzen. Abschließend sollten Sie nach Ihren SQL-Statements die Datei wieder schließen und damit den Zugriff auf die Datei für andere User freigeben (siehe Listing 1). Performance oder was? Die Performance von SQLite hängt stark von der Anzahl und dem Umfang der Transaktionen ab. In der Regel wird die Performance mit einer steigenden Anzahl von Transaktionen schlechter. Dies liegt an der internen Verarbeitung. Abb. 1: Transaktionsproblem: Die Performance von SQLite schwindet mit der Zunahme von Einzel-Transaktionen erheblich. Besonders viel Zeit fressen dabei die einzelnen Dateizugriffe. Für jede Transaktion muss die Datenbankdatei geöffnet, das Statement abgesetzt und anschließend die Datenbankdatei wieder geschlossen werden. Diese Lese- und Schreibzugriffe kosten bekanntermaßen sehr viel Zeit und Performance. Darüber hinaus muss nach jeder Transaktion der interne Cache gelöscht werden. Auch dieser Vorgang kostet Zeit. Standardmäßig wird für jedes SQL-Statement eine eigene Transaktion gestartet. Dieses Verhalten kann jedoch umgangen werden, indem man eine Datenbankdatei öffnet, einen Transaktionsbeginn definiert und anschließend alle SQL-Befehle innerhalb dieser Transaktion absetzt. Danach kann die Transaktion beendet werden (siehe Listing 3). Abb. 2: Benchmarking: MySQL und SQLite im direkten Vergleich. Untersucht wurde die Dauer, die benötigt wird, um mehrere INSERT- Statements in einer Transaktion zu verarbeiten. Durch diesen manuell definierten Transaktionsrahmen kann die Performance erheblich gesteigert werden, da nun die Datei nur einmal geöffnet und geschlossen wird (s. Abbildung 1). 16

16 Unix/Linux/Open Source Unter Berücksichtigung dieser Besonderheit, kann sich SQLite ohne Probleme z. B. mit der sonst oft genutzten MySQL-DB messen. Bei einer einfachen Teststellung, dem Ausführen von Insert-Statements in eine einspaltige Tabelle, konnte SQLite den Konkurrenten sogar weit hinter sich lassen (siehe Abbildung 2). Einen detaillierten Benchmarkbericht finden Sie auf der Seite Und wo ist der Haken? SQLite ist als Multiuser-Datenbank nicht sonderlich geeignet. Wie im Performanceteil bereits erwähnt, beinhaltet jede Transaktion ein Öffnen und Schließen der jeweiligen Datenbankdatei. Somit ist es ausgeschlossen, dass gleichzeitig mehrere User mit der selben Datenbank(-datei) arbeiten können. Denn sobald eine Transaktion die Datenbankdatei geöffnet hat, müssen alle anderen User auf das Ende der Transaktion warten, unabhängig davon mit welcher Tabelle sie innerhalb dieser Datenbankdatei arbeiten wollen. Das Problem kann natürlich dadurch minimiert werden, dass jede Datenbankdatei immer nur eine Tabelle beinhaltet. Wirklich zufriedenstellend ist dies bei sehr hohen Zugriffszahlen jedoch nicht. Ein zweiter Wermutstropfen ist die Tatsache, dass der SQL92- Standard (noch) nicht 100%ig unterstützt wird. So fehlen derzeit noch die folgenden Features: CHECK constraints Fremdschlüssel ALTER TABLE (Tabelleninhalte müssen exportiert und die Tabelle anschließend neu aufgebaut werden) COUNT(DISTINCT X) Funktion RIGHT & FULL OUTER JOIN INSERTS auf VIEWS (Problem kann aber über Trigger gelöst werden) GRANT & REVOKE (Die Zugriffssteuerung muss über die Leseund Schreibrechte auf Dateisystemebene gesteuert werden) Fazit SQLite wird sicherlich den etablierten Datenbanksystemen im Webbereich nicht den Rang ablaufen können. Dies ist aber auch nicht das Ziel dieser Extension. Vielmehr eröffnet sie die Möglichkeit, kleinere, bisher dateibasierte Applikationen und Skripte ein bisschen komfortabler und unabhängiger von den unterschiedlichen Hostingpaketen zu machen. Darüber hinaus ist SQLite ein nützliches Feature, um z. B. PHP- Applikationen auf CD-ROM zu Demozwecken laufen zu lassen. Es bleibt also die Hoffnung, dass möglichst viele Provider demnächst dieses Feature aktivieren und den Anwendern das Leben damit ein wenig erleichtern. Matthias Jung Seminarvorstellung: Linux Hochverfügbarkeits-Cluster Der Teilnehmer lernt Grundlagen der Hochverfügbarkeit und der Clustertechnologie kennen sowie deren praktische Umsetzung am Beispiel der Linux High Availability Software (heartbeat) und dem Linux Virtual Server Project. Zielgruppe Systemadministratoren. Voraussetzungen Gute Unix Kenntnisse. Termine in Wiesbaden in Wiesbaden in Wiesbaden Aktuelle Termine finden Sie jederzeit auch im Internet unter Inhalte Grundlagen der Hochverfügbarkeit Grundlagen der Clustertechnologie Logical Volume Management unter Linux (RAID, LVM) Hochverfügbarkeitslösungen unter Linux Linux High Availability Project - Installation - Konfiguration - Failover-Szenarien - Storage-Szenarien - Monitoring - Diagnose und Troubleshooting Linux Virtual Server - Loadbalancing allgemein - Konzept der LVS - Installation - Loadbalancing für eine Webserver Farm mit LVS - Monitoring - Diagnose und Troubleshooting Übungen Dauer: 4 Tage Kursgebühr/Teilnehmer: 1.390,00 Euro 17

17 Java/XML Der (J)Boss wird s richten... Wird heute in einem heterogenen Umfeld eine Anwendung realisiert, die einerseits unterschiedliche Clients bedient und andererseits auf schon vorhandene Alt-Systeme und Datenbanken zugreift, dann ist eine Mehrschichtenarchitektur auf Basis eines Applikationsservers die erste Wahl. In diesem Bereich haben sich Enterprise JavaBeans (EJB) basierte Server, auch J2EE Applikationsserver genannt, durchgesetzt. Kommerzielle Applikationsserver von IBM, BEA, Oracle usw. sind vielen ein Begriff. Bei näherer Betrachtung stellt man allerdings auch fest, dass mit ihnen in der Regel hohe Lizenzkosten und Wartungsgebühren einhergehen. Eine Alternative stellt hier der Einsatz eines Open Source Applikationsservers wie z. B. JBoss dar. Er ist inzwischen einer der meist eingesetzten Applikationsserver weltweit und kann sich ohne weiteres mit seinen kommerziellen Konkurrenzprodukten messen. Seit Ende Mai 2003 steht die Produktionsversion JBoss 3.x auf der JBoss-Web-Seite zur Verfügung [1]. Dieser Artikel stellt in Kürze die wichtigsten Features und Verbesserungen des aktuellen Releases 3.2 vor. Neue JMX-Architektur Die von Grund auf neu entwickelte Architektur des JBoss-Servers basiert auf der Java Management Extension (JMX). JMX bietet einen Standard zur Verwaltung und Überwachung von verschiedenen Ressourcen (Software- und Hardwarekomponenten) aus Java heraus. JMX bildet das Rückgrat zur Integration und Überwachung aller JBoss-Komponenten, wie Module, Komponenten und Plug-ins (siehe Abbildung 1). Zur Verwaltung und Überwachung werden sogenannte Managed Beans (MBeans) eingesetzt, die mit den jeweiligen Ressourcen assoziiert sind und diese aus JMX-Sicht abstrahieren. Jede MBean muss an einen MBean Server angemeldet sein. Der MBean Server greift zusätzlich auf Services zu, mit denen er die angemeldeten MBeans verwalten kann. Diese können wiederum selbst als MBeans implementiert sein. Der MBean Server und die Services bilden zusammen den JMX Agent. JTS/JTA EJB Container Security Data Sources JMX Implementierung Remote Management Databases JSP JMS Abb. 1: Die JBoss JMX Architektur mit den darauf aufsetzenden JBoss Komponenten. Die MBeans werden von dem JMX Agent den sogenannten JMX Management Anwendungen zur Verfügung gestellt. Diese kommunizieren mit dem JMX Agent und den MBeans über Kommunikations-Connectoren oder - Adapter. Eine solche JMX Management Anwendung ist beim JBoss die JMX Agent View (JMX Konsole) [http://localhost:8080/jmxconsole]. Sie läuft im Browser und dient zur Anzeige und Änderung der aktuellen Konfiguration der JBoss-Komponenten. Die Web-Konsole [3] liefert u. a. zusätzliche Informationen über die aktuell geladenen EJBs und Deployment-Deskriptoren sowie statistische und dynamische Informationen über die EJB-Nutzung. Kenntnisse über diese Parameter sind während der Entwicklung aber auch später, vor allem bei der Performanceoptimierung, von großer Wichtigkeit. Unified Class Loader Früher oder später macht man auch die Bekanntschaft mit einem umstrittenen JBoss- Feature: Die Architektur des Unified Classloaders. Obwohl der EJB-Standard einen Classloader je EJB-JAR vorschreibt, arbeitet der JBoss standardmäßig mit einem übergreifenden Classloader. Diese Besonderheit wurde eingeführt, um das dynamische Austauschen von Komponenten zur Laufzeit, das sogenannte Hot Deployment, auch auf die Kernkomponenten des JBoss zu übertragen. War es in JBoss 2.x noch mit Schwierigkeiten verbunden, aus MBeans heraus dynamisch deployte J2EE- Komponenten anzusprechen, umfasst das Hot Deployment nun auch die MBeans selbst. Somit lassen sich alle Einzelbestandteile des JBoss zur Laufzeit auswechseln. Die neue Classloader-Architektur bringt es mit sich, dass Klassen in EJB-JARs nicht mehr doppelt vorkommen dürfen. So lassen sich JARs nicht nur nach Zuständigkeiten, sondern auch nach Package-Grenzen bauen. Durch den Wegfall von doppelten Klassen sinkt natürlich auch die Größe der resultierenden JARs. Dies hat den positiven Nebeneffekt, 18

18 Java/XML dass sich die Performance der Anwendung spürbar verbessert. Jedoch wäre JBoss nicht JBoss, wenn sich dieses Feature nicht auch so konfigurieren ließe, dass die Classloader- Semantik von JBoss 2.x eingesetzt wird. Konfigurierbarkeit Wer JBoss noch aus seinen 2.x Tagen kennt, wird die ersten sichtbaren Änderungen in der Verzeichnisstruktur entdecken. Untergliederten sich die Verzeichnisse bis dato standardmäßig nach ihren funktionalen Aufgaben wie Deployment, Konfiguration etc., wird nun alles in eine wesentlich hierarchischere Struktur gegliedert. Für jedes Schema ist ein klar definierter Herrschaftsbereich vorgesehen. Bestandteile der Konfiguration finden nun auch direkt in den Deployment-Verzeichnissen ihren Platz. Dadurch erweitert sich das Hot Deployment des JBoss nun auch um die Skripte zur Datenbankkonfiguration. So lässt sich beispielsweise die zur Laufzeit benutzte Datenbank austauschen. Messaging mittels JMS Ein wichtiges Kommunikationsparadigma in J2EE-Anwendungen ist die nachrichtenbasierte (asynchrone) Kommunikation. Zur Realisierung dieser Technik implementiert der JBoss den Dienst Java Messaging Service (JMS) in der Version 1.0.2b. Das Prinzip dieses Nachrichtenaustausches ist recht einfach. Es gibt drei Instanzen, die beteiligt sind: 1. Sender 2. Empfänger 3. Ein sogenannter MessageBroker Sender und Empfänger [z. B. MessageDriven- Beans (MDBeans)] kennen sich nicht, kommunizieren nie direkt miteinander und sind somit entkoppelt. Stattdessen werden alle Nachrichten an einen MessageBroker gesendet, wo sie in Queues oder Topics verwaltet werden. Der MessageBroker sendet die Nachrichten an die registrierten Empfänger. Der MessageBroker des JBoss ist der JMS-Provider JBossMQ. Die Verwaltung und Konfiguration erfolgt auch hier über MBeans. Mit Hilfe der JMX Agent View können verschiedene JMS-Einstellungen vorgenommen und Informationen über den JBossMQ ermittelt werden. Hierzu gehören z. B. das Erzeugen von neuen Queues und Topics oder das Monitoring des Message- Caches (Anzahl der Nachrichten, Performance, etc.). Container-managed Persistence (CMP) 2.0 Auch die CMP-Engine wurde gegenüber der Vorgängerversion komplett überarbeitet. Sie unterstützt jetzt den Standard CMP 2.0. Eine wichtige Errungenschaft von CMP 2.0 ist das Container Management Relationship. Entwickler müssen die EntityBean-Beziehungen nicht mehr hart kodieren, wie es im EJB 1.0 noch der Fall war. Der EJB-Container kann 1-1, 1-n und n-m Beziehungen inklusive referenzieller Integrität automatisch verwalten. Dies ist allerdings nur zwischen Local Interfaces, d. h. innerhalb einer JVM möglich. Ein weiteres Merkmal von CMP 2.0 ist die Einführung der EJB Query Language (EJB-QL). Damit lassen sich finder- und ejb- Select-Methoden plattformunabhängig implementieren. Performance Die hier vorgestellte Neuimplementierung des JBoss 3.x besticht im Vergleich zum JBoss 2.x vor allem durch seine deutlich gesteigerte Performance. Diese war in einem unserer Kundenprojekte für den Umstieg auf den JBoss 3.x maßgebend. Fazit Neben den in diesem Artikel dargestellten neuen Features des JBoss 3.x, sind ausgefeilte Sicherheitsmechanismen auf JTS- und JTA-Basis, Clustering usw. weitere Eckpfeiler des Produkts. Damit ist der JBoss 3.x ein ausgewachsener, performanter und stabiler Applikationsserver. Die Möglichkeit, diesen auch problemlos auf dem Entwicklerrechner starten zu können, sein Hot Deployment und seine leichte Konfigurierbarkeit, machen ihn für alle Phasen eines Softwareprojekts interessant. Auch die Möglichkeiten der JMX- und Web- Konsole zum Monitoring des JBoss und der EJB-Anwendung möchte man schnell nicht mehr missen. Zukunft Wir werden Sie auch zukünftig an dieser Stelle auf dem Laufenden halten. Interessant wird vor allem ein Vergleich mit den kommerziellen Wettbewerbsprodukten von IBM, Oracle oder BEA. Natürlich informieren wir Sie in Zukunft auch, was Programmierung und Administration solcher Applikationsserver betrifft. Wer darauf aber nicht warten möchte, meldet sich einfach direkt bei uns unter Links [1] Download der aktuellen Produktversion von JBoss [2] JMX Agent View (JMX Konsole) [3] Web-Konsole Holger Bartnick 19

19 Unix/Linux/Open Source Mit Webmin alles im Griff Viele Administratoren sind der Meinung, dass das Programm der Wahl zur Konfiguration des Unixsystems der Editor vi ist. Dem soll hier auf keinen Fall widersprochen werden. Vielmehr soll eine Alternative aufgezeigt werden, die es erlaubt, sich im Dschungel der Konfigurationsdateien etwas besser zurecht zu finden. In relativ kurzer Zeit setzte sich das Konfigurationstool Webmin zur Unix Systemverwaltung durch. So verwenden französische Entwickler dieses Tool für ihre Mandrake Linux Distribution. Was ist Webmin? Nun, Webmin ist ein in Perl programmiertes Werkzeug, um Unix allgemein und viele seiner Dienste zu konfigurieren. Es ermöglicht die Installation von Software, das Einrichten von Usern, die Administration von Sendmail, Apache, DNS Server, Majordomo, LPD, Samba, Squid, usw. über das Netzwerk mit Hilfe eines einfachen Browsers. Die Nachteile Es dürfte mehr als einen Systemverwalter geben, dem sich bei dem Gedanken, Server per Webbrowser zu verwalten, alle Haare aufstellen. Tatsächlich ist das Sicherheitsrisiko, eine umfassende Serversteuerung versehentlich frei zugänglich zu machen, nicht von der Hand zu weisen. Eine gründliche Absicherung des Servers und eine Verschlüsselung mit SSL sind eine zwingend notwendige Maßnahme. Zusätzlich sind Kenntnisse über die Installation von Perl Modulen erforderlich, da einige Webmin Module mehr als die Standard Bibliotheken verwenden. Bei der großen Anzahl verfügbarer Module ist ebenfalls Vorsicht geboten, denn nicht jedes Modul hält, was es verspricht. Die Installation Damit Sie Webmin installieren können, muss auf Ihrem Server Perl in der Version oder höher verfügbar sein. Webmin kann auf fast allen Unix Derivaten und Linux Distributionen eingesetzt werden. Weitere Webmin Module und Informationen finden Sie im Internet unter [1]. Laden Sie sich Webmin von dort auf Ihren Server und kopieren Sie die Datei webmin- 1.xx.tar.gz in das Zielverzeichnis z. B. [/usr/ local]. Mit tar -xvfz webmin-1.xx.tar.gz entpacken Sie Webmin in das Verzeichnis [/ usr/local/webmin-1.xx]. Wechseln Sie in dieses Verzeichnis und geben Sie dort./setup.sh ein. Es beginnt die Abfrage nach dem Betriebssystem, nach den Webmin Konfigurationsverzeichnissen z. B. [/etc/webmin] und dem Log-Verzeichnis z. B. [/var/webmin], sowie nach dem Login und dem Passwort. Sie werden anschließend gefragt, ob Webmin beim Booten gestartet werden soll. Falls ja, wird der Webmin Server gestartet und der Systemadministrator kann sich einloggen. Der erste Kontakt Webmin ist sofort nach der Installation mit einem Browser auf dem Port des Servers anzusprechen. Es erscheint dann eine Maske zum Anmelden per Loginname und Passwort. Bei einer funktionsfähigen Installation sollte die Startseite von Webmin (siehe Abbildung 1) zu sehen sein. Nun kann die Konfiguration beginnen. Diese erfolgt in zwei Teilen. Zum einem in der Webmin Konfiguration und zum anderen in der eigentlichen Systemkonfiguration. In der Webmin Konfiguration werden alle relevanten Einstellungen für das Webminsystem selbst eingetragen (Zugriffsrechte, Ports, etc.). Interessante Webmin Module Exemplarisch werden zwei interessante Webmin Module kurz erläutert. Samba Abb. 1: Startseite von Webmin. Das Samba Modul ist besonders interessant, da der Systemverwalter ohne Kenntnisse der 20

20 Unix/Linux/Open Source Syntax der smb.conf Windows Datei- und Druckerfreigaben erstellen kann. Dazu muss einmalig in der Modulkonfiguration der Samba Pfad angepasst werden. Danach sollte die Webseite aus Abbildung 2 zu sehen sein. Nun können Sie über den Link Neue Dateifreigabe erstellen Ihren Clients Netzwerklaufwerke per SMB-Protokoll zur Verfügung stellen. Dabei können selbstverständlich auch Berechtigungen vergeben werden. Nach der Erstellung der Freigabe ist es notwendig, dass der Samba Dämon entweder neu gestartet wird oder seine Konfigurationsänderungen liest. Dieses kann komfortabel über den Button Samba Server neu starten geleistet werden. DNS Bind Abb. 2: Ansicht samba-main. Ein weiteres, interessantes Modul ist das DNS Server Modul. Es vereinfacht die Handhabung der DNS Dateien erheblich, da nun alle benötigten Dateien auf einen Blick ersichtlich sind. Dadurch wird die Fehlerquote wesentlich verringert, da eine fehlerhafte Syntax in den Konfigurationsdateien vermieden wird. Dabei handelt es sich um eine massive Arbeitserleichterung für den Systemadministrator, denn eine solche Tätigkeit wird nicht so häufig durchgeführt. Do It Yourself Natürlich können auch Benutzer ohne Administratorrechte Webmin benutzen, um Ihre Alltagsaufgaben zu erledigen. Dies wird verdeutlicht am Beispiel eines Webentwicklers und dem Apache Webserver Modul (siehe Abbildung 3). Dazu muss der Systemverwalter die Rechte für das Webmin Modul vergeben und je nachdem, wie weit er dem Webentwickler vertraut, gestattet er ihm Vollzugriff auf das Modul oder er vergibt nur eingeschränkte Rechte. Nachdem die Zugriffsrechte zugeteilt wurden, kann der Softwareentwickler dann seinen Webserver durchstarten oder seine Konfiguration anpassen. Weitere Infos und Dokumentationen im Internet: [1] Webmin Infos: [2] Perl Infos: [3] Weitere Perl Module: Abb. 3: Apache Administration unter Webmin. Fazit Webmin ist ein flexibles Administrationstool, das dabei unterstützt, die alltäglichen Routinearbeiten einfach und zuverlässig zu erledigen, ohne spezialisiertes Fachpersonal dafür zu haben. Lediglich das einmalige Einrichten des Servers erfordert zusätzliche Kenntnisse. Zwar existieren nicht für alle Unix Dienste entsprechende Webmin Module, aber die Entwicklung geht rasant voran. Und vielleicht gibt es jetzt schon das eine oder andere neue Modul. Sollten Sie Fragen bezüglich der Webmin Integration in Ihrem Unternehmen haben, stehen wir Ihnen gerne zur Verfügung. Christian Göcke, Adam Jendrosek 21

Backuptest mit Oracle RMAN

Backuptest mit Oracle RMAN Backuptest mit Oracle RMAN Ein Product Whitepaper der Firma ASPICON www.aspion.de Bitte nutzen Sie auch unser Antwortfax auf der letzten Seite. Vielen Dank. Inhaltsverzeichnis 1. Vorbereitungen...2 2.

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

PARAGON Encrypted Disk

PARAGON Encrypted Disk PARAGON Encrypted Disk Anwenderhandbuch Paragon Technologie, Systemprogrammierung GmbH Copyright Paragon Technologie GmbH Herausgegeben von Paragon Technologie GmbH, Systemprogrammierung Pearl-Str. 1 D-79426

Mehr

Manuelle Installation des SQL Servers:

Manuelle Installation des SQL Servers: Manuelle Installation des SQL Servers: Die Installation des SQL Servers ist auf jedem Windows kompatiblen Computer ab Betriebssystem Windows 7 und.net Framework - Version 4.0 möglich. Die Installation

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr

MGE Datenanbindung in GeoMedia

MGE Datenanbindung in GeoMedia TIPPS & TRICKS MGE Datenanbindung in GeoMedia 10. September 2002 / AHU INTERGRAPH (Schweiz) AG Neumattstrasse 24, CH 8953 Dietikon Tel: 043 322 46 46 Fax: 043 322 46 10 HOTLINE: Telefon: 043 322 46 00

Mehr

RAC auf Sun Cluster 3.0

RAC auf Sun Cluster 3.0 RAC auf Sun Cluster 3.0 Schlüsselworte RAC, OPS, Sun Cluster, Performance, Availability Zusammenfassung Oracle hat mit dem Real Application Cluster (RAC) aus einer Hochverfügbarkeitslösung eine Höchstverfügbarkeitslösung

Mehr

Hinweise zu A-Plan 2009 SQL

Hinweise zu A-Plan 2009 SQL Hinweise zu A-Plan 2009 SQL Für Microsoft Windows Copyright Copyright 2008 BRainTool Software GmbH Inhalt INHALT 2 EINLEITUNG 3 WAS IST A-PLAN 2009 SQL? 3 WANN SOLLTE A-PLAN 2009 SQL EINGESETZT WERDEN?

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Projektmanagement in Outlook integriert InLoox 5.x Konfigurationshilfe für Oracle Server

Projektmanagement in Outlook integriert InLoox 5.x Konfigurationshilfe für Oracle Server y Projektmanagement in Outlook integriert InLoox 5.x Konfigurationshilfe für Oracle Server Ein IQ medialab Whitepaper Veröffentlicht: Juni 2008 Copyright: IQ medialab GmbH 2008 Aktuelle Informationen finden

Mehr

Handbuch für Android 1.5

Handbuch für Android 1.5 Handbuch für Android 1.5 1 Inhaltsverzeichnis 1 Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 3 2. Installation... 5 3. Grundfunktionen... 5 3.1 Einrichtung von Boxcryptor

Mehr

IBM Informix Tuning und Monitoring

IBM Informix Tuning und Monitoring Seminarunterlage Version: 11.01 Copyright Version 11.01 vom 25. Juli 2012 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit 1 Hochverfügbarkeit Lernziele: Network Load Balancing (NLB) Failover-Servercluster Verwalten der Failover Cluster Rolle Arbeiten mit virtuellen Maschinen Prüfungsanforderungen von Microsoft: Configure

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Installationsanleitung Tivoli Storage Manager für Linux

Installationsanleitung Tivoli Storage Manager für Linux 11. März 2009, Version 1.0 Installationsanleitung für Linux Verwaltungsdirektion Informatikdienste Installationsanleitung für Linux Inhaltsverzeichnis...1 Installation... 1 Voraussetzungen...1 Ablauf der

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Daten-Ex- und Import mit Oracle und PostgreSQL

Daten-Ex- und Import mit Oracle und PostgreSQL Daten-Ex- und Import mit Oracle und PostgreSQL Holger Jakobs bibjah@bg.bib.de 2004-09-07 Inhaltsverzeichnis 1 Grund für Daten-Im- und -Exporte 1 2 Werkzeuge 1 2.1 Export mit pg_dump von PostgreSQL.....................

Mehr

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors Installation und Konfiguration des Outlook Connectors Vertraulichkeit Die vorliegende Dokumentation beinhaltet vertrauliche Informationen und darf nicht an etwelche Konkurrenten der EveryWare AG weitergereicht

Mehr

Dateisysteme mit Plugin-Funktion

Dateisysteme mit Plugin-Funktion Dateisysteme mit Plugin-Funktion Basierend auf Reiser 4 unter Linux http://llugb.amsee.de/logo.gif Ausgearbeitet und vorgetragen von Michael Berger 1/23 Agenda Die Idee Dateisysteme mit Plugin-Funktion

Mehr

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9 Acrolinx IQ Verbindungen mit externen Terminologiedatenbanken 2.9 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen vorhandener

Mehr

ORA.LogMiner. Nach Bestelleingang erhalten Sie eine Rechnung mit ausgewiesener Mehrwertsteuer und Informationen über die Zahlungsweise.

ORA.LogMiner. Nach Bestelleingang erhalten Sie eine Rechnung mit ausgewiesener Mehrwertsteuer und Informationen über die Zahlungsweise. ORA.LogMiner ORA.LogMiner kann die Inhalte von archivierten Redo-Log-Files im Klartext darstellen. Jedes gegen die Oracle-Datenbank abgesetzte SQL ob Insert, Delete, Update oder DDL wir als wieder verwendbares

Mehr

Hardware- und Software-Anforderungen IBeeS.ERP

Hardware- und Software-Anforderungen IBeeS.ERP Hardware- und Software-Anforderungen IBeeS.ERP IBeeS GmbH Stand 08.2015 www.ibees.de Seite 1 von 8 Inhalt 1 Hardware-Anforderungen für eine IBeeS.ERP - Applikation... 3 1.1 Server... 3 1.1.1 Allgemeines

Mehr

Workflow+ Installation und Konfiguration

Workflow+ Installation und Konfiguration Workflow+ Installation und Konfiguration Systemübersicht Workflow+ Designer Mit dem Workflow+ Designer werden Workflows und Eingabemasken erstellt. Mit der integrierten Test- und Debugging Funktion können

Mehr

Allgemein. Einrichtung. PHOENIX Tool WinUser2PHOENIXUser. Version: 3.5.2 Stand: 2013-04-16

Allgemein. Einrichtung. PHOENIX Tool WinUser2PHOENIXUser. Version: 3.5.2 Stand: 2013-04-16 PHOENIX Tool WinUser2PHOENIXUser Version: 3.5.2 Stand: 2013-04-16 Allgemein Das Tool ermöglicht es, Benutzerinformationen aus dem Windows Active Directory (AD) in den PHOENIX zu importieren. Dabei können

Mehr

Handbuch für ios 1.4 1

Handbuch für ios 1.4 1 Handbuch für ios 1.4 1 Inhaltsverzeichnis 1. Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 4 2. Installation... 5 3. Grundfunktionen... 6 3.1. Einrichtung von Boxcryptor

Mehr

Hier folgt eine kurze Aufstellung über die verwendete Architekur. Die Angaben sind ohne Gewähr für Vollständigkeit oder vollständige Richtigkeit.

Hier folgt eine kurze Aufstellung über die verwendete Architekur. Die Angaben sind ohne Gewähr für Vollständigkeit oder vollständige Richtigkeit. 1. ODBC 1.1 Problemstellung Die Informationen über die Microsoft SQL Server Datenbanken sind zur Zeit nicht auf der TIMD Website verfügbar. Der Grund ist, dass kein Interface zur Abfrage der benötigten

Mehr

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7

Acrolinx IQ. Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 Acrolinx IQ Verbindung mit einer externen Terminologiedatenbank herstellen 2.7 2 Inhalt Einleitung 3 Über diesen Leitfaden...3 Verbinden mit externen Terminologiedatenbanken 4 Erstellen von Sicherungen

Mehr

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise

A-Plan 2010 SQL. Hinweise zur SQL-Version von A-Plan. Copyright. Warenzeichenhinweise A-Plan 2010 SQL Hinweise zur SQL-Version von A-Plan Copyright Copyright 1996-2010 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Manuelle Installation des SQL Servers:

Manuelle Installation des SQL Servers: Manuelle Installation des SQL Servers: Die Installation des SQL Servers ist auf jedem Windows kompatiblen Computer ab Betriebssystem Windows 7 und.net Framework - Version 4.0 möglich. Die Installation

Mehr

Installation und Einrichtung von MS-SQL-Server zu opus i

Installation und Einrichtung von MS-SQL-Server zu opus i Installation und Einrichtung von MS-SQL-Server zu opus i Wichtig! Vor dem Beginn der Installation muss eine (vorher) fehlgeschlagene oder abgebrochene Installation des SQL-Servers 2005 zu 100% gelöscht

Mehr

Oracle auf Mac. Wie läuft das? Installation Oracle auf Mac

Oracle auf Mac. Wie läuft das? Installation Oracle auf Mac Oracle auf Mac Wie läuft das? Wie kann Oracle auf Mac installiert werden? Wie kann die Performance verglichen werden? Funktioniert die Oracle Installation als Server und als Client? Für wen ist es interessant,

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2013 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

PeDaS Personal Data Safe. - Bedienungsanleitung -

PeDaS Personal Data Safe. - Bedienungsanleitung - PeDaS Personal Data Safe - Bedienungsanleitung - PeDaS Bedienungsanleitung v1.0 1/12 OWITA GmbH 2008 1 Initialisierung einer neuen SmartCard Starten Sie die PeDaS-Anwendung, nachdem Sie eine neue noch

Mehr

Performanceoptimierung mit Exadata Verarbeitung extremer Datenmengen mit PL/SQL basierter Datenbewirtschaftung (Erfahrungsbericht)

Performanceoptimierung mit Exadata Verarbeitung extremer Datenmengen mit PL/SQL basierter Datenbewirtschaftung (Erfahrungsbericht) Performanceoptimierung mit Exadata Verarbeitung extremer Datenmengen mit PL/SQL basierter Datenbewirtschaftung (Erfahrungsbericht) Christian Haag, DATA MART Consulting Consulting Manager Oracle DWH Team

Mehr

The Unbreakable Database System

The Unbreakable Database System The Unbreakable Database System Real Application Cluster Unterföhring, 04.2005 M. Kühn 1 Comparisson HA - HA Ziele, DataGuard, HA Oracle, RAC RAC Features - Cache Fusion, TAF, Load Balancing RAC on Solaris

Mehr

TECHNISCHE PRODUKTINFORMATION CARUSO

TECHNISCHE PRODUKTINFORMATION CARUSO 1111 TECHNISCHE PRODUKTINFORMATION CARUSO TECHNISCHE PRODUKTINFORMATION Seite 0/7 Inhalt 1 Systemdefinition............2 2 Technische Details für den Betrieb von CARUSO......2 2.1 Webserver... 2 2.2 Java

Mehr

Wirtschafts-Informatik-Wietzorek Ulmweg 7 73117 Wangen 31.10.2009. Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion

Wirtschafts-Informatik-Wietzorek Ulmweg 7 73117 Wangen 31.10.2009. Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion Cubeinfo Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion Kurzbeschreibung Diese Software ist Freeware und darf weitergegeben werden. Zum Öffen der ZIP- Files benötigen Sie ein Kennwort,

Mehr

Installationsanleitung Tivoli Storage Manager für Mac OS

Installationsanleitung Tivoli Storage Manager für Mac OS 11. März 2009, Version 1.0 Installationsanleitung für Mac OS X Verwaltungsdirektion Informatikdienste Installationsanleitung für Mac OS Inhaltsverzeichnis...1 Installation... 1 Voraussetzungen...1 Version

Mehr

MySQL Community Server 5.1 Installationsbeispiel

MySQL Community Server 5.1 Installationsbeispiel MySQL Community Server 5.1 Installationsbeispiel Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der untermstrich-datenbank

Mehr

Safexpert Oracle Datenbank Konnektor. Stand: 02.01.2012. IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8

Safexpert Oracle Datenbank Konnektor. Stand: 02.01.2012. IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8 Safexpert Oracle Datenbank Konnektor Stand: 02.01.2012 IBF-Automatisierungs-und Sicherheitstechnik GmbH A-6682 Vils Bahnhofstraße 8 Tel.: +43 (0) 5677 5353 0 E-Mail: office@ibf.at 1 Kurzüberblick über

Mehr

Collax Web Application

Collax Web Application Collax Web Application Howto In diesem Howto wird die Einrichtung des Collax Moduls Web Application auf einem Collax Platform Server anhand der LAMP Anwendung Joomla beschrieben. LAMP steht als Akronym

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Vorlesungsteil SQL Grundlagen - 1 / 8 - SQL SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Auf einem Server (Rechner im Netz, der Dienste

Mehr

KURZANLEITUNG CLOUD BLOCK STORAGE

KURZANLEITUNG CLOUD BLOCK STORAGE KURZANLEITUNG CLOUD BLOCK STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung......Seite 03 2. Anlegen eines dauerhaften Block Storage...Seite 04 3. Hinzufügen von Block Storage

Mehr

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung Inhaltsverzeichnis Pervasive.SQL ODBC Treiber ab ABACUS 2006.20er-Version Installationsanleitung Mai 2013 / CL 1 Serverinstallation... 1 2 Clientinstallation... 8 WICHTIG Alle untenstehenden Schritte müssen

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Oracle Warehousebuilder. Version 9.2.0.2.8 In Version 9.2er Umgebung

Oracle Warehousebuilder. Version 9.2.0.2.8 In Version 9.2er Umgebung Oracle Warehousebuilder Version 9.2.0.2.8 In Version 9.2er Umgebung Themenüberblick Architektur Vorbereitung Ablauf und Details Anmerkungen / Probleme Architektur GEBIS (Source) Datenfluss

Mehr

Beschreibung Mobile Office

Beschreibung Mobile Office Beschreibung Mobile Office 1. Internet / Netz Zugriff Für die Benutzung von Mobile Office ist lediglich eine Internet oder Corporate Netz Verbindung erforderlich. Nach der Verbindungsherstellung kann über

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

SFKV MAP Offline-Erfassungstool. Installationsanleitung

SFKV MAP Offline-Erfassungstool. Installationsanleitung SFKV MAP Offline-Erfassungstool Autor(en): Martin Schumacher Ausgabe: 16.02.2010 1. Allgemein Damit das Offlinetool von MAP ohne Internetverbindung betrieben werden kann, muss auf jedem Arbeitsplatz eine

Mehr

Oracle Datenbankadministration Grundlagen

Oracle Datenbankadministration Grundlagen Oracle Datenbankadministration Grundlagen Seminarunterlage Version: 12.02 Version 12.02 vom 14. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Installationsanleitung Expertatis

Installationsanleitung Expertatis Installationsanleitung Expertatis 1. Komplettinstallation auf einem Arbeitsplatz-Rechner Downloaden Sie die Komplettinstallation - Expertatis_Komplett-Setup_x32.exe für ein Windows 32 bit-betriebssystem

Mehr

Oracle Enterprise Manager Cloud Control 12c: Installation von Ralf Durben, ORACLE Deutschland B.V. & Co. KG

Oracle Enterprise Manager Cloud Control 12c: Installation von Ralf Durben, ORACLE Deutschland B.V. & Co. KG Nach Abschluß der Softwareinstallation konfigurieren Sie den Listener (mit netca) und erzeugen eine Datenbank. Der einfachste Weg zur Erzeugung der Datenbank ist die Nutzung des Database Config Assistants

Mehr

Oracle Hot Standby. XE, SEOne, SE. Maximum Performance Mode. WIN, Linux, Unix Einfache Lösung. bis zu 10 Standby DB

Oracle Hot Standby. XE, SEOne, SE. Maximum Performance Mode. WIN, Linux, Unix Einfache Lösung. bis zu 10 Standby DB Network Failure Management Graceful Switchover XE, SEOne, SE WIN, Linux, Unix Einfache Lösung Oracle Hot Standby Maximum Performance Mode 100% Java Kompression bis zu 10 Standby DB Die Oracle Experten

Mehr

DATA BECKERs Praxishandbuch zu SUSE Linux 10

DATA BECKERs Praxishandbuch zu SUSE Linux 10 DATA BECKERs Praxishandbuch zu SUSE Linux 10 Daniel Koch DATA BECKER Hardware vor dem Kauf prüfen 4. So läuft jede Hardware Längst wird Linux von vielen Hardwareherstellern unterstützt. Ganz reibungslos

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1 Datenbanksystem System Global Area Hintergrundprozesse Dr. Frank Haney 1 Komponenten des Datenbanksystems System Global Area Program Global Area Hintergrundprozesse Dr. Frank Haney 2 System Global Area

Mehr

Howto. Konfiguration eines Adobe Document Services

Howto. Konfiguration eines Adobe Document Services Howto Konfiguration eines Adobe Document Services (ADS) Inhaltsverzeichnis: 1 SYSTEMUMGEBUNG... 3 2 TECHNISCHE VERBINDUNGEN ZWISCHEN DEN SYSTEMEN... 3 2.1 PDF BASIERENDE FORMULARE IN DER ABAP UMGEBUNG...

Mehr

Installations-Dokumentation, YALG Team

Installations-Dokumentation, YALG Team Installations-Dokumentation, YALG Team Version 8.1 1 Benötigtes Material 2 Vor der Installation 3 Beginn 4 Installation 4.1 Sicherheit 4.2 Partitionierung 4.3 Paketauswahl 4.4 Paketauswahl (fein) 5 Konfiguration

Mehr

SmartExporter 2013 R1

SmartExporter 2013 R1 Die aktuelle Version wartet mit zahlreichen neuen Features und umfangreichen Erweiterungen auf. So können mit SmartExporter 2013 R1 nun auch archivierte Daten extrahiert und das Herunterladen der Daten

Mehr

Installationsanleitung BizTalk Server 2006

Installationsanleitung BizTalk Server 2006 Installationsanleitung BizTalk Server 2006 Inhaltsverzeichnis How To: Wie installiere ich den Microsoft BizTalk Server 2006 richtig?... 1 Installationsvorraussetzungen... 2 Hardwarevorraussetzung... 2

Mehr

Übung: Data Warehousing und Data Mining

Übung: Data Warehousing und Data Mining Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Userhandbuch. Version B-1-0-2 M

Userhandbuch. Version B-1-0-2 M Userhandbuch Version B-1-0-2 M Inhaltsverzeichnis 1.0 Was bietet mir SERVRACK?... 3 1.1 Anmeldung... 3 1.2 Passwort vergessen?... 3 1.3 Einstellungen werden in Realtime übernommen... 4 2.0 Die SERVRACK

Mehr

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001 V3.05.001 MVB3 Admin-Dokumentation Einrichten eines Servers für MVB3 ab Version 3.5 Inhalt Organisatorische Voraussetzungen... 1 Technische Voraussetzungen... 1 Konfiguration des Servers... 1 1. Komponenten

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH

SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH Copyright 1997 2010 Schäf Sytemtechnik GmbH Alle Rechte vorbehalten. Dieses Handbuch darf nur nach vorheriger schriftlicher Zustimmung der Firma Schäf Systemtechnik

Mehr

Microsoft SQL Server 2005 für Administratoren

Microsoft SQL Server 2005 für Administratoren Microsoft SQL Server 2005 für Administratoren Irene Bauder ISBN 3-446-22800-4 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22800-4 sowie im Buchhandel Sichern von

Mehr

Installationsanleitung unter Windows

Installationsanleitung unter Windows Installationsanleitung unter Windows Verwenden Sie zur Installation ein Benutzerkonto mit Administratorberechtigung! 1. Download des aktuellen Backup-Client und des Sprachpakets: 1.1 Windows: ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client/v6r2/windows/

Mehr

Leistungsbeschreibung. PHOENIX Archiv. Oktober 2014 Version 1.0

Leistungsbeschreibung. PHOENIX Archiv. Oktober 2014 Version 1.0 Leistungsbeschreibung PHOENIX Archiv Oktober 2014 Version 1.0 PHOENIX Archiv Mit PHOENIX Archiv werden Dokumente aus beliebigen Anwendungen dauerhaft, sicher und gesetzeskonform archiviert. PHOENIX Archiv

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: 1. Access Point im Personal Mode (WEP / WPA / WPA2) 1.1 Einleitung Im Folgenden wird die Konfiguration des Access Point Modus gezeigt. Zur Absicherung der Daten werden die verschiedenen Verschlüsselungsalgorithmen

Mehr

So geht's: Import von Daten in den address manager

So geht's: Import von Daten in den address manager combit GmbH Untere Laube 30 78462 Konstanz So geht's: Import von Daten in den address manager Einleitung 2 Voraussetzungen 2 Beispiele aus der Praxis 3 Beispiel 1 Import einer Excel Tabelle 3 Beispiel

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

MySQL Schulung - Zusammenfassung

MySQL Schulung - Zusammenfassung MySQL Schulung - Zusammenfassung Marcel Noe 9.10-20.10.2006 Kapitel 1 1.1 MySQL Einführung 1.1.1 Einleitung Bei MySQL handelt es sich um einen sehr skalierbares Datenbank-Management System. MySQL wird

Mehr

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation bnsyncservice Voraussetzungen: Tobit DAVID Version 12, DVWIN32: 12.00a.4147, DVAPI: 12.00a.0363 Exchange Server (Microsoft Online Services) Grundsätzlich wird von Seiten KWP ausschließlich die CLOUD-Lösung

Mehr

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine. Kapitel 2 Datenverwaltung durch SQL Server Wir wollen das obige Skript zwei Mal laufen lassen, einmal mit und einmal ohne eingeschalteten Schreibcache der Festplatte. Für eine lokale Festplatte können

Mehr

Zeichensatzkonvertierung in Oracle-DB. moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de

Zeichensatzkonvertierung in Oracle-DB. moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de Zeichensatzkonvertierung in Oracle-DB moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de moving objects GmbH? Beratung Anforderungserhebung Geschäftprozessanalyse Coaching? Schulung

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

Mehr

1. Ablöse der Streams Multimaster-Replikation

1. Ablöse der Streams Multimaster-Replikation Data Guard durch Firewalls? Kein Problem mit Connection Manager! Mathias Zarick Principal Consultant September 2013 Data Guard hat sich als Hochverfügbarkeitstechnologie für Oracle etabliert. Er spiegelt

Mehr

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold

Installationsanleitung MS SQL Server 2005. für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Installationsanleitung MS SQL Server 2005 für Sage 50 Ablage & Auftragsbearbeitung Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold Inhaltsverzeichnis 1. GRUNDSÄTZLICHES... 3 2. SQLExpress Installationsanleitung

Mehr

BESCHAFFUNG UND LIZENZIERUNG MIT DEM VEREINFACHTEN ORACLE LIZENZMODELL

BESCHAFFUNG UND LIZENZIERUNG MIT DEM VEREINFACHTEN ORACLE LIZENZMODELL BESCHAFFUNG UND LIZENZIERUNG MIT DEM VEREINFACHTEN ORACLE LIZENZMODELL DIESER LEITFADEN IST FÜR FOLGENDE ORACLE SOFTWARE PROGRAMME GÜLTIG Oracle Database 11g Standard Edition One Die passende Datenbank-Lösung

Mehr

Service & Support. Wie ist der User Mode Process Dumper für Diagnosezwecke bei WinCC und PCS7 einzurichten? User Mode Process Dumper.

Service & Support. Wie ist der User Mode Process Dumper für Diagnosezwecke bei WinCC und PCS7 einzurichten? User Mode Process Dumper. Deckblatt Wie ist der User Mode Process Dumper für Diagnosezwecke bei WinCC und PCS7 einzurichten? User Mode Process Dumper FAQ April 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

Red Hat Cluster Suite

Red Hat Cluster Suite Red Hat Cluster Suite Building high-available Applications Thomas Grazer Linuxtage 2008 Outline 1 Clusterarten 2 3 Architektur Konfiguration 4 Clusterarten Was ist eigentlich ein Cluster? Wozu braucht

Mehr

Themen des Kapitels. 2 Oracle Features und Architektur

Themen des Kapitels. 2 Oracle Features und Architektur 2 Oracle Features und Architektur Einführung in die Eigenschaften und die Funktionsweise von Oracle. 2.1 Übersicht Themen des Kapitels - Oracle Features und Architektur Themen des Kapitels Oracle Produkte

Mehr

Installation und Dokumentation. juris Autologon 3.1

Installation und Dokumentation. juris Autologon 3.1 Installation und Dokumentation juris Autologon 3.1 Inhaltsverzeichnis: 1. Allgemeines 3 2. Installation Einzelplatz 3 3. Installation Netzwerk 3 3.1 Konfiguration Netzwerk 3 3.1.1 Die Autologon.ini 3 3.1.2

Mehr