ORDIX News

Werbung
www.ordix.de
ORDIX News
Das IT-Magazin der ORDIX AG
Ausgabe 2/2005
€ 2,20
15 Jahre ORDIX oder „Wenn einer eine Reise tut ...“
Application Server im Vergleich
S. 27
Backup und Recovery mit Oracle 10g
BEA WebLogic Server S. 12
Näher am Original: Data Guard S. 44
Partnerschaft ORDIX und VMware
HP OpenView Performance Insight
ORDIX ist zertifizierter
„VMware VIP Enterprise Partner“ S. 21
Vom Netzwerk-Tool zum strategischen ITIL
Reporting S. 34
Editorial
Paderborn, Juni 2005
Was nun?
15 Jahre ORDIX, knapp 40 mal habe ich mich auf diese Art an Sie, unsere Kunden
und Leser gewandt. Eigentlich sollte ich dieses Mal nur etwas über diese 15 Jahre schreiben. Aber dann kam die Wahl in NRW („Nordrhein-Westfalen“ für die Bayern, Baden-Württemberger ...); der Kanzler, genauer: der SPD Vorsitzende „Münti“, proklamiert Neuwahlen. Da werfe ich doch alles in den Papierkorb (und weg ist
bei mir weg, also nichts von wegen wieder holen aus dem „Trash“) und fange mit
dem Editorial ein weiteres, inzwischen fünftes Mal von neuem an.
Wird jetzt nach der Wahl alles besser oder anders? Eine Woche später gab es erste Meldungen zum Konzept – sofern man von einem solchen sprechen kann. Mehrwertsteuer rauf, Pendlerpauschale und Eigenheimzulage runter.
Hatten die das nicht vor ein paar Monaten noch blockiert? Die FDP ist sowieso gegen alle (Steuer-)Pläne der CDU.
Aber natürlich gibt es trotzdem eine klare Koalitionsaussage. Die anderen zoffen sich (Koalitionskrise genannt), ob
überhaupt und wenn, wie wird der Bundestag aufgelöst. Also weiterhin Kasperltheater in Berlin. Die Aufbruchstimmung dürfte sich spätestens nach dem jetzt noch kommenden Sommertheater wieder auf ein Normalmaß reduziert
haben. Schade.
Also schreibe ich doch noch etwas über 15 Jahre ORDIX. Hier bleibt nicht nur die Regierung stabil .
Was bedeuten 15 Jahre? Der Mensch an sich befindet sich in diesem Alter mehr oder weniger intensiv in der Pubertät. Ein Unternehmen liegt damit laut Wirtschaftswoche 20/2005 knapp unter dem Durchschnittsalter von 18 Jahren. Ich dachte bis dato immer, dass ich ein alter Vorstand eines jungen Unternehmens in einer relativ jungen Branche bin. Ich scheine aber, ein nicht mehr ganz junger Vorstand in einem relativ alten Unternehmen einer nicht genau zu taxierenden Branche zu sein.
Einiges hat sich getan in dieser Zeit: Angefangen vom Programmstarter Windows 2.1 (notwendiger Hauptspeicher:
16 MB) bis hin zum Programmstarter Windows 2003 bzw. XP (notwendiger Hauptspeicher: mindestens 512 MB).
Gott sei Dank sind die Preise für Hauptspeicher gesunken. Das „World Wide Web“ hat sich gigantisch entwickelt. Mit
Java und J2EE sind neue Technologien entstanden.
Aber vielleicht greift man irgendwann auch mal wieder auf C-Programmierer zurück, wie im Jahr 1999, als plötzlich
COBOL-, PL1- und andere Programmierer „alter“ Sprachen gesucht wurden. Viele Unternehmen, die 1990 noch existierten, sind verschwunden (Nixdorf, SNI, SCS, Sequent, Pyramid, Compaq, DEC, Tandem ...). Einige davon habe
ich relativ aktiv in den letzten 25 Jahren miterlebt (siehe Interview Seite 30).
In dieser Ausgabe finden Sie einiges zu diesen vergangenen 15 Jahren. Sie werden daneben auch erkennen, dass
wir weiterhin an unseren Tugenden feilen. Z. B. Konstanz: 12 Jahre ORDIX Open, das Schachturnier für den Breitensport mit hochkarätigen Topspielern. Z. B. fachliches Know-how rund um Oracle (Optimizer, Backup und Recovery), DB2 (es wurde wieder was von Informix eingebaut) und Informix (auch hier heißt die Version nun 10). Mit BPEL
wagen wir uns in ein neues Terrain. Daneben gibt es aus dem System Management Bereich Interessantes über HP
Open View.
Einmal mehr schicke ich Sie auch nach 15 Jahren mit einer interessanten ORDIX News in die Sommerpause. Und
wenn ich mir den Müll ansehe, der da in den nächsten Monaten in Berlin produziert wird, vielleicht hätte ich doch
noch mal in meinem elektronischen Papierkorb nachsehen sollen ...
Wolfgang Kögler
ORDIX News 2/2005
3
Inhaltsverzeichnis
Unix/Linux/Open Source
Standards
40 ....TYPO3 (Teil II):
Content. Einfach. Vielfältig.
Wir beschreiben die Installation und Einrichtung des CMS unter
Berücksichtigung eines eigenen Templates.
System Management
03 ....Editorial
04 ....Inhalt
24 ....Seminarübersicht:
Preise, Termine ... bis Dezember 2005
33 ....Impressum
Java/XML
Titela
34 ....HP OpenView Performance Insight: them
Vom Netzwerk-Tool zum strategischen ITIL Reporting
Eine Kurzvorstellung des Reportingtools „HP OpenView
Performance Insight“ und dessen Wandlung vom Netzwerk
Performancetool zum strategischen Bestandteil der HP
OpenView Familie.
Datenbanken
05 ....DB2 HADR (Teil I): High Availability Disaster Recovery
Bei steigender Datenmenge entsteht das Problem eines
schnellen Recoverys. Der Artikel beschreibt die Funktionsweise von DB2 High Availability Disaster Recovery .
08 ....Verlagerung von Java-Anwendungen in die Datenbank (Teil I)
Beispielhaft stellen wir das Ausführen der Anwendungen
innerhalb der Datenbank vor und erläutern ein Sicherheitskonzept sowie die Anwendungsmöglichkeiten von Java Stored
Procedures.
14 ....Business Process Execution Language (BPEL), Teil I:
Web Services im Takt
Die Integration von Web Services, um Geschäftsprozesse abzubilden, braucht Standards. BPEL stellt einen Standard als
Plattform, auf der Geschäftsprozesse technisch abgebildet,
modelliert und kontrolliert ausgeführt werden können.
22 ....IBM Informix Dynamic Server 10.00: The next Generation ...
Ein erster, allgemeiner Überblick über die Neuerungen des
aktuellen IBM Informix Release 10.00.
38 ....Oracle 10g (Teil V): dbms_stats
Mit 10g liefert Oracle durch das erweiterte Paket dbms_stats
eine gute Möglichkeit, auch schwierige Statistikprobleme zu
lösen. Hier erhalten Sie einen ersten Einstieg.
44 ....Backup und Recovery mit Oracle 10g (Teil III): Titeeml-a
th
Näher am Original: Data Guard
Lesen Sie über die Neuerungen bei Data Guard mit 10g.
Einen Schwerpunkt bildet die Flashback Integration.
4
12 ....Application Server im Vergleich (Teil IV):
BEA WebLogic Server
Wir stellen den Application Server von BEA
WebLogic vor, listen seine Kompatibilität gegenüber den von SUN erstellten Standards
auf und sprechen Möglichkeiten der automatischen Konfiguration und Administration an.
Titelthema
Aktuell
18 ....Open Source für den Mittelstand –
10 Jahre erfolgreiche Partnerschaft:
KARRENA und ORDIX AG
21 ....Partnerschaft ORDIX und VMware:
ORDIX ist zertifizierter „VMware VIP
Enterprise Partner“.
Titelthema
26 ....Larry Ratlos Rätsel
Widerspenstiges Oracle ...
27 ....15 Jahre ORDIX oder
Titel„Wenn einer eine Reise tut ...“ thema
ORDIX feiert sein Jubiläum und zieht
über die Zusammenarbeit mit seinen
Kunden das Fazit: „Vertrauen war und
ist die Basis für den gemeinsamen Erfolg.“
30 ....Sind 15 Jahre im Zeitalter der IT
jung oder alt?
Interview mit Wolfgang Kögler.
33 ....Chess Classic Mainz 2005
Rätseln Sie mit und spielen Sie im August
gegen die „Schach-Könige“!
47 ....Einladung zum 3. ORDIX Fachtreff
in 2005
VMware Serverkonsolidierung und Ressourcenoptimierung leichter gemacht.
ORDIX News 2/2005
Datenbanken
DB2 HADR (Teil I) –
High Availability Disaster Recovery
Die von Informix unter dem Namen High Availability Data Replication bekannte Replikation ist ab der Version
8.2 von DB2 unter dem Namen HADR verfügbar. Im ersten Teil dieses Artikels wollen wir die generelle Funktionsweise vorstellen. Der zweite Teil beschäftigt sich dann mit der praktischen Umsetzung.
Übersicht
HADR ist eine Datenbankreplikation, die vor
dem Ausfall eines Datenbankservers schützt.
Abbildung 1 zeigt die generelle Arbeitsweise
einer HADR. Die Datenbank wird dabei den
Clients innerhalb sehr kurzer Zeit ohne Datenverlust auf einem anderen Server zur Verfügung gestellt.
Dafür werden zwei Server mit gleicher Hardund Softwareausstattung benötigt. Auf beiden
Servern wird eine Datenbank erzeugt. Die Datenbank, mit der im normalen Betrieb gearbeitet wird, ist die Primärdatenbank. Die andere,
die für den Fehlerfall verwendet wird, die Bereitschafts- oder Standby-Datenbank.
Der Anwender greift immer auf die Primärdatenbank zu. Die Änderungen auf der Primärdatenbank werden auf der Standby-Datenbank
nachgefahren. Dazu werden die Protokolldateien von der Primärdatenbank zur StandbyDatenbank übertragen und dort nachgefahren.
Die Standby-Datenbank befindet sich permanent im Status „Aktualisierende Wiederherstellung wird ausgeführt“.
Wenn die primäre Datenbank ausfällt, übernimmt die Standby-Datenbank die Funktion
der Primärdatenbank. Über die automatische
Client-Weiterleitung kann dies für die Clients
transparent erfolgen.
Der Artikel richtet sich an Rechenzentrumsleiter und DB2 Administratoren, die die Funktionsweise von HADR verstehen und
durch den Einsatz von HADR die Recovery-Zeiten bei einem
Systemausfall minimieren wollen.
DB2 Voraussetzungen
Auf beiden Rechnern muss dieselbe DB2 Version mit gleichem
Stand der Fix Packs installiert sein. Ein Mischen z. B. von 32 und
64 Bit Versionen ist nicht möglich.
Tablespaces und Container müssen identisch im Bezug auf Typ
(DMS oder SMS), Größe, Pfad und Dateityp angelegt werden. Durch
die Verwendung von virtuellen Pfaden ist es möglich, auf beiden Maschinen auch unterschiedliche physikalische Pfade zu verwenden.
Übersichtlicher ist es aber auf jeden Fall, beide Maschinen auch
physikalisch identisch aufzubauen.
Da alle Operationen sowohl im Bufferpool der Primärdatenbank
als auch im Bufferpool der Standby-Datenbank wiederholt werden, müssen die Bufferpools auf beiden Maschinen dieselbe Größe haben.
Einschränkungen
HADR wird nur von der DB2 UDB Enterprise Server Edition (ESE)
unterstützt. Die Datenbanksysteme dürfen nicht partitioniert sein.
Da sich die Standby-Datenbank immer im Status „Aktualisierende
Wiederherstellung wird ausgeführt“ befindet, können Clients nur
auf die Primärdatenbank zugreifen. Daher ist es nicht möglich, eine
Systemvoraussetzungen
Die Rechner, auf denen die Primärdatenbank
und die Standby-Datenbank laufen, müssen
auf der gleichen Hard- und Software aufgebaut sein. Insbesondere, da die Standby-Datenbank nach der Übernahme zur Primärdatenbank wird. Bei der Hardware müssen Produkte des gleichen Herstellers mit der gleichen
Architektur verwendet werden. Die Versionen
und Korrekturstände des Betriebsystems müssen dieselben sein.
Zwischen beiden Rechnern wird eine schnelle
TCP-IP Netzwerkverbindung benötigt. HADR
unterstützt nur das Netzwerkprotokoll TCP/IP.
ORDIX News 2/2005
DB2 Agent
HADR
TCP/IP
HADR
Parallel
Log Replay
Logpuffer
Tabellen
Indizes
Log-Writer
Log-Writer
Logdateien
Logdateien
Tabellen
Indizes
Abb. 1: Die Arbeitsweise des High Availability Disaster Recoverys.
5
Datenbanken
HADR_LOCAL_HOST
Ist der lokale Rechnername, auf dem die Datenbank läuft.
HADR_LOCAL_SVC
Ist der lokale Servicename oder die lokale Portnummer, über die HADR kommunizieren soll.
HADR_REMOTE_HOST
Ist der Rechnername des anderen Rechners.
HADR_REMOTE_SVC
Ist der Servicename oder die Portnummer, über die die HADR-Prozesse auf der Remote-Datenbank kommunizieren.
HADR_REMOTE_INST
Ist der Name der Instanz, unter der die Remote-Datenbank läuft.
HADR_TIMEOUT
Ist die Zeit in Sekunden, die HADR beim Aufbau der Verbindung wartet, bevor es diese abbricht.
HADR_SYNCMODE
Ist der von HADR verwendete Synchronisationsmodus.
Abb. 2: Zu setzende Parameter in der Datenbankkonfiguration.
Online-Sicherung der Standby-Datenbank und ihrer Protokolldateien zu erstellen.
Start der Datenbank
Änderungen, die an der Datenbankmanager- bzw. Datenbankkonfiguration vorgenommen werden, werden nicht repliziert und müssen manuell auf beiden Systemen vorgenommen werden.
Lokales Catch-up
Fernes Catch-up
anstehend
Datenbankkonfiguration
Die Datenbankkonfigurationsparameter auf der Primärdatenbank
und der Standby-Datenbank müssen identisch sein. Ansonsten
kann es beim Nachfahren der Protokolldateien auf der StandbyDatenbank zu Fehlern kommen.
Änderungen an den Konfigurationsparametern müssen manuell
auf beiden Datenbanken vorgenommen werden. Bei dynamischen
Parametern ist kein Neustart der Datenbank erforderlich. Bei nicht
dynamischen Parametern muss die Datenbank neu gestartet werden. Durch ein schrittweises Upgrade ist es möglich, auch dies ohne große Ausfallzeit durchzuführen.
Die Standby-Datenbank empfängt alle Protokolldateien in ihrem „Log Receive Buffer“. Die Standardeinstellung für die Größe des Puffers ist die doppelte Größe von LOGBUFSZ. Um an
dieser Stelle Engpässe zu vermeiden, ist es sinnvoll, die Größe
des Log Receive Buffers zu erhöhen. Dies wird über die Variable
DB2_HADR_BUF_SIZE der DB2 Profile Registry vorgenommen.
Konfigurationsparameter
Für HADR gibt es spezielle Parameter in der Datenbankkonfiguration. Durch das Setzen der Parameter wird eine Datenbank aber
noch nicht zu einer HADR-Datenbank. Dies muss mit den entsprechenden Kommandos (HADR START und HADR STOP) vorgenommen werden. Die zu setzenden Parameter sind in Abbildung
2 beschrieben.
Status der Standby-Datenbank
Nach dem Starten der Standby-Datenbank durchläuft die Datenbank die in Abbildung 3 dargestellten Modi.
Lokales Catch-up
Nach dem Starten der Datenbank versucht diese, die Protokolldateien in ihrem lokalen Protokollverzeichnis zu lesen und nachzufah-
6
Verbindung
verloren
Verbunden
Verbindung
verloren
Fernes Catch-up
Peerstatus
Abb. 3: Status der Standby-Datenbank.
ren. Dazu ist keine Verbindung zur Primärdatenbank erforderlich. Ein Zugriff auf die Datenbank ist in diesem Modus nicht möglich.
Sind alle Protokolle nachgefahren und ist keine Verbindung zur Primärdatenbank vorhanden, wechselt die Standby-Datenbank in den
Status „Fernes Catch-up anstehend“. Sobald
eine Verbindung zur Primärdatenbank vorhanden ist, wechselt sie in den Status „Fernes Catch-up“.
Fernes Catch-up
Die Primärdatenbank liest ihre Protokolldateien und überträgt diese zur Standby-Datenbank. Die Standby-Datenbank fährt die Protokolle nach. Wenn alle Protokolle übertragen
und nachgefahren sind, wechseln beide Datenbanken in den „Peerstatus“.
Peerstatus
Im Peerstatus überträgt die Primärdatenbank,
sobald eine Protokoll-Page auf die Platte geschrieben wird, diese an die Standby-Datenbank. Die Standby-Datenbank schreibt die
ORDIX News 2/2005
Datenbanken
Protokoll-Pages in ihre Protokolldateien. Dadurch ist sichergestellt, dass die Reihenfolge
der Protokolleinträge in beiden Datenbanken
identisch sind. Danach werden die Transaktionen aus den Protokollen in der Standby-Datenbank nachgefahren.
Der Status der Datenbank kann mit folgendem Kommando ermittelt werden: db2 get
snapshot for database on sample
Synchronisationsmodi
Über den Konfigurationsparameter HADR_
SYNCMODE kann der Modus der Replikation eingestellt werden.
Über den Modus wird festgelegt, wann eine
Transaktion auf der Primärdatenbank nach einem COMMIT die Bestätigung erhält, dass die
Transaktion festgeschrieben wurde.
Durch den Modus wird zum einen die Transaktionsantwortzeit und zum anderen die Sicherheit beeinflusst. Wobei mit besserer Transaktionsantwortzeit die Sicherheit abnimmt.
Im einzelnen gibt es die drei folgenden Synchronisationsmodi:
SYNC (synchron)
Der Synchronisationsmodus SYNC bietet die
höchste Sicherheit gegen Datenverlust, hat
aber die längsten Transaktionsantwortzeiten.
Eine Transaktion auf dem Primärrechner wird
erst dann als festgeschrieben betrachtet, wenn
die Protokolleinträge auf dem Primärrechner in
die Protokolldatei geschrieben wurden, die Protokolleinträge zur Standby-Datenbank übertragen wurden und auch dort in die Protokolldatei geschrieben wurden.
Dadurch wird sichergestellt, dass Protokolleinträge einer festgeschriebenen Transaktion auf
beiden Datenbanken vorhanden sind.
NEARSYNC (fast synchron)
Der Synchronisationsmodus NEARSYNC hat
etwas kürzere Transaktionsantwortzeiten aber
auch weniger Sicherheit.
Eine Transaktion auf dem Primärrechner wird
erst dann als festgeschrieben betrachtet, wenn
die Protokolleinträge auf dem Primärrechner in
die Protokolldatei geschrieben wurden, die Protokolleinträge zur Standby-Datenbank übertragen wurden und dort im Hauptspeicher angekommen sind.
Bei einem gleichzeitigen Ausfall der Systeme, kann es vorkommen, dass Protokollein-
ORDIX News 2/2005
Glossar
HADR
DMS
High Availability Disaster Recovery
Database Managed Space. Plattenplatz, der vom
DB-System verwaltet wird.
SMS
System Managed Space. Plattenplatz, der vom
Betriebsystem verwaltet wird.
Partitionierte DB Datenbank, die auf mehrere Rechner verteilt ist.
träge verloren gehen, wenn danach nur noch die Standby-Datenbank zur Verfügung steht.
ASYNC (asynchron)
Der Synchronisationsmodus ASYNC bietet die kürzesten Transaktionsantwortzeiten, aber auch die geringste Sicherheit.
Eine Transaktion auf dem Primärrechner wird erst dann als festgeschrieben betrachtet, wenn die Protokolleinträge auf dem Primärrechner in die Protokolldatei geschrieben wurden und an die
TCP-Schicht des Rechners übergeben wurden. Auch hier ist es
möglich, dass Protokolldateien verloren gehen.
Das Hauptproblem beim Verlust von Protokolldateien ist, dass die
ursprüngliche Primärdatenbank, nicht mehr als Standby-Datenbank verwendet werden kann. In ihr sind Transaktionen festgeschrieben, die auf der ursprünglichen Standby-Datenbank nicht
festgeschrieben waren, als diese die Funktion der Primärdatenbank übernommen hat.
Um die ursprüngliche Primärdatenbank wieder als Standby-Datenbank zu verwenden, ist es notwendig, einen kompletten Restore durchzuführen.
Automatische Client-Weiterleitung
Bei der Funktionsübernahme verlieren die Clients die Verbindung
zur Datenbank. Bei einem Zugriff auf die Datenbank kommt es
zu einer Fehlermeldung. Dies kann mit der automatischen ClientWeiterleitung verhindert werden. Auch hier geht die aktuelle Verarbeitung verloren, nur der Verbindungsaufbau zur Standby-Datenbank erfolgt automatisch.
Auf der Primärdatenbank kann ein alternativer Server für eine Datenbank hinterlegt werden. Die wird mit dem Kommando UPDATE
ALTERNATE SERVER FOR DATABASE vorgenommen. Im folgenden Beispiel wird für die Datenbank sample der Rechner rechner2
und der Netzwerkport 50000 als Alternative eingetragen:
db2 update alternate server for database sample
using hostname rechner2 port 50000
Der Client bekommt diese Information dann beim Verbindungsaufbau zur Datenbank mitgeteilt.
Ausblick
Der zweite Teil des Artikels zeigt an einem kleinen Beispiel, wie
HADR aufzusetzen und zu konfigurieren ist.
Holger Demuth ([email protected]).
7
Datenbanken
Verlagerung von
Java-Anwendungen in
die Datenbank (Teil I)
Erschienen in
der
DOAG News
Q2/2005
Oracle stellt seit der Oracle-Datenbankversion 8.1.5 eine Java Virtual Machine (OracleJVM) zur Verfügung.
Mit Hilfe von OracleJVM besteht die Möglichkeit, Java-Anwendungen innerhalb der Datenbank ausführen zu
lassen.
Dieser Beitrag zeigt anhand von Beispielen, wie Java-Anwendungen in eine Oracle 10g Datenbank geladen und
ausgeführt werden können. Dabei werden ein Sicherheitskonzept in Bezug auf die Java-Klassen und die Anwendungsmöglichkeiten von Java Stored Procedures erläutert. Im ersten Teil dieser Reihe werden die Java Stored
Procedures vorgestellt und die Besonderheiten bei der Entwicklung von Java-Anwendungen für die OracleJVM
skizziert. Im zweiten Teil gehen wir dann auf das Resolving-Konzept zum Auffinden aller von einer Klasse benötigten Klassen innerhalb der Datenbank sowie einige Anwendungsmöglichkeiten von Java Stored Procedures ein.
Dieser Artikel richtet sich an Datenbank-Anwendungsentwickler,
die sich zusätzlich zum PL/SQL auch für Java als serverseitige
Datenbankprogrammiersprache entscheiden können.
Einsatz von Java Stored Procedures
OracleJVM
In den meisten Fällen wird die Geschäftslogik sowohl von einer
Datenbankanwendung als auch von Batchprogrammen aufgerufen. Mit Hilfe von Stored Procedures kann die Funktionalität zentral in der Datenbank abgelegt werden und sowohl von einer Dialog-Anwendung als auch von einem Batchprogramm verwendet
werden.
OracleJVM ist eine in den Kernel von Oracle
implementierte Java Virtual Machine. Ab der
Oracle Version 10g stehen J2SE 1.4 (Java 2
Standard Edition) und der Datenbanktreiber
JDBC 3.0 in der Datenbank zur Verfügung.
Somit können Java-Programme, die in einer
OracleJVM Version 10g ablaufen, den vollen
Umfang der Java-Funktionsbibliotheken von
J2SE 1.4 nutzen.
Durch die Nutzung von Stored Procedures lässt sich somit die Wiederverwendbarkeit der einzelnen Anwendungskomponenten steigern und die Komplexität
der Anwendungen deutlich reduzieren.
Da die Stored Procedures vorkompiliert
in der Datenbank aufbewahrt werden, ist
außerdem eine schnelle Ausführung und
ein direkter Datenzugriff möglich. Dies
stellt eine gute Performance sicher.
Ein großer Nachteil von Stored Procedures ist jedoch die Datenbankabhängigkeit. Die meisten Datenbankhersteller stellen eine
eigene Datenbankprogrammiersprache zur Verfügung, mit der
Stored Procedures erstellt werden können.
Stored Procedures lassen sich nur mit hohem Aufwand von einem
Datenbanksystem auf ein anderes Datenbanksystem migrieren.
Um das Problem der Datenbankabhängigkeit zu lösen, kann man
auf die sogenannten Java Stored Procedures zurückgreifen.
Die Java Stored Procedures werden in der Programmiersprache
Java erstellt. Sie können auf jedem Rechnersystem mit Hilfe einer
8
Java Virtual Machine (JVM) interpretiert und
ausgeführt werden. Außerdem wird der Datenbankzugriff einer Java Stored Procedure
mit einem JDBC-Datenbanktreiber sichergestellt, der für alle herkömmlichen Datenbanksysteme verfügbar ist.
Die Java-Funktionsbibliotheken von J2SE befinden sich auf dem Datenbankrechner in einem $ORACLE_HOME/javavm/admin Verzeichnis. Da der vom Java-Compiler erstellte Java-Bytecode zur Laufzeit vom Interpreter (OracleJVM) interpretiert und ausgeführt
wird, entstehen Ineffizienzen bei der Programmausführung.
Um diesen Engpass zu beseitigen, sind alle Java-Funktionsbibliotheken mit einem betriebssystemabhängigen Native Compiler übersetzt.
Ein Native Compiler übersetzt den Java-Bytecode einer Java-Klasse in einen betriebssystemabhängigen Programmcode und senkt damit deutlich die Ausführungsgeschwindigkeit
von Java-Programmen, die innerhalb von OracleJVM ablaufen. Oracle bietet auch die Möglichkeit, selbst entwickelte Java-Klassen mit einem Native Compiler zu übersetzen.
ORDIX News 2/2005
Datenbanken
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
public class Mitarbeiter extends Object {
public static void setGehalt(int ma_nr, int gehalt) {
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl10","mf","mf");
String sqlUpdate = "UPDATE ma SET gehalt = ? WHERE ma_nr = ?";
PreparedStatement pstmt = conn.prepareStatement(sqlUpdate);
pstmt.setInt(1, gehalt);
pstmt.setInt(2, ma_nr);
pstmt.executeUpdate();
conn.close();
pstmt.close();
} catch(Exception e) { e.printStackTrace(); }
}
public static void main(String[] args) { setGehalt(1, 900); }
}
Abb. 1: Eine typische Client/Server Java-Datenbankanwendung.
Besonderheiten bei der Entwicklung von
Java-Anwendungen für die OracleJVM
solange die erstellten bzw. veränderten Bilder nicht angezeigt
werden.
Bei der Entwicklung von Java-Anwendungen
für die OracleJVM muss man auf folgende Besonderheiten achten:
Fehlende Unterstützung für Multithreading-Verfahren
• Jede statische Methode kann als Programmeinstiegspunkt verwendet werden.
• Es gibt keine Unterstützung für GUI-Komponenten wie AWT und Swing.
• Multithreading wird nicht unterstützt.
• Es muss der serverseitige JDBC-Treiber
verwendet werden.
Programmeinstiegspunkt
In einer herkömmlichen JVM-Umgebung stellt
die main-Methode einer Java-Klasse den Einstiegspunkt eines Programms dar. Beim Starten einer Klasse mit dem Kommando java
wird die main-Methode dieser Klasse aufgerufen. Der Einstiegspunkt einer in der Datenbank
gespeicherten Java-Klasse kann eine beliebige, statische Methode dieser Klasse sein.
Keine Unterstützung für GUI-Komponenten
wie AWT und Swing
Da es sich bei den Java-Anwendungen, die innerhalb einer OracleJVM ablaufen, um serverseitige Anwendungen handelt, ist die Verwendung von grafischen Komponenten (GUI) nicht
sinnvoll. Daher wird die Erzeugung von Instanzen der GUI-Objekte wie z. B. AWT und
Swing nicht unterstützt. Allerdings kann eine
GUI-Funktionalität, wie z. B. die Erstellung und
Manipulation von Bildern, verwendet werden,
ORDIX News 2/2005
Eine weitere Besonderheit bei der Entwicklung von Java-Anwendungen für die OracleJVM ist die fehlende Unterstützung für das
Multithreading-Verfahren. In einer OracleJVM werden alle Threads
nacheinander anstatt gleichzeitig ausgeführt. Java-Anwendungen
müssen allerdings wegen dieser Besonderheit nicht extra angepasst werden. Sie können unverändert in der serverseitigen OracleJVM ausgeführt werden.
Serverseitige JDBC-Treiber
Beim Zugriff von Java Stored Procedures auf die Datenbankinhalte muss ein serverseitiger JDBC-Treiber verwendet werden. Bei
der Verwendung dieses datenbankinternen JDBC-Treibers sind
folgende Punkte zu berücksichtigen:
• Der serverseitige JDBC-Treiber muss im Programm nicht registriert werden, da dieser bereits im Oracle Server integriert ist.
• Die Datenbankverbindung kann nicht physisch geschlossen
werden.
• Die Verwendung von Auto-Commits wird nicht unterstützt.
• Eine Verbindung zu einer entfernten Datenbank ist mit dem
serverseitigen JDBC-Treiber nicht möglich.
• Die JDBC-Datenbankverbindung wird mit der Zeichenkette jdbc:default:connection: ermittelt, z. B. DriverManager.
getConnection("jdbc:default:connection:").
Java-Klassen ohne Datenbankzugriff
Die o. g. Besonderheiten bei der Entwicklung von Java-Anwendungen für die OracleJVM beziehen sich auf Java-Klassen, die einen Datenbankzugriff enthalten. Java-Klassen, die über keinen Datenbankzugriff verfügen, müssen nicht angepasst werden. Sie können ohne
Änderungen in der OracleJVM-Umgebung verwendet werden.
9
Datenbanken
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
public class Mitarbeiter extends Object {
public static void setGehalt(int ma_nr, int gehalt) {
try {
//DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:default:connection:");
String sqlUpdate = "UPDATE ma SET gehalt = ? WHERE ma_nr = ?";
PreparedStatement pstmt = conn.prepareStatement(sqlUpdate);
pstmt.setInt(1, gehalt);
pstmt.setInt(2, ma_nr);
pstmt.executeUpdate();
//conn.close();
pstmt.close();
} catch(Exception e) { e.printStackTrace(); }
}
}
Abb. 2: Für die Ausführung in der Datenbank veränderte Klasse Mitarbeiter.
loadjava -user mf/mf@orcl10 -resolve -verbose C:\java\Jora.class
Abb. 3: Die Klasse Jora wird in das Datenbankschema MF geladen.
exec dbms_java.loadjava(
'-user mf/mf@orcl10 -resolve -verbose C:\java\Jora.class')
Abb. 4: Kommando, mit dem die Jora Klasse in das Datenbankschema MF der ORCL10 Datenbank geladen wird.
exec dbms_java.grant_permission(
'MF','java.io.FilePermission','C:\java\*','read')
Abb. 5: Der Benutzer MF erhält ein Leserecht auf alle Dateien im Verzeichnis C:\java.
Erstellung von Java-Klassen
Laden der Java-Klassen in die Datenbank
Java-Klassen, die aus einer Java Stored Procedure aufgerufen
werden, können mit Hilfe einer beliebigen Java-Entwicklungsumgebung wie z. B. JDeveloper erstellt, kompiliert und getestet werden. Der Quellcode in Abbildung 1 stellt eine typische Client/Server Java-Datenbankanwendung dar, die auf einem Client mit einer Java Virtual Machine lokal aufgerufen wird.
Um eine Java-Klasse in einer OracleJVM-Umgebung zu starten, muss diese zunächst in
ein Datenbankschema geladen werden. Dabei akzeptiert ein Datenbankschema folgende Dateiarten:
Um das in Abbildung 1 dargestellte Programm in eine Oracle Datenbank zu verlagern, müssen die zuvor dargestellten Besonderheiten
bei der Entwicklung von Java-Anwendungen für die OracleJVM berücksichtigt werden.
Der Quellcode in Abbildung 2 zeigt die bereits für die Ausführung in
der Datenbank veränderte Klasse Mitarbeiter. In der Klasse Mitarbeiter sind zum einen die Registrierung des JDBC-Treibers entfernt
und die Ermittlung der serverseitigen Datenbankanbindung verändert worden. Zum anderen wurde die close Anweisung zum Schließen der Datenbankanbindung entfernt.
10
• Java-Sourcecode-Datei (*.java)
• Java-Class-Datei (*.class)
• Java-Ressource-Datei (*.jar bzw. *.zip)
Wird eine Java-Sourcecode-Datei in ein Datenbankschema geladen, so wird diese implizit
mit dem in der Datenbank verfügbaren JavaCompiler in eine Java-Class-Datei übersetzt.
Mit der Anweisung in Abbildung 3 wird eine
Java-Klasse Jora in ein Datenbankschema
MF geladen.
ORDIX News 2/2005
Datenbanken
Glossar
RMI
RPC
Multithreading
RMI bedeutet Remote Method Invocation. Mit RMI
besteht die Möglichkeit, innerhalb einer JVM, Methoden von Objekten aufzurufen, die sich in einer
anderen JVM befinden.
Remote Procedure Call (RPC) ist ein Protokoll für
die Implementierung verteilter Anwendungen.
Multithreading bedeutet, dass Programme parallel
verarbeitet werden können.
Literaturhinweise
► Oracle und Java, Datenbankentwicklung für E-Commerce-Anwendungen, Elion Bonazzi, Glenn Stokol, Markt+Technik Verlag,
2002
► Unleash the Power of Java Stored Procedures, Oracle Corporation,
http://otn.oracle.com/, 2002
► Simplify with Java Stored Procedures, Oracle Corporation,
http://otn.oracle.com/, 2004
► Oracle10g, Java Developer's Guide Release 1 (10.1), Oracle Cor-
Abb. 6: Laden von Java-Klassen in eine Oracle
Datenbank.
poration, 2004
dropjava -user mf/mf@orcl10 -verbose Jora
oder
exec dbms_java.dropjava('-user mf/mf@orcl10 -verbose Jora')
Abb. 7: Zwei alternative Kommandos, die die Jora Klasse aus der ORCL10 Datenbank entfernen.
Das Setzen der Option –resolve des Kommandos l o a d j a v a legt fest, dass nach
dem Laden und Kompilieren von Java-Klassen die Verfügbarkeit der abhängigen JavaKlassen überprüft werden soll. Die Option
–verbose aktiviert die Ausgabe der Meldungen auf dem Bildschirm, während die Klassen
in die Datenbank hochgeladen werden.
Alternativ zum loadjava Kommando lässt
sich das DBMS_JAVA Paket verwenden. Dieses Paket verfügt über Prozeduren, mit denen
unter anderem Java-Klassen in die Datenbank
geladen und aus der Datenbank entfernt werden können. Mit dem in Abbildung 4 gezeigten Kommando wird eine Jora Klasse in das
Datenbankschema MF der ORCL10 Datenbank geladen.
Voraussetzung für den Ladevorgang mit dem
DBMS_JAVA Paket ist allerdings das Leserecht des Datenbankbenutzers auf die zu ladende Datei. In der OracleJVM-Umgebung
wird der Zugriff auf Ressourcen mit einer sogenannten Java-Policy Tabelle sichergestellt.
Diese Tabelle gehört dem Benutzer SYS und
kann über die Views DBA_JAVA_POLICY und
USER_JAVA_POLICY abgefragt werden.
ORDIX News 2/2005
Mit dem Kommando in Abbildung 5 wird dem Benutzer MF ein
Leserecht auf alle in dem Verzeichnis C:\java vorhandenen Dateien erteilt.
Bei der Angabe des Verzeichnisses kann mit der Syntax C:\java\festgelegt werden, dass das Leserecht auch noch für die im Verzeichnis vorhandenen Unterverzeichnisse gelten soll.
Abbildung 6 veranschaulicht das Laden von Java-Klassen in eine Oracle Datenbank.
Java-Klassen aus der Datenbank entfernen
Wird eine Java-Klasse in der Datenbank nicht mehr benötigt, so
kann diese mit dem dropjava Kommando aus der Datenbank entfernt werden. Die beiden in Abbildung 7 aufgeführten Kommandos
entfernen die Jora Klasse aus der ORCL10 Datenbank.
Ausblick
In der nächsten Ausgabe erläutern wir unter anderem das Resolving-Konzept und die Veröffentlichung von Java-Klassen in der
Datenbank. Außerdem stellen wir einige Anwendungsmöglichkeiten von Java Stored Procedures vor.
Markus Fiegler ([email protected]).
11
Java/XML – Titelthema Application Server
Application Server im Vergleich (Teil IV):
BEA WebLogic Server
Der in diesem Artikel vorgestellte Application Server ist einer der meistverwendeten Application Server im
kommerziellen Bereich. Nachdem BEA unangefochten die Führung bei den Produktumsätzen von Application
Servern innehatte, muss BEA inzwischen die Spitzenposition mit dem Application Server von IBM teilen.
Der Application Server von BEA, als BEA WebLogic Server bezeichnet, basiert ausschließlich auf Java. Diesbezüglich kann er
auf allen Betriebssystemen eingesetzt werden, auf denen auch
Java zur Verfügung steht. Eine Unterstützung gewährleistet BEA
allerdings „nur“ für ca. 35 Betriebssysteme.
Bei dieser Auswahl sind die gängigen Server-Betriebssysteme wie
Solaris, HP-UX, AIX, Microsoft Windows (2000/XP) sowie Linux
von Novell SuSE oder RedHat vertreten. Für die auf Intel-Prozessoren basierenden Betriebssysteme bringt BEA eine eigene Virtuelle Maschine für Java (JRockit) mit! Diese unterstützt sowohl den
32-Bit- wie auch den 64-Bit-Prozessor von Intel.
Spezifikation/
Standard
WebSphere 5
(Stand 05/04)
JBoss 4.0
(Stand 11/04)
Borland ES
5.2.1
BEA
Weblogic
CORBA
X
v2.3.1
v2.6
X
EJB
v2.0
v2.1
v2.1
v2.0
IIOP
X
durch CORBA
X
X
J2EE
v1.3
v1.4
v1.3
v1.3
JAAS
v1.0
v1.0
X
X
JAF
1.2
v1.0
X
X
JAXP
1.1
v1.2
X
X
JAXR
X
v1.0
v1.0
-
JAX-RPC
1.0
v1.1
v1.0
v1.0
JCA
v1.0
v1.5
X
v1.3
JCE
X
durch J2SE 1.4
X
X
JDBC
v2.0
durch J2SE 1.4
v2.0
v3.0
JMS
v1.0
v1.1
v.1.0.2
v.1.0.2b
JMX
X
v1.2
X
v.1.0
JNDI
X
v1.2.1
X
X
JSP
v1.2
v2.0
v1.2
v.1.2
JSSE
X
X
X
X
JTA
v1.0
v1.0.1B
X
v.1.0.1A
LDAP
X
durch jndi
X
X
RMI
X
X
X
X
Java Servlets
v.2.3
v2.4
v2.3
v.2.3
Java Mail
1.2
v1.3
X
v.1.2.3
SAAJ
1.1
v1.2
v1.1
X
SOAP
1.1
v1.1
v1.1
v.1.2
UDDI
2.0
v2
X
v.2.0
WSDL
1.0
v1.1
X
v.1.1
X.509
X
durch JAAS
X
X
XML
X
X
X
X
Oracle
AS
Abb. 1: Überblick über unterstützte Spezifikationen und Standards bei
IBM WebSphere, JBoss, Borland Enterprise Server und BEA Weblogic. Der Oracle Application Server wird im nächsten und damit letzten Teil dieser Reihe analysiert.
12
Die Kompatibilität des WebLogic Servers mit
dem von Sun spezifizierten Standard ist der Abbildung 1 zu entnehmen. Mit dem WebLogic Server können J2EE-Anwendungen nach dem derzeitigen Stand der Technik realisiert werden.
Standardwerkzeuge, wie z. B. Struts als Framework zur Entwicklung von Web-basierten
Benutzeroberflächen oder ant, werden mitgeliefert und unterstützt. Umfassende BeispielAnwendungen für die unterschiedlichen J2EEThemen wie Web-Services, den Einsatz von
Enterprise Java Beans oder Servlets vermitteln
die Grundlagen zu den Techniken; die Dokumentation gibt ausführliche Informationen.
Darüber hinaus bietet BEA zur Vereinfachung
der Entwicklung das Produkt WebLogic Workshop an, das die Entwicklung von J2EE durch
Kapselung vereinfachen soll (siehe Abbildung 2).
Darauf aufbauend wird WebLogic Portal für die
Erstellung von Internet-Portalen angeboten.
Von der Performance und der Stabilität des WebLogic Servers konnte sich die ORDIX AG in diversen Entwicklungsprojekten überzeugen, in
denen Enterprise Java Beans und der Java Message Server zum Einsatz kamen.
System Management
Standardmäßig wird die betriebliche Administration über eine grafische Benutzeroberfläche ermöglicht. Diese stellt eine reine WebAnwendung dar, der Administrator muss da-
WebLogic Workshop
Plattformen
J2EE
Integrated Development Environment
Der Artikel wendet sich gleichermaßen an Entwickler und Entscheider von J2EE Projekten.
User Integration
WebLogic Portal
Application, Process,
B2B Integration
WebLogic Integration
Application Framework
WebLogic Workshop
Application Server
WebLogic Server
JVM
JRockit
Abb. 2: Software-Komponenten zum WebLogic
Server.
ORDIX News 2/2005
Java/XML
- <project name="ORDIXDomain" default="ordix.config">
<taskdef name="wlconfig" classname="weblogic.ant.taskdefs.management.WLConfig" />
<property name="user" value="user" />
<property name="password" value="password" />
<property name="adminurl" value="t3://localhost:7000" />
<property name="server.name" value="OrdixServer" />
<property name="server.domain" value="ordixdomain" />
- <target name="ordix.config">
<mkdir dir="${server.domain}" />
<wlserver username="${user}" password="${password}" servername="${server.name}" domainname="${server.
domain}" dir="${server.domain}" port="7000" generateconfig="true" beahome="d:\bea" />
</target>
</project>
Abb. 3: ant-Skript zur Erstellung einer Domain.
her keine eigenen Software-Komponenten
installieren. Eine Fernadministration ist problemlos möglich.
Erwähnenswert ist aber auch, dass die wesentlichen Administrationsaufgaben mit Hilfe
von Erweiterungen von ant ausgeführt werden
können, dazu gehören beispielsweise:
• Die Einrichtung einer Application Server
Domain
• Die Konfiguration von Datenbank Connections
• Das Starten und Stoppen
• Der Prozess des Deployments
Das ist einerseits während des Entwicklungsprozesses äußerst hilfreich, wo der Prozess des
Deployments häufig vorkommt und durch ant
automatisiert werden kann. Auch die Betriebsintegration wird dadurch erheblich erleichtert.
In Abbildung 3 ist ein ant-Skript zur Erstellung
einer neuen Application Server Domain dargestellt.
Glossar
Struts
Struts ist ein Open Source Framework für
die Präsentationsschicht von Java-Web-Anwendungen.
ant
ant ist ein in Java geschriebenes Werkzeug
zum automatisierten Erzeugen von Programmen aus Quell-Code.
Application Server
Ein Application Server ist eine MiddlewareKomponente. Hier wird die Geschäftslogik
implementiert.
Enterprise Java Bean Java-Komponente eines Application Servers. Die Methoden eines Enterprise Java
Beans werden von der Client-Anwendung
aufgerufen.
Servlet
Java-Komponente eines Application Servers.
Ein Servlet wird durch ein HTTP-Request aufgerufen; es generiert die HTTP-Response.
Java Message Server Nimmt eingehende Java Messages entgegen und vermittelt diese an Message Driven
Beans. Die Bearbeitung der Java Messages
erfolgt asynchron.
Deployment
Installation einer Application Server-Anwendung auf einem Application Server.
Links
http://www.bea.com
Verfügbarkeit und Skalierung
Die durch die J2EE Spezifikation angegebenen Möglichkeiten der Ausfallsicherheit und
der Lastverteilung sind im WebLogic Server
realisiert. Es gibt einige Beispiele großer Unternehmen, die ihre Web-Portale sowie die damit verbundenen Kundendienstleistungen auf
Grundlage des WebLogic Servers betreiben.
Lizenzen
Zum Zwecke der Entwicklung kann die Software für den WebLogic Server kostenfrei aus
dem Internet geladen werden. Diese Lizenz ist
ohne zeitliche Beschränkung nutzbar.
Preise für die Verwendung des WebLogic Servers
sind stark von der Konfiguration abhängig. Standard-Preislisten werden nicht veröffentlicht.
ORDIX News 2/2005
http://e-docs.bea.com/wls/docs81/admin_ref/ant_tasks.html
http://ant.apache.org/
http://struts.apache.org/
Fazit
Der WebLogic Server ist ein erprobter Application Server, der den derzeitigen Ansprüchen der J2EE Entwicklung genügt. Der Einstieg in
die Entwicklung mit dem WebLogic Server ist durch den kostenfreien
Download und die umfangreichen Dokumentationen erleichtert.
Die Möglichkeiten der Automatisierung im administrativen Bereich ist
für die Entwicklung und die Betriebsintegration von Vorteil. Aufgrund
seiner weiten Verbreitung finden sich – zusätzlich zur offiziellen Dokumentation – zu vielen Fragen Lösungshinweise im Internet.
Stefan Koch ([email protected]).
13
Datenbanken
Business Process Execution Language (BPEL), Teil I:
Web Services im Takt
Die technische Umsetzung von geschäftlichen Aktivitäten eines Unternehmens in Web Services hat in den
letzten Jahren große Fortschritte gemacht. Jetzt steht die umfassende Vernetzung der verschiedenen Web
Services zu Geschäftsprozessen an, die überschaubar sein sollen, leicht zu erstellen und zu verwalten sind
und dabei möglichst einem allgemeingültigen Standard folgen. Dieser Aufgabe hat sich das Business Process Management (BPM) verschrieben, dem mit der Business Process Execution Language (BPEL) ein Standard für die Prozessintegration zur Verfügung steht. Oracle bietet mit dem BPEL Process Manager eine Lösung für diesen Bereich an.
Dieser Artikel richtet sich an Verantwortliche und Architekten für
die Umsetzung des Business Prozess Managements auf technischer Ebene.
Gewachsene Vielfalt
Die schnelle Umsetzung aller Arten von geschäftlichen Aktivitäten
der Unternehmen in Web Services und deren starke Verbreitung und
große Vielfalt führten zu einer Vielzahl verschiedenster Möglichkeiten, solche Dienste bereitzustellen und zu verwalten. Im Laufe dieser Entwicklung wurden dazu verschiedene Plattformen geschaffen.
Vielen Plattformen ist der Zeitdruck der Entwicklungen anzumerken.
Änderungen und Erweiterungen waren zum Teil langfristig geplant,
oft aber schnelle Reaktion auf aktuelle Anforderungen. Folglich haben wir heute eine unüberschaubare Anzahl an Sprachen und Spezifikationen zur Implementierung von Web Services.
Ein erster Schritt zur Standardisierung: SOAP
Die Sprache XML (eXtensible Markup Language) wurde zwar bereits vor einigen Jahren eingeführt und standardisiert, es dauerte allerdings relativ lange, bis sie als universelles Format für den
Datenaustausch zwischen Web Services akzeptiert wurde. Immer noch operieren viele angebotene Dienste mit eigenen, spezifischen Datenformaten und Protokollen.
Sollen verschiedene Web Services zusammenarbeiten, um gemeinsam nicht nur eine einzelne Aktivität, sondern einen kompletten Geschäftsprozess technisch abzubilden und zu realisieren,
muss die Kommunikation durch interpretierende Instanzen und
zu erstellende Schnittstellen unterstützt werden, die die XML-Daten in die proprietären Formate und zurück umwandeln. Das hat
selbstverständlich Auswirkungen auf die Transparenz, Entwicklungszeiten und Fehlersuche.
Das SOAP-Protokoll (Simple Object Access Protocol) bildet die Basis für die Kommunikation mit unterschiedlichen Diensten, welche ihre Funktionalität und Schnittstellen in XML dokumentieren und elekZusammenstellung von Prozessen
Discovery
Beschreibung von Web Services
XML messaging
Transport-Protokolle
BPEL
UDDI
WSDL
SOAP, XML
HTTP, SMTP, FTP
Abb. 1: Standards für die Implementierung von Geschäftsprozessen.
14
tronisch anbieten. Zusammen mit Web Service
Definition Language (WSDL) und Universal Description, Discovery and Integration Protocol
(UDDI) hat sich SOAP heute als ein wichtiger
Quasi-Standard zum Datenaustausch und zur
Beschreibung webbasierter Dienste etabliert.
BPEL: Plattform für die Zusammenarbeit
von Web Services
Wichtig wäre eine verbindliche Beschreibung
einer Plattform, die mit diesen Standards zusammenarbeitet. Bislang existieren hier unterschiedliche Ansätze, von denen sich keiner eindeutig durchsetzen konnte.
Eine breite Basis hat die Sprache Business Process Execution Language (BPEL): BPEL wurde von IBM, Microsoft, Sun, Oracle, BEA Systems, SAP und Siebel gemeinsam entwickelt
und wird auch häufig BPEL4WS genannt (4WS
steht für „for Web Services“), oder auch WSBPEL genannt. Inzwischen wurde die Spezifikation zur Weiterentwicklung dem Standardisierungsgremium OASIS übergeben.
BPEL: Sprache für Service Orientierte Architekturen
BPEL ist als Plattform für die Bereiche gedacht,
in denen mit einer Service Orientierten Architektur (SOA) gearbeitet wird. Merkmale einer
SOA sind:
• In einer SOA stehen Geschäftsprozesse im
Vordergrund und nicht Applikationen.
• Diese Geschäftsprozesse werden in einer SOA durch die Zusammenstellung von
Services implementiert.
Die Zusammenstellung von Geschäftsprozessen und deren Verwaltung wird Business Process Management genannt (BPM). Das Vorhandensein einer SOA ist also zwingende Voraussetzung für BPM. BPM hat das Ziel, die
derzeit in Software eingebetteten und quasi
unsichtbaren Geschäftsprozesse aus der Ebene der Applikationen herauszuholen. Sie sol-
ORDIX News 2/2005
Datenbanken
len an einer zentralen Stelle sichtbar gemacht
werden, dort modelliert, zusammengestellt
oder gegebenenfalls geändert werden.
Bei BPM stehen Geschäftsprozesse im Vordergrund. Auch wenn die Abbildung der Geschäftsprozesse auf der technischen Ebene in
XML-Dokumenten stattfindet, sollen die BPMVerantwortlichen ohne XML-Kenntnisse Geschäftsprozesse analysieren und modellieren können. Deshalb wurde für die grafische
Darstellung von den zuvor genannten Firmen
ein Standard entwickelt: die Management Initiative „Business Process Modeling Notation“ (BPMN).
Dieser Standard setzt auf BPEL auf, die modellierten Prozesse werden mit BPEL auf der
Ebene der Kommunikation zwischen den Web
Services realisiert. In BPEL definierte, verschieden granulare Services können, einmal erstellt,
immer wieder zu neuen Geschäftsprozessen
zusammengestellt werden. Wie in einem Baukasten stehen die Services zur Verfügung und
können schnell für andere Zwecke zusammengestellt werden, ohne dass die Ebene des Austauschs von Daten und Messages, der Aufruf
von Funktionen etc. in den Blick genommen
werden muss.
Das trägt wesentlich zur Flexibilisierung der
Geschäftsprozesse bei.
BPEL: Orchestrierung von Web Services
Mit BPEL lässt sich ein Prozess beschreiben,
der in der Lage ist, verschiedene Dienste zu
einer Gesamtanwendung zu verknüpfen –
BPEL orchestriert die Zusammenarbeit von
Web Services. Im Bereich des BPM werden
zwei verschiedene Kopplungsmechanismen
zwischen Services unterschieden, die Choreographie und die Orchestrierung.
Von einer Choreographie spricht man, wenn
die Koordination einzelner unabhängiger Services durch einen Nachrichtenaustausch realisiert wird.
Bei einer Orchestrierung gibt es eine kontrollierende Instanz, die die einzelnen Services steuert, anspricht und wie ein Dirigent den Einsatz
gibt. Orchestrierung bedeutet das Zusammenspiel verschiedener Dienste, Applikationen oder
Web Services, die mit Hilfe einer BPEL-basierten Prozessbeschreibung einen bestimmten Geschäftsprozess abbilden und technisch ermöglichen. Die Interaktion der verschiedenen Komponenten, die Abfrage von Daten, das Aufrufen
von Funktionen und die Reaktion auf verschiedene Rückgabewerte, geschieht über die BPELLaufzeitumgebung.
ORDIX News 2/2005
Struktur von BPEL
Bei BPEL handelt es sich um eine erst kürzlich entwickelte und
(noch) nicht intensiv genutzte Sprache: Daher existieren unterschiedliche Spezifikationen zur Syntax der Sprache, abhängig davon, ob die Oracle BPEL-Engine oder die IBM-Engine verwendet
wird. Wenn plattformübergreifend gearbeitet werden soll, müssen
einige Befehle abgewandelt werden.
Die BPEL-Syntax ist stark an XML orientiert. Wer in diesem Bereich mit den dort verwendeten Sprachen XML und WSDL arbeitet, bewegt sich auch bei BPEL im „muttersprachlichen“ Bereich.
Für jeden definierten BPEL-Prozess wird ein WSDL-Dokument erstellt, in dem der genutzte Web Service definiert wird.
Will ein anderer Benutzer diesen Web Service nutzen, steht ihm
bereits dessen „Bedienungsanleitung“ zur Verfügung. Diese Definition enthält die „Partner“, mit denen der Prozess kommuniziert
(partnerLink), deren Kommunikationskanäle und die diesem „Partner“ möglichen Operationen.
Jedes BPEL-Dokument besteht aus einem Definitionsteil und einem Teil, der den Ablauf des Prozesses beschreibt. Konkret geschieht die Definition eines Geschäftsprozesses in drei Sektionen
des BPEL Dokuments:
• Partnerlinks: Hier werden die Services aufgelistet, die am Geschäftsprozess beteiligt sind.
• Variables: Listet die Nachrichten-Typen auf, die zwischen den
•
Services und deren Aktivitäten ausgetauscht werden. Der Typ
ist immer ein XML-Schema-basiertes Element oder ein WSDL-Nachrichtentyp.
Orchestration Logic: Dieser Ablaufteil beschreibt die Abfolge
der Aktivitäten, die die Services leisten sollen, um einen Geschäftsprozess abzubilden. In diesem Teil liegt also die Prozesslogik. Die verschiedenen Aktivitäten können aufeinander
folgen oder parallel ablaufen. Für die Ablaufsequenzen können auch Fehlerbehandlungen und Entscheidungsbäume basierend auf Rückgabewerten aufgebaut werden.
Die Grundstruktur eines Prozesses zeigt Abbildung 2.
<process name= „HelloWorld“> <! -– Prozess -->
<partnerLinks>
<! -– Dienste -->
</partnerLinks>
<variables>
</variables>
<sequence name = “main”>
<receive>
<assign>
<reply>
</sequence>
</process>
<! -– Daten -->
<! -– Ablaufsequenz -->
<! -– Aktivitäten -->
Abb. 2: Grundstruktur eines Prozesses in BPEL.
Schnittstellenbeschreibung unter BPEL
Für die im BPEL-Dokument aufgeführten Services gibt es eine WSDLSchnittstellenbeschreibung. Dieses WSDL-Dokument enthält die
folgenden (optionalen) Sektionen:
15
Datenbanken
• Type Definition: Die Definition der benötigten Datenstrukturen (XML-Elemente).
• Message Type Definition: Definition der Nachrichtentypen,
die zwischen den Services ausgetauscht werden.
• Port Type Definition: Hier werden zusammengehörende Arbeitsschritte gruppiert und als ein spezifischer Port Type definiert.
• Binding: Definition von konkreten Protokollen und Datenformaten für die Operationen und Messages eines Port Types.
• Service: Gruppierung von Port Types.
<process>
<assign>
Umschließt den ganzen Prozess.
Kopiert Daten von einer Variablen zu einer anderen.
So wird das Ergebnis eines Services an den nächsten übergeben.
<invoke>
Prozesse eines Services können aufgerufen werden.
<receive>
Spezifiziert den Service, von dem eine Variable empfangen werden soll. Mit <receive> kann auch eine Prozessinstanz aktiviert werden.
<reply>
Versendet eine Antwort als Folge auf eine <receive>Aktion. Ein <reply> bezieht sich immer auf einen bestimmten Partnerlink und eine bestimmte Variable.
<throw>
Beschreibt mögliche Fehlerfälle.
<terminate>
Beendet explizit den Prozess.
<sequence>
Definiert für verschiedene Aktivitäten die Reihenfolge, in der sie abgearbeitet werden sollen.
<pick>
Versetzt den Prozess sozusagen in eine Endlosschleife und wartet auf ein Ereignis, etwa die Antwort eines Partnerlinks, um dann mit dem Prozessfluss fortzufahren.
<flow>
Erlaubt das parallele Abarbeiten von Aktivitäten.
<switch>
und Ermöglichen fallbasierte Verzweigungen, z. B. auf<case>
grund bestimmter Attribute der Rückgabewerte einer vorangehenden Aktivität.
<correlation> Bietet die Möglichkeit, auf bestimmte Inhalte einer Rückgabe mit korrelierenden Nachrichten zu reagieren.
Abb. 3: Diese Operationen können mit BPEL ausgeführt werden.
Beispielprozess unter BPEL
Abbildung 5 zeigt, wie ein Beispiel-Prozess in BPEL abgebildet wird:
Für den Aufruf dieser Aktionen wird jeweils der entsprechende Partner, der Kommunikationskanal, die auszuführende Operation und welche Variable für diese Kommunikation verwendet werden soll, angegeben. Die so definierten Nachrichten werden im WSDL-Dokument
als message definiert, entsprechen also SOAP-Nachrichten.
BPEL: „SQL“ für Prozesse
Mit BPEL steht jetzt eine standardisierte, ablauffähige Sprache zur
Beschreibung von Prozessen zur Verfügung, die von einer Reihe
namhafter Unternehmen unterstützt wird. Für den Bereich des BPM
gilt BPEL als „SQL“ im Kontext von Web Services und eröffnet, wie
die Einführung von SQL vor 25 Jahren, Möglichkeiten, die einen
Produktivitäts- und Innovationsschub erwarten lassen.
Die Prozesslogik wird auf einer eigenen Ebene bearbeitet, die unabhängig ist von den technischen Gegebenheiten der zu integrierenden
Dienste. Die Möglichkeiten der Services sind transparent und können, wenn sie einmal definiert sind, schnell und flexibel genutzt werden. Definierte Dienste können neu zusammengestellt werden und
so andere Prozesse abbilden. Das erlaubt eine effiziente Implementierung eines Geschäftsprozesses nach SOA-Prinzipien und gege-
16
Abb. 4: BPEL Console.
benenfalls die flexible Anpassung des Prozessverlaufs an neue Gegebenheiten. Damit können
sich Unternehmen schneller als bisher Marktveränderungen anpassen.
Jeder einmal mit BPEL definierte Prozess kann
in anderen Kontexten weiterverwendet werden. Die benötigten Ressourcen für Projekte
der Prozess-Integration können durch BPEL
stark reduziert werden.
BPEL produktiv nutzen:
Oracle BPEL Process Manager
Um BPEL produktiv nutzen zu können, sind
eine stabile und performante Laufzeitumgebung, Designwerkzeuge sowie eine Konsole
für die Verwaltung und das Monitoring der erstellten Prozesse nötig.
Die an der Erstellung des BPEL-Standards
beteiligten Firmen bieten Lösungen zur Implementierung von BPEL an oder arbeiten an
solchen. Oracle konnte sich durch die Übernahme von Collaxa eine bereits weit entwickelte BPEL-Engine sichern, die jetzt als Oracle BPEL Process Manager 2.1.2. weiterentwickelt wurde und zur Verfügung steht (siehe Abbildung 4). Der Oracle BPEL Process Manager
unterstützt die Implementierung und das Arbeiten unter BPEL sowohl in der Entwicklung als
auch in der Ausführung.
Der Oracle BPEL Process Manager enthält die
folgenden Elemente:
• Den BPEL Designer: Mit der graphischen
•
Umgebung können die BPEL-Prozesse modelliert werden.
Die BPEL Console, unter der die Prozess-Instanzen verwaltet und überwacht werden.
ORDIX News 2/2005
Datenbanken
<! – HelloWorld BPEL Process [Generated mit ORACLE BPEL Designer] -->
<process name= "HelloWorld">
targetNamespace="http://bpelbeispiele.de"
suppressJoinFailure="yes"
xmlns:tns="http://bpelbeispiele.de"
xmlns="http://schemas.xmlsoap.org/ws/2003/business-process"
xmlns:bpelx="http://schemas.oracle.com/bpel/extensions"
xmlns:ora="http://schemas.oracle.com/xpath/extensions"
<! – ===================================================== -->
<! – PARTNER LINKS
-->
<! – List of services participating in this BPEL process
-->
<! – ===================================================== -->
<partnerLinks>
<! Die 'client'-Rolle repräsentiert den, der diesen Service anfragt -->
<partnerLink
names>= "client" partnerLinkType="tns:HelloWorld"
myRole="HelloWorldProvider"/>
</partnerLinks>
<! – =====================================================================
<! – VARIABLES
<! – Liste der Services und XML-Messages innerhalb dieses BPEL-Prozesses
<! – =====================================================================
-->
-->
-->
-->
<variables>
<! – Referenz auf die Message, die als Input diesen Prozess initiiert -->
<variable name= »input » MessageType="tns:HelloWorldRequestMessage">
<! – Referenz auf die Message, die dem Anfragenden gentwortet wird -->
<variable name= »output » MessageType="tns:HelloWorldResponseMessage">
</variables>
<! – ===================================================================== -->
<! – ORCHESTRATION LOGIC
-->
<! – Aktivitäten zum Koordinieren des Flusses der Messages zwischen den Services -->
<! - innerhalb dieses BPEL-Prozesses -->
<! – ===================================================================== -->
<sequence name = "main">
<! – Input vom client empfangen. Eintrag verweist auf in HelloWorld.wdsl definierte Operationen -->
<receive name="receiveInput"
partnerLink= "client"
portType="tns:HelloWorld"
operation="process"
variable="input"
createInstance="yes"/>
<! – Antwort generieren
-->
<assign name="Verknüpfung">
Abb. 5: Beispielprozess in BPEL abgebildet.
• Die BPEL Engine, die Laufzeitumgebung als
J2EE-Container realisiert.
• Eine ORACLE Datenbank, in der langlaufende Prozesse persistent gehalten werden.
Über die Anforderungen hinaus, die der BPELStandard stellt, kann über Erweiterungen Java-Code direkt in Dokumente eingebettet werden, nicht SOAP-basierte Web Services können über das Web Services Invocation Framework in eine Prozess-Definition eingebunden
werden. Damit können Dienste auch über andere Schnittstellen, Protokolle und Sprachen
als im Standard BPEL vorgesehen genutzt
werden, etwa Java, JCA oder E-Mail.
Ausblick
Nach dieser Einordnung von BPEL und der Beschreibung seiner Möglichkeiten folgt im zweiten Teil eine ausführliche Darstellung, wie sich
die Prozess-Modellierung mit dem Oracle BPEL
Process Manager realisieren lässt.
Uwe Rübesamen ([email protected]).
ORDIX News 2/2005
Glossar
BPM
Mit Business Process Management (BPM) lassen sich Geschäftsprozesse in einem dynamischen IT-Umfeld formen
und weiter entwickeln. So können Applikationen zu adaptiven Prozessen verknüpft werden, die die komplette Wertschöpfungskette umfassen.
SOA
Service-orientierte Architektur (engl. Service Oriented Architecture) in der Softwarearchitektur.
SOAP Simple Object Access Protocol. SOAP ist der heutige Standard für Web Services Messages. SOAP definiert für Messages, die mittels XML übermittelt werden, einheitliche Formate der Adressierung und Inhaltsbeschreibung.
WSDL Web Service Definition Language. WSDL gibt das Format für
eine einheitliche Beschreibung eines Web Services vor, anhand derer ein solcher Service angefragt und dessen Funktionen abgerufen werden können.
UDDI Universal Description, Discovery and Integration protocol.
UDDI spezifiziert ein universelles Format zur Verwaltung
von Informationsverzeichnissen, Adressen etc. eines Web
Services.
OASIS Organization for the Advancement of Structured Information
Standards. OASIS ist eine nicht-kommerzielle Organisation,
die sich um die Standardisierung von Formaten für Web Services auf der Basis von XML kümmert.
17
Aktuell
Open Source für den Mittelstand
10 Jahre erfolgreiche Partnerschaft: KARRENA und ORDIX
Als das Ratinger Industrie-Unternehmen KARRENA Teile seiner Computersysteme auf Unix Systeme umstellte, bestand für einige Bereiche entsprechender Beratungs- und Unterstützungsbedarf. Aus einer lockeren
Unterstützung, die der damalige ORDIX Geschäftsführer und heutige Vorstand Kögler geleistet hatte, entwickelten sich verschiedene Aufträge für das Paderborner Software-Unternehmen. Daneben wurden auch Schulungen bei ORDIX gebucht. Jüngst unterstützte ORDIX die KARRENA Gruppe bei der Umstellung der Linux
Server auf Linux Cluster Server.
Der Artikel wendet sich an Entscheider und Systemadministratoren, die sich mit Unix, Linux, Samba, Mail, CUPS, Backup
und Recovery beschäftigen.
Von Unix zu Linux
Neben dem ursprünglich eingesetzten HP Server deckte KARRENA den Ende der neunziger Jahre entstandenen Bedarf durch Linux Rechner ab. Als Vorreiter für Open Source stand ORDIX den
IT-Mitarbeitern von KARRENA dabei zur Seite.
Im Jahr 2004 kam das EDV Team von KARRENA zu dem Schluss,
dass dem Themenschwerpunkt „Verfügbarkeit“ mehr Bedeutung
beigemessen werden müsse. Obwohl die Daten schon damals
auf drei verschiedene Server verteilt waren (je einer für die zentrale Datenbank, CAD- und Windows Dokumente), hätte der Ausfall einer dieser Maschinen zu nicht tolerablen Verzögerungen in
den Arbeitsabläufen geführt.
Auf dem ORDIX Fachtreff zum Thema „Open Source Software –
technische und kostensenkende Alternative“ erfuhr KARRENA,
dass es im Bereich Linux Cluster und Verfügbarkeit inzwischen
technologisch sehr gute Lösungen zu akzeptablen Preisen gibt.
Abb. 1: EDV-Leiter Dr. Helmut Lütcke (Mitte) mit
seinen beiden Mitarbeitern Thomas Sprenger
(links) und Christoph Schulz (rechts).
Vom Linux Server zum Linux Cluster
Mit den Informationen aus diesem Beratungstag erstellte das KARRENA EDV-Team eine
Vorlage für die Geschäftsleitung, die schnell
abgesegnet war. Nur wenige Wochen nach
dem ersten Beratungstermin wurden die Cluster zusammen mit ORDIX aufgebaut, Software
installiert und die Systeme konfiguriert.
Mit dem Wissen aus dem Fachtreff schmiedeten EDV-Leiter Dr.
Lütcke und seine Mitarbeiter Thomas Sprenger und Christoph
Schulz ein Konzept, wie die hausinterne IT mit zwei leistungsfähigen und mit genügend Festplattenplatz ausgestatteten Linux Servern neu zu gestalten sei.
Der Linux Heartbeat Cluster wurde favorisiert, weil zusätzlich zu
der gewährleisteten Hochverfügbarkeit im Normalfall zwei Server
bereitstehen, auf die die verschiedenen Dienste verteilt werden
können, um so exzellente Response-Zeiten zu erhalten.
In der Vergangenheit stets gut beraten, wendeten sich die KARRENA Mitarbeiter für die Detailplanung auch dieses Mal vertrauensvoll an ORDIX. Ein Termin mit ORDIX reichte für die Prüfung des
Konzeptes aus, wobei es nur an wenigen Stellen ergänzt werden
musste. Das ORDIX Wissen um zusätzliche, kleine und zugleich
wichtige Aspekte, wie z. B. Steckerleisten, Backupgeräte und die
Trennung der Server durch feuerfeste Wände, rundete die Vorstellungen der Ratinger ab.
18
Sämtliche Ausfallszenarien wurden erfolgreich
durchgespielt. Jetzt wartet das Gesamtsystem
darauf, entgültig in Betrieb genommen zu werden. Auch dabei wird ORDIX bei Bedarf wieder unterstützend tätig werden.
Welche Vorteile bringt KARRENA die Zusammenarbeit mit ORDIX?
Auf die Frage, warum KARRENA die Zusammenarbeit mit ORDIX schätzt, antwortet Herr
Sprenger: „Ich kenne Herrn Kögler schon seit
mehr als 20 Jahren. Was die Beratungs- oder
ORDIX News 2/2005
Aktuell
LAN
Virtuelle IP-Adressen
Die Hauptaktivitäten der KARRENA Gruppe
liegen in der Auskleidung feuerfester Industrieanlagen und im Bau von Industrieschornsteinen.
Seit der Gründung im Jahr 1914 ist die KARRENA inzwischen zu einer weltweit operierenden
Unternehmensgruppe mit Vertretungen in mehr
als 20 Ländern herangewachsen.
Im Jahr 2000 erhielt KARRENA den größten
Montageauftrag ihrer Firmengeschichte: Den
Neubau von zwei Koksofenbatterien für die
neue Kokerei in Duisburg Schwelgern. Nach
den Ofenkammerdimensionen ist dies die größte Kokerei der Welt.
Zu den Referenzen der KARRENA gehören
ferner die Feuerfestauskleidung des größten
Hochofens Europas und der größten zirkulierenden Wirbelschichtanlage in Europa, ebenso der mit 360 m höchste Schornstein Westeuropas. Tausende von Referenzanlagen stehen
heute in mehr als 100 Ländern der Welt.
Internet: http://www.karrena.de
E-Mail: [email protected]
Unterstützungsleistung betrifft, sind wir von
ORDIX nie enttäuscht worden. ORDIX hatte für uns jederzeit das notwendige und richtige Know-how zur Verfügung.“ Und er erklärt
weiter: „Die Berater sind kompetent und es
herrscht Beständigkeit: Selbst der erste Berater, der 1995 bei uns war, steht uns heute noch
bei Bedarf zur Verfügung. Wo finden Sie sonst
solche Konstanz und Kompetenz?“
EDV-Leiter Dr. Lütcke ergänzt: „Für ein Unternehmen wie KARRENA, das nicht von der IT
lebt, sondern diese nur als Mittel zum Zweck
nutzt, ist es gerade im Bereich Open Source
wichtig, auf jemanden zurückgreifen zu können, dem man vertraut und der einem sofort
und unkompliziert helfen kann. Das alles finden wir bei ORDIX.“
Beim jüngsten Projekt hat ORDIX, wie bereits
erwähnt, zwei Linux Server als Cluster aufgebaut, was im Weiteren beschrieben wird.
So (einfach) entsteht ein Linux Cluster
System
Bei der technischen Umsetzung des Clusters
wurde die zum Distributionsumfang des SUSE Linux Enterprise Server 9 gehörende Software des Linux High Availability Project ein-
ORDIX News 2/2005
Heartbeat über Nullmodemkabel
Heartbeat über Kreuzkabel/UDP
(4) Schreibvorgang
Master
Primärer
Datenbestand
(1) „Schreibe Daten!“
(3) „OK: Daten sind geschrieben!“
Realtime Datensynchronisation mittels DRBD
(2) Schreibvorgang
Sekundärer
Datenbestand
Backup
Abb. 2: Gemeinsame Datenhaltung mit DRBD.
gesetzt. Die beiden Knoten überwachen sich gegenseitig mittels
einer separaten IP-Verbindung über ein gekreuztes Netzwerkkabel sowie über ein an die seriellen Schnittstellen angeschlossenes Nullmodemkabel.
Im Normalfall läuft auf einem der Knoten („lina“) das RDBMS „Universe“ und auf dem zweiten („linb“) der Samba Fileserver. Fällt ein
Knoten aus, übernimmt das übriggebliebene System die zu dem
jeweiligen Dienst gehörende IP-Adresse und startet die notwendigen Skripte zur Übernahme des Dienstes.
Konfiguration des Clusters
Die Basiskonfiguration der Clustersoftware erfolgt in der Datei
/etc/ha.d/ha.cf:
# Heartbeat Meldungen alle 2 Sekunden senden
keepalive 2
# Nach 10 Sekunden Partner für „tot“ erklären
deadtime 10
# Heartbeat über die serielle Schnittstelle
baud 19200
serial /dev/ttyS0
# UDP Heartbeat über die Netzwerkschnittstelle eth1
udpport 694
bcast eth1
# Die Namen der Knoten
node lina
node linb
Gemeinsame Datenhaltung mit DRBD
Zur gemeinsamen Datenhaltung zwischen den Knoten wird die
ebenfalls zum Distributionsumfang gehörende Distributed Replicated Block Device (DRBD) Software eingesetzt. Mittels DRBD
lassen sich virtuelle Blockdevices generieren, die dafür sorgen,
dass Schreibvorgänge auf beiden Knoten simultan erfolgen (siehe Abbildung 2). Der Datentransfer erfolgt über die auch zur gegenseitigen Überwachung genutzte Gigabit Ethernet Verbindung
zwischen den Knoten. Für den Cluster wurden zwei dieser DRBD
Devices erzeugt, welche die für jeweils einen Dienst benötigten
Daten enthalten. Die Konfiguration der Geräte erfolgt innerhalb der
Datei /etc/drbd.conf (siehe Abbildung 3).
Die Clustersoftware entscheidet im laufenden Betrieb, welcher der
beiden Knoten auf ein DRBD Device aktiv zugreifen darf (Primary)
und welcher Knoten lediglich Daten empfängt (Secondary). Die
19
Aktuell
resource drbd0 {
on lina {
device
disk
address
meta-disk
}
}
on linb {
device
disk
address
meta-disk
}
durch das von ORDIX für den LVM2 angepasste Skript /etc/ha.d/resource.d/LVM2.
/dev/drbd0;
/dev/sda7;
172.17.1.201:7788;
internal;
/dev/drbd0;
/dev/sda7;
172.17.1.202:7788;
internal;
Abb. 3: Auszug aus der DRBD Konfiguration /etc/drbd.conf.
lina 192.9.200.203 drbddisk::drbd0 LVM2::universe \
Filesystem::/dev/universe/ibm::/usr/ibm::reiserfs \
Filesystem::/dev/universe/dd51::/dd51::reiserfs \
Filesystem::/dev/universe/dd52::/dd52::reiserfs \
Filesystem::/dev/universe/dd53::/dd53::reiserfs \
universe MailTo::admin1,admin2::Universe-Dienst
Abb. 4: Auszug aus der /etc/ha.d/haresources.
# Der APC-Switch 192.9.200.18 ist das STONITH Device
stonith_host lina apcmastersnmp 192.9.200.18 161 geheim
stonith_host linb apcmastersnmp 192.9.200.18 161 geheim
Abb. 5: Konfigurationseinstellung in der Datei /etc/ha.d/ha.cf.
Änderung des Status erfolgt über das zur Clustersoftware gehörende Skript /etc/ha.d/resource.d/drbddisk.
LVM2 auf DRBD
Die DRBD Devices selbst wurden wiederum als Physical Volumes
für das Logical Volume Management markiert:
pvcreate /dev/drbd0
pvcreate /dev/drbd1
Um sie anschließend einer Volume Group zuteilen zu können,
musste dafür gesorgt werden, dass die „unter“ dem DRBD Device
liegenden physikalischen Partitionen /dev/sda7 und /dev/sda8
nicht vom LVM als Physical Volume erkannt werden, sondern lediglich das darauf befindliche DRBD Device. Mit dem neuen Logical Volume Manager in der Version 2 lassen sich zu diesem Zweck
Filterregeln in Form logischer Ausdrücke definieren:
/etc/lvm/lvm.conf:
filter = [ "r|/dev/sda[7-8]$|" ]
Im Anschluss daran konnten Volume Groups und Logical Volumes
für die beiden Dienste erstellt werden:
vgcreate universe /dev/drbd0
vgcreate samba /dev/drbd1
lvcreate –L6.5GB –n ibm universe
...
Die Aktivierung einer Volume Group bzw. der darin enthaltenen Logical Volumes erfolgt wiederum bei der Übernahme des Dienstes
20
Konfiguration der Clusterdienste
Mit der Datei /etc/ha.d/haresources wird letztendlich definiert, welche Skripte bei der Übernahme eines Dienstes gestartet werden sowie
welcher Knoten diesen Dienst standardmäßig
aktivieren soll (siehe Abbildung 4).
Beim Start des Dienstes „Universe DBMS“ werden demnach folgende Aktionen von der Clustersoftware ausgeführt:
1. Aktivierung der IP Adresse 192.9.200.203
2. Status „Primary“ setzen für DRBD Device
drbd0
3. Volume Group „universe“ auf drbd0 aktivieren
4. Logical Volumes „ibm“, „dd51“, „dd52“, „dd53“
in den Dateibaum einhängen
5. Universe DBMS starten
6. Hinweis über die Übernahme per Mail an die
Benutzer „admin1“ und „admin2“ versenden
Ein Stopp des Dienstes sorgt für die Deaktivierung der genannten Komponenten in umgekehrter Reihenfolge. Das Start/Stop Skript /etc/
ha.d/resource.d/universe musste zu diesem
Zweck zunächst von der ORDIX AG erstellt werden. Die Universe Software selbst liegt auf dem
Logical Volume „ibm“ und wird bei der Aktivierung des Dienstes unter /usr/ibm eingehängt.
STONITH
Ein zentrales Problem beim Aufbau eines Clusters stellt die „Split Brain“ Situation dar. Diese bezeichnet eine kritische Situation, die beim Ausfall der Kommunikationsleitungen zwischen den
Knoten entsteht. In diesem Fall erhalten die Knoten keine Information über den Status des Partners und gehen demzufolge fälschlicherweise
davon aus, dass dieser nicht mehr lebt. Wenn
nun beide Knoten den Dienst übernehmen wollen, kann es zu Datenkorruption und IP-Konflikten im Netzwerk kommen.
Um dies auszuschließen, verwendet die Clustersoftware das STONITH Verfahren („Shoot the
other node in the head“). Beim Ausfall der Heartbeat Leitungen bzw. sobald sich die Knoten nicht
mehr erreichen, versuchen beide Knoten über
eine schaltbare Stromleiste (APC Masterswitch),
den Partner abzuschalten. Dazu ist die in Abbildung 5 gezeigte Konfigurationseinstellung in der
Datei /etc/ha.d/ha.cf getätigt worden.
Will z. B. der Rechner „lina“ den Rechner „linb“
ausschalten, so verbindet er sich per SNMP
mit dem APC Masterswitch mit der IP-Adresse 192.9.200.18 auf dem Port 161 und mit dem
ORDIX News 2/2005
Aktuell
Passwort „geheim“. Anschließend wird die Steckdose mit der Bezeichnung „linb“ abgeschaltet.
Dies bedingt die vorherige Zuweisung dieser Bezeichnung über die Administrationsoberfläche des
Masterswitches.
Fazit
Bei der Installation des Clusters wurde ausschließlich Software aus dem Distributionsumfang des SUSE Linux Enterprise Server 9 verwendet. Auch für die Knoten wurden keine teuren Serversysteme eingesetzt, sondern übliche
PC Hardware. Zudem konnte durch den Einsatz
von DRBD auf kostenintensive, externe Storagesysteme zur gemeinsamen Datenhaltung verzichtet werden.
Dennoch verfügt KARRENA nun über ein hochgradig ausfallsicheres System, welches Schutz
gegen jeden denkbaren Einzelfehler der Hardwarekomponenten bietet. Dies wurde im Rahmen der Abnahme in Form eines ausführlichen
Testkatalogs verifiziert.
Planen auch Sie den Einsatz eines Linux Clusters? Dann fordern Sie uns!
Christof Amelunxen ([email protected]).
Glossar
Cluster
Zusammenfassung von zwei oder mehr Rechnern (Knoten)
zu einem logischen System, mit dem Ziel der Verbesserung
von Performance oder Verfügbarkeit.
CUPS
Common Unix Printing System – das Standard Drucksystem auf Linux Servern.
DRBD
Distributed Replicated Block Device. Ermöglicht die gemeinsame Datenhaltung zwischen zwei Knoten eines Clusters durch Spiegelung eines Blockdevices über ein IP Netzwerk. Schreibvorgänge auf ein mit DRBD verwaltetes Device erfolgen auf beiden Knoten simultan.
Heartbeat Die zwischen den Knoten im Cluster ausgetauschten Statusmeldungen. Gleichzeitig Name der Clustersoftware des
Linux High Availability Projects.
LVM
Logical Volume Manager.
Physical Ein beliebiges, blockorientiert angesprochenes Gerät, welVolume
ches einer Volume Group zugeteilt wird.
Samba
Ein frei verfügbarer Fileserver für Windows Clients.
Split Brain Kritischer Fall innerhalb eines Clusters, der beim Ausfall
sämtlicher Kommunikationsleitungen zwischen den Knoten
auftritt. In diesem Szenario kann keiner der Knoten eindeutige Aussagen über den Status des Partners machen.
STONITH „Shoot the other node in the head“-Verfahren, welches beim
„Split Brain“-Problem Datenkorruption durch Ausschalten des
Partnerknoten mittels schaltbarer Stromleisten verhindert.
Volume
Eine Menge von 1-n blockorientiert angesprochener GeräGroup
te (Physical Volumes), aus der wiederum 1-n Logical Volumes erzeugt werden können.
Titelthema – Partnerschaft ORDIX und VMware
ORDIX ist zertifizierter „VMware VIP Enterprise Partner“
Seit mehreren Jahren unterstützt ORDIX seine Kunden bereits in VMware-Projekten – unter anderem im Zuge der Serverkonsolidierung. Im Frühjahr 2005 wurde die erfolgreiche Zusammenarbeit zwischen VMware
und ORDIX auf eine neue Basis gestellt: Ab sofort steht ORDIX Ihnen als zertifizierter VMware VIP Enterprise
Partner zur Verfügung.
Verschiedene Betriebssysteme auf Intel
Servern und Workstations einsetzen
Mit der Technologie von VMware können verschiedene Betriebssysteme wie MS Windows,
Linux und NetWare gleichzeitig und unabhängig voneinander auf Intel-basierten Servern
und Workstations eingesetzt werden. Mit Hilfe
der VMware Produkte ist es möglich, auch Live-Applikationen während des Betriebs im System zu verschieben.
Globale Verwaltung wird dynamisch
Diese virtuellen Systeme fügen sich nahtlos
in physikalische Infrastrukturen und Verwaltungsumgebungen ein. Nutzer verfügen somit
ORDIX News 2/2005
über dediziert zugewiesene Systemressourcen, während Administratoren die IT-Infrastruktur global verwalten und dynamisch an die
wechselnden Bedürfnisse im Unternehmen anpassen.
ORDIX Leistungen
Zertifizierte VMware Mitarbeiter der ORDIX AG unterstützen Sie von
der Planung über die Konzeption bis hin zur Realisierung Ihrer VMware Projekte. Dies kann sowohl im Umfeld der Serverkonsolidierung
als auch beim Einsatz von Test- oder Schulungssystemen sein.
Vielleicht ...
haben Sie in der ORDIX News schon den einen oder anderen Artikel über VMware gelesen? Für weitere Informationen stehen wir
Ihnen selbstverständlich gerne zur Verfügung. Sprechen Sie uns
an: [email protected].
21
Datenbanken
IBM Informix Dynamic Server 10.00
The next Generation ....
IBM Informix 10.00
Aus 9.5 mach 10, nach dieser Devise zieht IBM jetzt in Bezug auf die Versionierung bei Informix nach. Dieser Artikel gibt einen groben, allgemeinen Überblick über die Neuerungen des aktuellesten IBM Informix Releases 10.00, das im Februar 2005 auf den Markt gekommen ist. Technische Einzelheiten und Details erfahren Sie in einer der folgenden Ausgaben dieses IT-Magazins.
Dieser Artikel richtet sich an Datenbankadministratoren und Entscheider, die überlegen, auf die neueste Version von IBM Informix umzusteigen.
Übersicht
Wie auch schon in den letzten Releases hat IBM für alle relevanten Schichten eines Datenbanksystems Erweiterungen eingebaut.
Neuerungen des IBM Informix 10.00 Releases ergeben sich demzufolge für die Datenbankserver-Module:
•
•
•
•
Installation
Security
SQL
Interne Architektur / Administration
• Backup & Recovery
• Hochverfügbarkeit
• Performance
Installation
Mit dem IBM Informix Dynamic Server (IDS) Release 10.00 wurde ebenfalls der neue, graphische Installer „Install Shield Assistent“ eingeführt. Der Assistent kann in den folgenden drei Varianten betrieben werden:
• GUI
• Text Mode
• Silent Mode
Abbildung 1 zeigt die graphische Variante. Ob
es wirklich hilft, die ohnehin schon im Vergleich
zu Oracle sehr einfache Installation noch weiter zu vereinfachen, sei dahingestellt.
Security
Column Level Encryption
Bereits mit dem letzten Release IDS 9.4 wurde
die Möglichkeit der Verschlüsselung des Client/Server Datenverkehrs eingeführt (siehe ORDIX News 2/2004). Mit dem neuesten Release
besteht nun die Möglichkeit, auch auf ColumnEbene Daten innerhalb der Datenbank zu verschlüsseln. Mit dem neuen SQL Befehl SET ENCRYPTION PASSWORD können Daten nun innerhalb der Datenbank mittels Triple-DES oder
AES Algorithmen verschlüsselt werden.
SQL
CREATE/DROP Index ONLINE
Ein Highlight ist wohl ohne Zweifel die Erweiterung des CREATE INDEX/DROP INDEX
Statements um die Option ONLINE. Das bedeutet, dass beim Anlegen oder Löschen eines Indizes kein exclusive Lock mehr auf der
Tabelle gehalten wird und somit weitere Zugriffe, während eines Index DDL Befehls möglich
sind. Hiermit holt Informix einen lange gehaltenen Vorsprung von Oracle auf.
Server-Architektur und Administration
Abb. 1: Neuer Install Shield Assistent.
22
Konfigurierbare Page Size
Eine weitere, sehr nützliche Funktion ist die
konfigurierbare Page Size (Buffer Pool/DBspace). Ab 10.00 besteht jetzt die Möglichkeit, mehrere unterschiedliche Page Sizes pro
DBspace zu konfigurieren (siehe Abbildung
2). Für jede entsprechende Page Size muss
ein eigener Buffer Pool erzeugt werden. Abbildung 3 zeigt den neuen ONCONFIG-Parameter BUFFERPOOL.
ORDIX News 2/2005
Datenbanken
IBM Informix Dynamic Server Version 10.00.UC1
Dbspaces
address number
flags
494d37e0 1
0x60001
495e5310 2
0x60001
2 active, 2047 maximum
Chunks
address chunk/dbs offset
494d3938 1
1
0
495e5188 2
2
0
2 active, 32766 maximum
fchunk
1
2
nchunks
1
1
size
20000
5000
-- On-Line -- Up 00:01:10 -- 110616 Kbytes
pgsize
2048
4096
free
12307
4947
flags
N
N
bpages
owner
B
B
name
informix rootdbs
informix data4k
flags
PO-B
PO-B
pathname
/informix/dbs/rootdbs
/informix/dbs/data4k
NOTE: The values in the "size" and "free" columns for DBspace chunks are
displayed in terms of "pgsize" of the DBspace to which they belong.
Expanded chunk capacity mode: always
Abb. 2: onstat –d Ausgabe / unterschiedliche Page Sizes.
BUFFERPOOL
default,buffers=1000, lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.000000
BUFFERPOOL
size=4K,buffers=20000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.000000
BUFFERPOOL
size=8K,buffers=22000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.000000
Abb. 3: Neuer ONCONFIG Parameter BUFFERPOOL.
Das Anlegen kann auch dynamisch ohne erneutes Booten des Datenbankservers erfolgen. Die Allokierung erfolgt im virtuellen Shared
Memory.
Neuer Single User Mode
Neben dem Quiescent Mode steht uns nun ein
neuer, „richtiger“ Single User Mode zur Verfügung. Das bedeutet, nur der DBA (User Informix) kann eine Verbindung zur Datenbank aufbauen (onmode –j / oninit –j).
•
•
•
•
•
•
•
•
Backup & Recovery
Im Bereich Backup & Recovery gibt es ebenfalls einige sehr interessante Neuerungen.
Table Level Restore
Table Level Restore war bereits in früheren
Informix Online 5.x Zeiten mittels des „undokumentierten“ Tools ARCUNLOAD für den
TBTAPE möglich.
Mit dem Release 10.00 steht diese Funktion
nun offiziell auch für den ONBAR zur Verfügung. Grundlage für den Table Level Restore
bildet das ARCHECKER Tool. Mit dem neuen
Table Level Restore Feature können einzelne
Tabellen nun auch Point in Time aus einem bestehenden Backup extrahiert werden.
Tivoli Storage Manager Modul
Hier versteckt sich ein integriertes TDPI Modul
(Tivoli Data Protection for Informix), welches
nun direkt mit der Datenbanksoftware installiert wird. Somit ist eine Sicherung mittels ON-
ORDIX News 2/2005
Konfigurierbare Tablespace – Tablespace Extent Größen
(Parameter TBLTBLFIRST, TBLTBLNEXT bzw. ONSPACES)
Rename DBspace
Konfigurierbarer LISTENER VP
Externe Speicherung von Optimizer Directiven
SAVE EXTERNAL DIRECTIVES
Dynamisch änderbare OPTCOMPIND Einstellung
Maximale Shared Memory Größe > 4 GB
Explizite Speicherallokierung für Nicht-PDQ Queries
DS_NONPDQ_QUERY_MEM (früher max. 128 KB)
Hochverfügbarkeit: Neuerungen im Bereich HADR und ER
• Möglichkeit der Verwendung von Master Replikaten (ER)
• ALTER Befehle auf replizierte Tabellen
(Beispiel: add/drop fragments, add / drop columns, usw.)
Abb. 4: Weitere Neuerungen im Überblick.
BAR nach TSM mit nur wenigen Handgriffen möglich. Hiermit unterstreicht IBM die stärkere Integration in andere IBM Produkte.
Fazit
Wie bereits erwähnt, war dieses nur ein erster Überblick über die
Neuerungen des neuesten IBM Informix 10.00 Releases. Abbildung
4 fasst weitere, sehr interessante Neuerungen zusammen, die vor
allem die Bereiche Performance und interne Architektur betreffen.
In einer der kommenden Ausgaben erfahren Sie mehr Details zu
den Neuerungen sowie technische Hintergründe zu den neuen
Features.
Sie wünschen vorab weitere Informationen zum IBM Informix 10.00
Release? Kein Problem, sprechen Sie uns an!
Guido Saxler ([email protected]).
23
Datenbanken
Oracle SQL
Oracle SQL für Experten
Oracle Datenbankprogrammierung mit PL/SQL
Oracle Datenbankadministration Grundlagen
Oracle Datenbankadministration Aufbau
Oracle Administration für Informix Umsteiger
Oracle Backup und Recovery
Oracle Tuning und Monitoring
Oracle Troubleshooting
Oracle Real Application Cluster (RAC)
Oracle 10g Neuheiten
Oracle Net
Zugriffskontrolle mit Oracle FGA / VPD
Oracle Data Guard Workshop
Oracle RMAN Workshop
Informix SQL
Informix Dynamic Server Administration
Informix Tuning und Monitoring
Informix Backup und Recovery mit ON-Bar
Informix Dynamic Server 9.4 Neuheiten
IBM DB2 UDB für Unix/Windows SQL Grundlagen
MySQL Administration
IBM DB2 UDB für Unix/Windows Administration Grundlagen
Microsoft SQL Server Administration
Programmierung
Einführung in die objektorientierte Programmierung
Java Programmierung Grundlagen
Java GUI Entwicklung mit Swing
Java Programmierung Aufbau
Java 5.0 Neuheiten
C# Programmierung
Perl Programmierung Grundlagen
Perl Programmierung Aufbau
Einführung in XML
XML Programmierung unter Java mit DOM und SAX
Oracle und XML
Einführung in Oracle Forms Developer
Einführung in Oracle Reports Developer
Oracle Designer 6i/9i
Shell, Awk und Sed
J2EE
J2EE für Entscheider
Einführung in J2EE
Web-Applikationsentwicklung mit Java Server Pages und Servlets
Applikationsentwicklung mit Enterprise Java Beans (EJB)
Internet & Intranet
Web-Design mit HTML
Web-Design mit JavaScript
Web-Design mit PHP
Konzeptionierung und Entwicklung einer E-Commerce Lösung mit PHP
PHP5 New Features
Apache Web-Server Installation und Administration
Tomcat Konfiguration und Administration
WebSphere Application Server Installation und Administration
System Management
PATROL Update Workshop
PATROL Basics
PATROL Customizing and Development
PATROL Advanced
PATROL Central
PATROL Express
Betriebssysteme
Unix/Linux Grundlagen für Einsteiger
Linux Systemadministration
HP-UX-, Solaris-, Linux-, AIX-Systemadministration
Linux Hochverfügbarkeits-Cluster
Solaris Systemadministration Grundlagen
Solaris Systemadministration Aufbau
Solaris 10 Neuheiten
Netzwerke
Linux Netzwerkadministration
Security
Unix/Linux Security im Internet
Microsoft
Windows 2000/XP Grundlagen für Einsteiger
Windows 2000 Active Directory Grundlagen
Windows 2000 Active Directory Aufbau
Windows Enterprise Server 2003
Projektmanagement
IT-Projektmanagement
Grundlagen des IT-Controlling
Wiesbaden
Saarbrücken*
Lippstadt*
1790,00
1190,00
1790,00
1890,00
1890,00
1890,00
1890,00
1890,00
1890,00
1190,00
1890,00
790,00
790,00
1190,00
1190,00
1590,00
1790,00
1890,00
1090,00
790,00
1790,00
1590,00
1890,00
1790,00
1090,00
1590,00
1590,00
1590,00
1090,00
1590,00
1590,00
1590,00
1090,00
790,00
790,00
1790,00
1790,00
1790,00
1590,00
450,00
1090,00
1590,00
1590,00
1490,00
1290,00
1490,00
920,00
920,00
1090,00
1090,00
1290,00
1490,00
1890,00
1490,00
1890,00
1190,00
790,00
1590,00
1590,00
1890,00
1390,00
1890,00
1890,00
1890,00
1590,00
1590,00
1790,00
1790,00
1790,00
1090,00
1890,00
1190,00
*) Preise pro Seminar pro Teilnehmer in Euro. Alle Preise gelten zzgl. ges. MwSt.
**) Inhousepreise auf Anfrage.
Einige der hier aufgeführten Bezeichnungen sind eingetragene Warenzeichen ihrer jeweiligen Inhaber. Irrtümer vorbehalten.
Für weitere Informationen und Fragen zu individuell zugeschnittenen Seminaren, Ausbildungsreihen oder Inhouse Schulungen
stehen wir jederzeit gerne zur Verfügung. Auf Wunsch senden wir Ihnen auch unser komplettes Seminarprogramm zu.
24
ORDIX News 2/2005
KW 37
KW 36
KW 35
September
KW 34
KW 33
KW 32
KW 31
KW 30
August
KW 29
KW 28
KW 27
Juli
KW 26
Juni
KW 25
Preis in
EURO*)**)
- herausnehmbare Übersicht -
KW 24
Aus- & Weiterbildung
Seminartermine
http://training.ordix.de
Online-Anmeldung und stets aktuelle
Seminarinhalte und Termine!
KW 51
KW 50
KW 49
KW 48
Dezember
KW 47
KW 46
KW 45
KW 44
November
KW 43
KW 42
KW 41
Oktober
KW 40
KW 39
KW 38
Sept.
Aus-Juni
& Weiterbildung
- Dezember 2005
Preis in
EURO*)**)
1790,00
1190,00
1790,00
1890,00
1890,00
1890,00
1890,00
1890,00
1890,00
1190,00
1890,00
790,00
790,00
1190,00
1190,00
1590,00
1790,00
1890,00
1090,00
790,00
1790,00
1590,00
1890,00
1790,00
1090,00
1590,00
1590,00
1590,00
1090,00
1590,00
1590,00
1590,00
1090,00
790,00
790,00
1790,00
1790,00
1790,00
1590,00
450,00
1090,00
1590,00
1590,00
1490,00
1290,00
1490,00
920,00
920,00
1090,00
1090,00
1290,00
1490,00
1890,00
1490,00
1890,00
1190,00
790,00
1590,00
1590,00
1890,00
1390,00
1890,00
1890,00
1890,00
1590,00
1590,00
1790,00
1790,00
1790,00
1090,00
1890,00
1190,00
Datenbanken
Oracle SQL
Oracle SQL für Experten
Oracle Datenbankprogrammierung mit PL/SQL
Oracle Datenbankadministration Grundlagen
Oracle Datenbankadministration Aufbau
Oracle Administration für Informix Umsteiger
Oracle Backup und Recovery
Oracle Tuning und Monitoring
Oracle Troubleshooting
Oracle Real Application Cluster (RAC)
Oracle 10g Neuheiten
Oracle Net
Zugriffskontrolle mit Oracle FGA / VPD
Oracle Data Guard Workshop
Oracle RMAN Workshop
Informix SQL
Informix Dynamic Server Administration
Informix Tuning und Monitoring
Informix Backup und Recovery mit ON-Bar
Informix Dynamic Server 9.4 Neuheiten
IBM DB2 UDB für Unix/Windows SQL Grundlagen
MySQL Administration
IBM DB2 UDB für Unix/Windows Administration Grundlagen
Microsoft SQL Server Administration
Programmierung
Einführung in die objektorientierte Programmierung
Java Programmierung Grundlagen
Java GUI Entwicklung mit Swing
Java Programmierung Aufbau
Java 5.0 Neuheiten
C# Programmierung
Perl Programmierung Grundlagen
Perl Programmierung Aufbau
Einführung in XML
XML Programmierung unter Java mit DOM und SAX
Oracle und XML
Einführung in Oracle Forms Developer
Einführung in Oracle Reports Developer
Oracle Designer 6i/9i
Shell, Awk und Sed
J2EE
J2EE für Entscheider
Einführung in J2EE
Web-Applikationsentwicklung mit Java Server Pages und Servlets
Applikationsentwicklung mit Enterprise Java Beans (EJB)
Internet & Intranet
Web-Design mit HTML
Web-Design mit JavaScript
Web-Design mit PHP
Konzeptionierung und Entwicklung einer E-Commerce Lösung mit PHP
PHP5 New Features
Apache Web-Server Installation und Administration
Tomcat Konfiguration und Administration
WebSphere Application Server Installation und Administration
System Management
PATROL Update Workshop
PATROL Basics
PATROL Customizing and Development
PATROL Advanced
PATROL Central
PATROL Express
Betriebssysteme
Unix/Linux Grundlagen für Einsteiger
Linux Systemadministration
HP-UX-, Solaris-, Linux-, AIX-Systemadministration
Linux Hochverfügbarkeits-Cluster
Solaris Systemadministration Grundlagen
Solaris Systemadministration Aufbau
Solaris 10 Neuheiten
Netzwerke
Linux Netzwerkadministration
Security
Unix/Linux Security im Internet
Microsoft
Windows 2000/XP Grundlagen für Einsteiger
Windows 2000 Active Directory Grundlagen
Windows 2000 Active Directory Aufbau
Windows Enterprise Server 2003
Projektmanagement
IT-Projektmanagement
Grundlagen des IT-Controlling
Informationen und Anmeldung:
ORDIX AG
Westernmauer 12-16
D-33098 Paderborn
Tel.: +49 (0) 52 51 / 10 63 - 0
ORDIX AG
Kreuzberger Ring 13
D-65205 Wiesbaden
Tel.: +49 (0) 6 11 / 7 78 40 - 00
ORDIX News 2/2005
zentrales Fax:
bzw.
E-Mail:
Online-Anmeldung:
+49 (0) 180 / 1 ORDIX 0
+49 (0) 180 / 1 67349 0
[email protected]
http://training.ordix.de
25
Aktuell
Anzahl Blöcke
?
Sequentieller
Scan?
Larry Ratlos:
Widerspenstiges Oracle ...
Larrys Kollegen und Vorgesetzte sind zufrieden: Das Unternehmens-CMS läuft inzwischen so, wie man sich das vorgestellt hatte. Larry hoffte also, nun endlich beruhigt Urlaub machen zu können. – Doch weit gefehlt: Es gibt schon wieder ein
neues Problem, das auf seine Lösung wartet.
„Wir können so nicht richtig arbeiten!“ beklagt sich der Vertrieb seit
geraumer Zeit. „Unsere Kundendaten sind total veraltet: Firmenstandorte sind zum Teil schon seit Jahren nicht mehr aktuell, Ansprechpartner nicht mehr aufzufinden.“ Daraufhin hat sich die Geschäftsleitung zu einer groß angelegten Aktion zur Aktualisierung
der Kundendatenbank entschlossen.
Nachdem die Entwickler einen Batch Job zur Aktualisierung der
Kundendatenbank bereitgestellt haben, müssen die Administratoren diesen Job auf den sehr umfangreichen Datenbeständen
laufen lassen. Der Job beinhaltet viele Full Table Scans, da alle Daten zu verarbeiten sind. Das aber dauert den Administratoren viel zu lange.
Dieses Problem landete – wie sollte es auch anders sein – mal
wieder auf Larrys Tisch. Da fällt ihm ein: Er hatte da doch mal was
in seiner Oracle Dokumentation gelesen ...
Larry versucht, sich selbst zu helfen
Schnell hat Larry die Stelle wiedergefunden, an der er gelesen
hatte, dass der Parameter db_file_multiblock_read_count die Anzahl der Blöcke bei einem sequentiellen Scan festlegt. Als er den
Wert zur Probe auf 64 erhöht und einen Full Table Scan analysiert,
stellt er jedoch fest, dass die Anzahl nicht, wie erwartet, 64 sondern höchstens 32, meist aber noch geringer ist.
Anbei ein Auszug aus der Trace Datei von Larrys Forschungen.
Der Parameter p3 gibt die Anzahl der Blöcke an, welche mit einem I/O gelesen werden:
WAIT #1: nam='db file scattered read' ela= 18651 p1=12 p2=10 p3=12
WAIT #1: nam='db file scattered read' ela= 4231 p1=12 p2=23 p3=13
WAIT #1: nam='db file scattered read' ela= 3787 p1=12 p2=37 p3=16
Larry ist ratlos. Können Sie ihm helfen?
Warum tut Oracle nicht das, was es tun soll? Können Sie ihm mögliche Gründe nennen?
Senden Sie Ihre Lösung/Begründungen bis zum 15. Juli 2005
an [email protected]. Wie immer wird sich Larry mit einer kleinen
Aufmerksamkeit bei seinen Helfern bedanken und einige der eingesandten Lösungen veröffentlichen.
26
Die Lösung des Rätsels aus der ORDIX
News 1/2005
In der letzten ORDIX News hatte Larry mit der
Access Control für Solaris zu kämpfen. Um
das Unternehmens-CMS mit Dateien zu „füttern“, sollten Benutzer ihre Dateien einfach auf
ein Samba-Share ziehen können, die dann
über einen Dienst vom CMS übernommen
werden. Besondere Beachtung fand dabei die
Definition der Benutzerrechte, die nun die Aufnahme der Dateien in das CMS regeln:
setfacl –s d:mask:rwx,\
d:user::---,d:group::---,d:other:---,\
d:user:cms:rw,user::rwx,\
group::rwx,other:---,user:cms:rwx,\
mask:rwx cmsVerzeichnis
Diese Kommandozeile sorgt dafür, dass der
CMS-Dienst automatisch Lese- und Schreibrechte bekommt, sobald eine Datei abgelegt
wird, die übernommen werden soll. Root-Rechte verbieten sich aus Sicherheitsgründen von
selbst.
ORDIX News 2/2005
Aktuell – Titelthema ORDIX Jubiläum
Aktuell
Vertrauen ist die Basis für den gemeinsamen Erfolg
15 Jahre ORDIX oder
„Wenn einer eine Reise tut ...“
Wie viele der heute großen Unternehmen, hat auch ORDIX einmal ganz klein angefangen. Am 15. Mai 1990
wurde es amtlich: Die ORDIX Software GmbH wurde in das Handelsregister eingetragen. Bis zum heutigen
Tag hat sich ORDIX als mittelständisches IT-Dienstleistungsunternehmen etabliert – mittlerweile unter der
Firmierung ORDIX AG. Erfahren Sie hier die wichtigsten Stationen dieser bewegten Reise durch gute und
auch etwas weniger gute Zeiten.
Aller Anfang war gar nicht mal so schwer!
„Unix für Alle“ oder „Henne oder Ei“
Zu einer Zeit, in der der IT-Markt boomte, war
für den damals 34-jährigen Diplom-Mathematiker Wolfgang Kögler der richtige Zeitpunkt gekommen, Nixdorf zu verlassen und sich auf eigene Wege zu begeben.
Da der Unternehmensgründer Wolfgang Kögler – wie er oftmals
schon in seinem Editorial durchscheinen ließ – eher ein Open
Source- und Unix-Verfechter ist und der „Großen Microsoft Macht“
dementsprechend kritisch gegenübersteht, fokussierte man in den
Kinderschuhen der ORDIX Software GmbH vor allem das Thema
offene Systeme und relationale Datenbanken unter Unix. Auf die
Frage „Was war zuerst: Name oder Leitspruch?“ kommt hier die
Auflösung: Erst war das Wort und dann der Name.
Aus
Abb. 1: Der Gründer der ORDIX AG Wolfgang Kögler damals ... und heute.
Neben weiteren mehr oder weniger bedeutenden Ereignissen im Jahr 1990, wie der Entwicklung des WWW durch Tim Barners-Lee sowie
der Microsoft-Erfindung von Windows und damit der „Allgemeinen Schutzverletzung“, wurde
am 15. Mai 1990 die ORDIX Software GmbH
in das Handelsregister eingetragen – der erste Meilenstein war gesetzt und der Traum vom
eigenen IT-Unternehmen nun wohlüberlegte
Realität.
Offene Systeme und
Relationale
Datenbanken unter
UnIX und Windows wurde ORDIX
Historisch gesehen, war das „Fenster“ zwar 1990 noch nicht Bestandteil des Leitspruches. Wer allerdings heutzutage noch versucht, ohne das Thema Microsoft auszukommen, kann seine
Kunden nicht mehr optimal zufrieden stellen. ORDIX nahm diesen Trend ernst und holte sich erfahrene Berater und Trainer ins
Haus, um seinen Kunden auch umfangreiches Microsoft Knowhow anzubieten. In vielen Projekten ist heute auch nur Microsoft
und nicht Unix die Basis Plattform.
Die Wandlung: von der Software GmbH zur AG
Ein wichtiger Meilenstein der „ORDIX Reise“: Die Wandlung zur
Aktiengesellschaft. Basierend auf dem Wunsch, seinen Kunden
gegenüber eine noch größere Vertrauensbasis zu schaffen, wurde im Geschäftsjahr 1996/1997 die Wandlung zur Kleinen Aktiengesellschaft vollzogen. Auch interne Änderungen ergaben sich dadurch. Mitarbeiter konnten von nun an Beteiligungen am Unternehmen erwerben und somit direkt am Unternehmenserfolg teil-
ORDIX - Wichtige Eckdaten
►
►
►
►
►
►
►
►
März 1990:
15. Mai 1990:
1992:
GJ 1996/1997:
1997:
1999:
2003:
2005:
Gründung der ORDIX Software GmbH mit Sitz in Paderborn
Handelsregistereintrag und Tag der ersten fakturierbaren Dienstleistung
Eröffnung der Geschäftsstelle in Köln
Wandlung der ORDIX Software GmbH zur ORDIX AG
Eröffnung der Geschäftsstelle/des Trainingscenters in Wiesbaden
Eröffnung der Geschäftsstelle in Münster
Eröffnung der Geschäftsstelle in Neu-Ulm
15 Jahre ORDIX
ORDIX News 2/2005
27
Aktuell
haben. Die ORDIX Aktie wird im Übrigen nur unter den Mitarbeitern gehandelt.
Träume zerplatzt waren, hatte sich die Spreu
vom Weizen getrennt.
ORDIX bleibt auch in Zeiten des „Neuen Marktes“ bodenständig
ORDIX folgte diesem Trend ganz bewusst nicht
und hielt konsequent am einmal eingeschlagenen Weg des langsamen aber stetigen Wachstums fest. Diese Devise hat sich als das richtige Rezept für eine stabile Unternehmensentwicklung erwiesen.
Auf große Gewinne und Expansion hoffend, haben etliche Unternehmen den Gang an den „Neuen Markt“ gewagt. Nachdem die
Die Bewertung der Aktie erfolgt durch einen Wirtschaftsprüfer. Alle Inhaber haben deshalb bisher
mit der „O-Aktie“ nur Gewinne gemacht.
Prozessor:
Registerbreite:
Adressbusbreite:
Datenbusbreite:
Adressraum:
80286
16 Bit
24 Bit
26 Bit
16 Mbyte
Prozessor:
Registerbreite:
Adressbusbreite:
Datenbusbreite:
Adressraum:
Pentium 4
32 Bit
32 Bit
64 Bit
64 GB
Abb. 2: Der erste ORDIX Computer ... und der heutige Standard.
Das
ORDIX SOFTWARE GMBH
Ohne nennenswerte Einschnitte folgen die Umsatz- und Mitarbeiterzahlen seit dem Gründungsdatum einem positiven Aufwärtstrend
(siehe Abbildungen 5 und 6). Bereinigt um die
Produktumsätze 2001/2002 sind die Dienstleistungsumsätze Jahr für Jahr gestiegen.
Frei nach dem Motto:
„Immer da, immer nah!“
Regional gesehen ist ORDIX seinen Kunden immer weiter entgegengekommen. Zusätzlich zu
dem Hauptsitz in Paderborn, eröffnete das Unternehmen bis heute vier Geschäftsstellen in
Deutschland, um Kundennähe noch besser zu
gewährleisten. Sie finden ORDIX heute in Paderborn, Wiesbaden, Münster, Köln und Neu-Ulm.
Portfolio
Abb. 3: Das „ORDIX Software GmbH“-Logo damals ... und das aktuDas
ORDIX
Leitmotiv: BEST-Practice
Das gesamte
ORDIX
Leistungsportfolio
orientiert sich am Leitmotiv
elle „ORDIX AG“-Logo.
„BEST
stringente
Umsetzung bedeutet für Si
BEST PPractice“
Aktuell hat. Dessen
ORDIX seine
Kernkompetenzen
ORDIX News
Nr. 1
Dezember/90
definiert (sieheLeistungsspektrum:
Abbildung 7) und arbeitet
als Kunden klar
ein umfassendes
nach dem selbstgewählten Leitmotiv BESTPractice:
B eratung
hochqualifizierte E ntwicklung
zuverlässiger S ervice
praxiserprobtes T raining
professionelles P rojektmanagement
kompetente
ORDIX SOFTWARE GMBH
Ein Bestandteil zum Gelingen dieses Leitmotivs
sicherlich die
Ausund WeiterUnser Ziel ist
es,istgemeinsam
mitinterne
unseren
Kunden
auf der Basis
bildungspolitik der ORDIX AG. Im Rahmen von
der besten Informationstechnologien performancestarke und
umfangreichen Schulungsmaßnahmen werden
IT-Lösungen
zu realisieren
und wirtschaftliche
► Auflage: 500 (1993)
► Auflage: 8.700 (2005)wertschöpfende
fortwährend
neue IT-Experten
ausgebildet.
► Aufmachung:
► Aufmachung:
IT-Services bereitzustellen.
„Lose Blatt Sammlung“.
„Vierfarbdruck“.
Nicht übertrieben: So mancher Kunde wunderDiese wurde vom
Layout und Satz
te sich bereits über Leistungen, die Trainees
Firmengründer noch
erfolgt Inhouse, Druck
bzw. Junior Consultants der ORDIX erbringen.
eigenhändig
und Versand werden
Im Durchschnitt sind diese Tätigkeiten oft mit
zusammengetackert
fremdvergeben.
denen von langjährig tätigen Consultants anund kouvertiert.
Dienstleistungen
Technologien
derer Dienstleister vergleichbar. Ein
zusätzlicher Pluspunkt für ORDIX: Die überaus niedAbb. 4: Die erste Ausgabe der ORDIX News ... und die aktuelle Ausrige Fluktuation.
gabe der ORDIX News.
Neue Mitarbeiter
GUUG '94
28
Seite 32
Seite
DB-Administration
f. ORACLE & INFORMIX
Seite 11
YARD-SQL
Seite 13
ORDIX News 2/2005
Aktuell
Das Beste für den Kunden:
Starke Partnerschaften schaffen Vertrauen
Die IT-Welt ist groß, die Themenvielfalt immens.
Um hier seine Kunden exzellent zufrieden zu
stellen und immer mit aktuellsten Informationen und Produkten versorgen zu können, wurden starke Partnerschaften aufgebaut, die stetig weiterentwickelt werden.
So ist ORDIX mittlerweile u. a. Partner namhafter Firmen wie IBM, Oracle, Novell Suse, Fujitsu
Siemens, Sun, EMC VMware, HP und BMC.
Der Weg ist das Ziel ...
Während dieser 15-jährigen Reise waren die
ORDIX Mitarbeiter Tag für Tag ganz nah am
Geschehen:
„ORDIX baut sehr stark auf den
eigenen Nachwuchs. Das Unternehmen bietet im Verhältnis
zur gesamten Mitarbeiteranzahl viele Ausbildungs- und
Praktikantenstellen an. Dieser
Tatsache habe ich es zu verdanken, dass ich eine Ausbildungs- und später eine Praktikantenstelle bekommen habe.“
Markus Fiegler, 1. Auszubildender der ORDIX AG,
jetzt Consultant, im Unternehmen seit 1995.
„Einzigartig bei ORDIX ist die
Kombination von personeller
Verantwortung und fachlichen
Aufgaben. Wo findet man sonst
einen Vorstand beziehungsweise Vorgesetzte, die neben
Führungsaufgaben auch fachliche Projekte bearbeiten?“
Antonio Salguero, Bereichsleiter IT-Services,
Projektmanager und Geschäftsstellenleiter NeuUlm, im Unternehmen seit 1992.
„Ich habe vor 5 Jahren bei der
ORDIX AG angefangen, weil
ich mir damals dachte: Die Firma gibt es jetzt seit 10 Jahren,
also mache ich mal die nächsten 10 bis 20 Jahre mit – da
gibt‘s dann immer schön was
zu feiern. ORDIX wird 15 Jahre. Es ist wie bei der Java Technologie (wird in
diesen Tagen erst schlappe 10 Jahre): Beide
werden mit den Jahren immer besser. “
Dr. Hubert Austermeier, Senior Consultant, im
Unternehmen seit 2000.
ORDIX News 2/2005
Abb. 5: Umsatzentwicklung.
Das
Portfolio
Das gesamte ORDIX Leistungsportfolio orientiert sich am Leitmotiv
„BEST
BEST PPractice“. Dessen stringente Umsetzung bedeutet für Sie
als Kunden ein umfassendes Leistungsspektrum:
B eratung
E ntwicklung
zuverlässiger S ervice
praxiserprobtes T raining
professionelles P rojektmanagement
kompetente
hochqualifizierte
Unser Ziel ist es, gemeinsam mit unseren Kunden auf der Basis
der besten Informationstechnologien performancestarke und
Abb. 6: Mitarbeiterentwicklung.
wertschöpfende IT-Lösungen zu realisieren und wirtschaftliche
IT-Services bereitzustellen.
Dienstleistungen
Technologien
Abb. 7: BEST-Practice Leitmotiv.
ORDIX sagt „Danke“
Das komplette ORDIX Team sagt an dieser Stelle „Danke“ an alle
Kunden für die Zeit ihres Vertrauens. Wir freuen uns schon jetzt,
auf eine weiterhin gute Zusammenarbeit in der Zukunft.
Fordern Sie uns – wenn es um Ihre IT-Projekte geht!
Indra Hohlbein ([email protected]).
29
Aktuell
Sind 15 Jahre im Zeitalter der IT
jung oder alt?
Im Gespräch mit Wolfgang Kögler, Vorstandsvorsitzender der ORDIX AG, Paderborn.
Persönliche Daten
►
►
►
►
►
Name: Kögler, Wolfgang
Alter: 49
Familienstand: verheiratet
Größtes Hobby: ORDIX und Golf
Lieblingsgericht: Speisekarte im Paderborner Restaurant Balthasar
► Lieblingssendung (TV): Harald Schmidt
Nicht jeder macht sich selbstständig. Was hat Sie bewegt, ein
Unternehmen zu gründen?
Die Vorstellung, mich selbstständig zu machen, hatte ich bereits
Mitte der achtziger Jahre. Maßgeblich dafür waren damals sicherlich meine Ungeduld mit manchem Vorgesetzten, ein gewisser jugendlicher Drang, aber auch die Gewissheit, mit einer überdurchschnittlichen Leistung in einem für die Bundesrepublik unüblichen
Terrain – der IT-Dienstleistung – Erfolg zu haben.
Bereits 1989 führte ich eine Reihe von interessanten und, wie sich
später herausstellte, auch wichtigen Gesprächen und ließ alte Kontakte aus meiner Siemens- und Softwarezeit aufleben. Die Feinplanung war schon sehr durchdacht und konkret. Auch wenn es
im Nachhinein etwas anders losging als geplant. Schließlich kamen der Niedergang von Nixdorf und der DDR quasi zum gleichen
Zeitpunkt doch etwas unerwartet.
Und warum als Franke im westfälischen Paderborn?
Damals lebte ich in Paderborn. Paderborn ist also eher zufällig Sitz
des Unternehmens. Schließlich arbeiten wir bundes- oder sogar europaweit. Inzwischen weiß ich aber die Vorteile von Paderborn durchaus zu schätzen und für mich zu nutzen. Dennoch bin ich mindestens
genauso gerne in einer unserer Geschäftsstellen in Wiesbaden, Köln,
Münster oder Neu-Ulm. Sprich: der Franke hält es in Paderborn gut
aus – unter anderem, weil er nicht immer in Paderborn ist. ☺
Wie beurteilen Sie heute Ihre Entscheidung?
Sie war richtig für mich als Person, aber vor allem für unsere Kunden. Denn ich kann heute sagen, jeder hat bisher von unserer Leistung profitiert. Und wenn ich an unsere Mitarbeiter denke, glaube
ich auch, dass sich sehr viele, vielleicht sogar alle sehr wohl fühlen, obwohl ich hohen Einsatz von Ihnen verlange.
30
sen sie erfüllen. Wenn nicht, so hat das fatale
Auswirkungen. Ich bin mir aber sicher, wir sind
bis heute diesen Anforderungen stets gerecht
geworden und werden sie auch in Zukunft erfüllen. Hätten wir das nicht, gäbe es ORDIX
heute schon nicht mehr.
Ich habe von Anfang an darauf geachtet, dass
unsere internen Prozesse so schnell und effizient wie möglich sind. Für deutsche Verhältnisse kommen wir trotz vieler Vorgaben und
Vorschriften mit einer extrem schlanken Verwaltung aus. Als Datenbankspezialist sorge
ich natürlich dafür, dass wir auch firmenintern
mit unseren Daten optimal umgehen. Warum
sollten wir es selbst anders handhaben, als wir
es bei unseren Kunden umsetzen.
Viele IT Unternehmen sind in der Zeit von
1998 bis 2001 immens gewachsen. Weshalb hat Ihr Unternehmen in den Boom-Jahren nicht so große Sprünge gemacht?
Ganz einfach: Ich wollte nicht, dass ORDIX explosionsartig wächst. Ein zu schnelles Wachstum führt fast immer dazu, dass irgendwas
oder auch irgendwer nicht mitkommt. Das gilt
für interne genauso wie für externe Prozesse.
Und wenn die nicht funktionieren, stört das die
Homogenität im Unternehmen. Das ist der Anfang vom Ende.
Ein anderer Punkt ist, wenn ich Mitarbeiter einstelle, trage ich eine soziale Verantwortung.
Bei zu schnellem Wachstum besteht die Gefahr, dass Sie sich plötzlich auch Gedanken
über den Abbau von Mitarbeitern machen müssen. ORDIX hatte trotz der schweren Zeiten
in der IT in seinem Kerngeschäft immer ein
Wachstum zu verzeichnen. Auf dieser Basis
haben wir uns folgerichtig weiterentwickelt.
Und wenn Sie die anderen ansprechen, die
damals so rasant gewachsen sind. Wie groß
sind diese Unternehmen denn heute noch, sofern sie überhaupt noch existieren?
Sie sprechen davon, dass Ihre Planung bereits im Vorfeld sehr
konkret war. Erfüllt Ihr Unternehmen auch heute noch die Anforderungen, die Sie damals gestellt haben?
Sie sagen, Ihr Unternehmen sei erfolgreich.
Was macht den Erfolg Ihres Unternehmens
aus? Was sind die Stärken von ORDIX?
Darüber habe ich mir bisher keine Gedanken gemacht. Die Anforderungen stellen täglich unsere Kunden aufs Neue. Und wir müs-
Das sind Fragen, die Sie eigentlich unseren Kunden stellen müssten. Aber ich antworte so gut ich
ORDIX News 2/2005
Aktuell
kann. Es gibt viele Stärken. Ein hoher Grad an
Zuverlässigkeit und Konstanz, gepaart mit einem
exzellenten Know-how, bilden die Basis.
Hervorragend ist zudem unser Know-how Netzwerk. Viele unserer Mitbewerber arbeiten beim
Kunden mit „Einzelkämpfern“. Hat hingegen einer unserer Mitarbeiter ein Problem, bekommt
er sofort Ratschläge und Hilfe von einem halben Dutzend absoluter Spezialisten. Und das
ohne Mehrkosten für den Kunden!
Unsere Philosophie ist es, auf Wissen und Können zu bauen, statt auf Hierarchien: Das fachliche Vorwärtskommen wird wesentlich stärker gefördert und lieber gesehen als ein Aufsteigen in Hierarchien. Natürlich verlangen wir
auch ein fachliches Fortkommen von denen,
die bereits aufgestiegen sind. In letzter Konsequenz heißt das natürlich, dass nicht nur
Bereichsleiter sondern auch die Vorstandsmitglieder aktiv Projekte gestalten, leiten und
durchführen.
Genauso wichtig ist es für ORDIX, dass wir Vorstände uns um alles kümmern, was das Unternehmen betrifft – und ich meine damit wirklich alles. Diese Einstellung kommt der Qualität sämtlicher Prozesse und Arbeitsergebnisse zu Gute.
Wie kommt das bei Ihren Kunden an?
Sehr gut. Wir arbeiten heute immer noch eng
mit unseren ersten Kunden von 1990 zusammen und nicht, weil wir uns dort unentbehrlich gemacht haben, sondern weil wir gute Arbeit geleistet haben. Wir geben unser Wissen
und unser Können weiter, das schafft Vertrauen. Und Vertrauen ist die Basis für den gemeinsamen Erfolg.
Diese Erfahrung mache ich zur Zeit auch wieder bei drei, vier Kunden, wo wir zur Zeit parallel aktiv sind.
Lassen Sie uns noch mal auf diese aktive
Projektarbeit der Vorstände zu sprechen
kommen. Es stellt sich natürlich die Frage, welche Erfahrungen Sie in der Wahrnehmung der Doppelrolle „Mitarbeit in Projekten“ und „Leitung des Unternehmens“
gemacht haben?
Dies bringt natürlich eine höhere Arbeitsbelastung mit sich, zeigt ansonsten aber nur positive Effekte.
Wir stellen mit unserem Erfahrungsschatz,
auch der Erfahrung aus unserer Vorstandstätigkeit, einen großen Nutzen für unsere Kunden dar. Neben unseren langjährigen Projekt-
ORDIX News 2/2005
Karriere, beruflicher Werdegang
►
►
►
►
►
►
►
►
►
►
►
1975 Abitur
1975/76 Zivildienst
1982 Diplom Mathematiker
1982 Anstellung als wissenschaftlicher Mitarbeiter am Rechenzentrum der Universität Erlangen und am Lehrstuhl für angewandte Mathematik
1983 Assistent am Lehrstuhl für numerische Mathematik der Universität Düsseldorf
1983 Start bei der Siemens AG im Zentralbereich Forschung und
Entwicklung; Entwicklung und Projektberatung im Umfeld von
Konfigurationsmanagement Systemen
1985 Wechsel zum damals größten deutschen Software Haus
der SCS. Tätig als Gruppenleiter für das Rechenzentrum und
den Kundensupport
1987 Wechsel nach Paderborn zur Nixdorf Computer AG ins technische Marketing für Unix Server als Gruppenleiter für Datenbanksupport, Toolsupport und Benchmark
später Abteilungsleiter (1989 „Gründung“ des einzigen Profitcenters im Marketing der NCAG)
1990 Gründung der ORDIX Software GmbH
Derzeitige Position: Vorstandsvorsitzender ORDIX AG
tätigkeiten bringen wir unsere Erfahrungen aus der Geschäftsführung in Form von Managementberatung und unternehmerischem
Denken beim Kunden ein. Umgekehrt können wir aber auch die
Erfahrungen aus den Projekten bei uns im Unternehmen nutzen.
Das gilt insbesondere für das Thema Personalwesen. Ich glaube,
dass wir hier Vorbildcharakter haben: sowohl im Vergleich zu ähnlich
großen Firmen als auch zu Konzernen und Großunternehmen.
Stichwort Personalwesen: Worauf kommt es Ihnen bei der
Einstellung Ihrer Mitarbeiter besonders an?
Ein solides Wissen in mindestens einer der von uns vertretenen
Technologien muss vorhanden sein. Dieses können wir durch unsere regelmäßigen Weiterbildungsmaßnahmen dann verstärken
und ausbauen.
Als kundenorientiertes Dienstleistungsunternehmen stehen nahezu alle unsere Mitarbeiter immer wieder in direktem Kundenkontakt. Da benötigt der Mitarbeiter neben dem technischen Sachverstand natürlich auch eine persönliche Ausstrahlung und soziale Kompetenz.
Bewerber, die nicht gleichzeitig solides Know-how und soziale Kompetenz mitbringen, haben bei uns in der Regel keine Chance.
Aber natürlich stellen wir auch Newcomer ein, wenn wir bei ihnen
dieses Potenzial erkennen. Schließlich bilden wir seit 10 Jahren DV
Kaufleute beziehungsweise Fachinformatiker aus, die sich inzwischen alle zu guten und sehr guten Mitarbeitern entwickelt haben.
Was ist derzeit das vorherrschende Thema im IT-Dienstleistungsmarkt?
Es sind leider keine technologischen Themen. Vorherrschend ist
die Auseinandersetzung mit wirtschaftlichen Themen wie Off-Shore
Entwicklung oder Outsourcing von Leistungen in Billig-Lohn Länder. Seit 2001 herrscht ein immenser Preisdruck. Wenn ich be-
31
Aktuell
trachte, dass wir heute eine um ca. 35 - 40 Prozent bessere Auslastung als vor ein bis zwei Jahren haben, aber nur ca. 5 Prozent
mehr Umsatz machen, dann wird das mehr als deutlich.
Das hat Auswirkungen, die weit über den IT-Dienstleistungsmarkt
hinausgehen. Ich habe schließlich im Nebenfach Volkswirtschaftslehre studiert und wenn ich mir so die Ökonomie-Strategen in den
Unternehmen ansehe, die am liebsten ständig an der Kostenschraube drehen, dann muss denen auch klar werden, dass fast an jedem
Prozess – egal wie viel B2B es sein mag – am Ende irgendwo der
Endverbraucher steht.
Wenn der Endverbraucher aber nicht mehr konsumieren kann, wird
der Binnenmarkt noch stärker zurückgehen. Irgendwann kann die
deutsche Wirtschaft das dann nicht mehr durch Export wettmachen.
Von den zunehmenden Renten-, Pensions- oder Krankenkassenproblemen ganz zu schweigen.
Welche Auswirkungen hat diese Entwicklung auf ORDIX?
Wie schon geschildert, spiegelt das Umsatzwachstum nicht das tatsächliche Wachstum wieder. Natürlich kommt auch immer wieder
bei uns das Thema auf, bestimmte Dinge in Russland oder anderen, preiswerteren Staaten realisieren zu lassen. Aber bisher habe
ich mich immer noch mit meinen Vorstellungen durchsetzen können, als Unternehmen in der Bundesrepublik mit hier ansässigen
Mitarbeitern zu arbeiten.
Wir sind auch noch nicht in die Schlagzeilen geraten, weil wir von
unseren Mitarbeitern Mehrarbeit ohne Lohnausgleich verlangt haben. Wir haben aber leider auch seit über zwei Jahren keine Gehaltserhöhungen ausgesprochen.
Vor drei Jahren habe ich meinem Aufsichtsrat vorgeschlagen auf
10 Prozent meines Gehaltes zu verzichten. Natürlich hat der dieses Angebot auch angenommen, genauso wie eine eigentlich vereinbarte Gehaltserhöhung meines Kollegen nicht durchzuführen.
Die Kehrseite der Medaille ist aber, dass wir dieses Geld nicht investieren können, sei es in Konsum, der der Gesamtwirtschaft zu
Gute kommt, oder wie vielfach in der Vergangenheit geschehen,
wieder ins Unternehmen stecken.
Als Gründer des Unternehmens haben Sie eine ganz besondere Beziehung zur ORDIX. Welche Rolle spielt ORDIX in Ihrem Leben?
Zum Leidwesen meiner Frau nimmt das Unternehmen die Hauptrolle ein. Ich bin mir sicher, dass ich in den vergangenen 15 Jahren mehr Zeit in ORDIX investiert habe, als viele Durchschnittsbürger in ihrem gesamten Arbeitsleben für ihre Arbeitgeber arbeiten. Selbst wenn ich mich irgendwann zurückziehen werde, werde ich immer noch viel für das Unternehmen leisten.
Welche der Entwicklungen, die ORDIX in den letzten 15 Jahren durchgemacht hat, macht Ihnen am meisten Freude?
Genannt habe ich ja schon die Entwicklung als Ausbildungsbetrieb
und die Entwicklung der ehemaligen Auszubildenden in unserem
Unternehmen. Besonders spannend war die Wandlung von der
GmbH zur Aktiengesellschaft. Selbst wenn ich dabei für die Ausbildung von Rechtsanwälten, Notaren und sicherlich auch von Behörden indirekt viel Geld bezahlen musste.
32
Sehr interessant ist auch die Entwicklung unserer Kundenzeitschrift ORDIX News. Außerdem freut es mich, zu sehen, dass unsere Entwicklung als Unternehmen mit einem erfolgreichen Trainingsbereich trotz der schwierigen
Marktlage positiv zu beurteilen ist.
Gibt es denn auch Entwicklungen oder Umstände, mit denen Sie nicht zufrieden sind?
Im Unternehmen selbst gibt es eher wenige
Entwicklungen, die mich nicht zufrieden stimmen – vielleicht die Tatsache, dass wir trotz
der guten Leistungen unserer Mitarbeiter die
Gehälter einfrieren mussten.
Unzufrieden bin ich über die gesamtwirtschaftliche Situation. Wobei die Probleme zum Teil
auch nur hausgemacht sind. Vor allem stört
es mich, wie die ganz großen Unternehmen
und auch die Politik damit umgehen. Auf der
einen Seite wirft man Geld in großem Bogen
und unkontrolliert zum Fenster hinaus – Stichwort Wiedervereinigung oder Globalisierung –
und auf der anderen Seite macht man durch
kleinkariertes Denken und teilweise unsinnige
Sparmaßnahmen alles noch schlimmer.
Nicht dass man mich falsch versteht: Der „einfache Bürger“ im Osten Deutschlands oder der
„normale“ Mitarbeiter im Konzern trägt keine,
wenn überhaupt nur geringfügige Schuld. Ich
rede von denen, die Entscheidungen treffen.
Aber ich gehöre nicht zu denen, die jammern.
Die Situation ist so und ich versuche, aus ihr
das Beste zu machen, auch wenn die Umstände es einem nicht leicht machen.
Kommen wir zu positiven Meldungen zurück. Was wünschen Sie sich für die Zukunft von ORDIX?
In der Hauptsache wünsche ich mir für unsere
Kunden und Mitarbeiter, dass wir alle gemeinsam Erfolg haben. Denn mit diesem Erfolg ist
automatisch ein gutes Ein- und Auskommen
gesichert. Ich werde meinen Anteil dazu beitragen, dass das, was wir uns vorgenommen
haben – nämlich kontinuierlich und stabil weiter zu wachsen – erreicht wird.
Natürlich wünsche ich mir auch Gewinne für
das Unternehmen. Schließlich bin ich ja nicht
alleiniger Aktionär, sondern viele Mitarbeiter
haben auch ORDIX Aktien, die sich in den Jahren seit 1996 als wesentlich stabiler erwiesen
haben als viele andere Aktien.
Ja und zuletzt vielleicht, dass spätestens zum
25. Geburtstag ein anderer an dieser Stelle Ihre Fragen beantwortet.
ORDIX News 2/2005
Aktuell
Chess Classic Mainz 2005:
Spielen Sie gegen die
„Schach-Könige“
Seit nunmehr 12 Jahren ist ORDIX Sponsor der Chess Classic, seit 1994 gibt es das
ORDIX Open – das weltgrößte Schnellschachturnier, das im Rahmen der Chess Classic wieder in der Rheingoldhalle in Mainz ausgetragen wird. Seien Sie mit dabei vom 9. - 14. August 2005. Es lohnt sich, diese außergewöhnliche und prickelnde Atmosphäre zwischen Stars und „Springern“ einmal selbst mitzuerleben.
Das ist Ihre Chance
1.
2.
Lassen Sie sich dieses Top-Event nicht entgehen und spielen Sie höchstpersönlich gegen die Weltspitzen des Schachs. Wir verlosen unter den ersten 50 Einsendern
► 2 Plätze für das ORDIX Open am 13. und
14.08.2005 sowie
► 1 Platz im Simultan gegen den Gewinner
des ORDIX Open von 2003 und 2004, Alexander Grischuk am 10.08.2005.
Senden Sie das Lösungswort des Rätsels unter
Angabe des Wunschturniers bis zum 15.07.2005
an:
ORDIX AG
Westernmauer 12-16
33098 Paderborn
oder per Mail an [email protected]
Stichwort: Chess Classic 2005
Der Rechtsweg sowie die Teilnahme von
ORDIX Mitarbeitern sind ausgeschlossen.
3.
4.
5.
6.
7.
8.
9.
1. Wie heißt der ORDIX Kollege „Larry“ mit Nachnamen, der in jeder News
Ihre Hilfe benötigt?
2. Wie nennt man das Pferd beim Schach?
3. Oracle, Informix, DB2 sind ...
4. Wie nennt man ein Schach-Match, wo einer gegen viele spielt?
5. Wie nennt man den Linux Pinguin?
6. Wenn der Quellcode offen ist, handelt es sich um ...
7. Wie heißt eine Artikelreihe aus unserer Rubrik Java/XML: „... im Vergleich“
8. Englischer Begriff für Schach
9. Veranstaltungsort der Chess Classic in Mainz
Impressum
Autoren dieser Ausgabe:
Herausgeber:
Christof Amelunxen, Holger Demuth, Markus
ORDIX AG
Fiegler, Stefanie Heither, Thomas Hölzer, Martin
Aktiengesellschaft für Softwareentwicklung,
Weitere Informationen
zu Systemintegration,
den Chess Classic Mainz
2005 finden
Sie Hohlbein,
unter www.chesstigers.de.
Hoermann,
Indra
Matthias Jung, Dr.
Beratung,
Schulung und
Stefan Koch, Wolfgang Kögler, Andreas Kother,
Paderborn
Stefanie Heither ([email protected]).
Axel Röber, Uwe Rübesamen, Guido Saxler
Redaktion:
Copyright:
Helma Jenniches, Sascia Brinkmann
ORDIX AG. Alle Rechte vorbehalten. Die Zeitschrift ORDIX News hat
eine Auflage von 8.700 Exemplaren. Sie wird von der ORDIX AG an
V.i.S.d.P.: Wolfgang Kögler
ausgesuchte Kunden verteilt und kann für 2,20 Euro bestellt werden.
Anschrift der Redaktion:
Sie finden sowohl die neueste Ausgabe als auch ältere Ausgaben im
ORDIX AG
Archiv der ORDIX News im Internet unter: http://www.ordix.de.
Westernmauer 12 - 16
Schauen Sie mal rein!
D-33098 Paderborn
Tel.: 0 52 51 / 10 63 - 0
Der Kontakt zu unseren Lesern ist uns sehr wichtig. Für Anregungen,
Fax: 0 180 / 1 67349 0
Kritik und Anmerkungen zu den Themen, aber auch für interessante
Ideen sind wir immer offen und dankbar. Sie erreichen die Redaktion
Gestaltung/Layout: Sascia Brinkmann
auch per E-Mail unter [email protected].
Druck: Druckerei Reike GmbH, Paderborn
ORDIX News 2/2005
Wir freuen uns auf Ihr Feedback.
33
System Management – Titelthema OVPI
HP OpenView Performance Insight:
Vom Netzwerk-Tool
zum strategischen ITIL Reporting
Werden meine Ressourcen effizient eingesetzt? Wie kann ich meine Einkünfte mit existierenden Mitteln erhöhen? Wie kann ich meine Kosten senken, oder eine Kostenerhöhung verzögern? Ist die Einhaltung aller abgeschlossenen Service Level Agreements gewährleistet? Erreichen kritische Servicekomponenten ihre Kapazitätsgrenzen? Wann ist der kritische Punkt erreicht?
Dies sind eine Menge Fragen! – Und es sind nur ein paar der Fragen, die sich jeden Tag ergeben, wenn man
für die Kontrolle der IT Kosten und die Einhaltung der Service Level Agreements verantwortlich ist. Antworten auf all diese Fragen soll das neue HP OpenView Performance Insight (OVPI) Tool geben. Die Frage, welche Ressourcen benötigt werden und wo noch Verbesserungspotential liegt, beantwortet dieser Artikel.
Dieser Artikel richtet sich an alle, die nach einem Reporting-Tool
für Ihre Systemumgebung suchen.
Geschichte
Im September 2000 änderte die Firma Desktalk Systems INC. ihren Namen in „Trinagy“. Dies geschah, um die Richtung und die
Visionen der Firma zu verdeutlichen. Dabei reflektierte der Name
„Trinagy“ die drei Säulen, auf denen Ihre Visionen standen:
• die Datensammlung für komplexe Netzwerke und Applikationen
• die Datenaufbereitung über verteilte Systeme
• die Darstellung der Daten in eigenen, leicht zu bearbeitenden
und selbst erstellten Reports
Der damalige Trinagy Präsident und CEO, David Woodall, drückte seine Vision wie folgt aus: „Our new name and our exciting product directions reflect the nature of Trinagy’s heritage – to optimize network performance for service providers and enterprises that
function like service providers worldwide.“ [1]
Hinter diesen Visionen stand die TREND-Produktsuite. Diese ermöglichte es dem Service Provider, schwebende Netzwerkprobleme zu erkennen, die unterschiedlichsten Wechselwirkungen zu verstehen und darauf zu reagieren, bevor es zu Ausfällen beim Kunden
kam. Gleichzeitig bot die Suite aber auch dem Kunden die Möglichkeit, seine mit dem Provider definierten Service Level Agreements
(SLA´s), über ein Web-Interface, im Auge zu behalten.
Das große Potential dieser Reporting Suite, mit ihrer offenen Architektur und den Möglichkeiten der Integration in vorhandene OSS/
BSS Systeme, erkannte auch HP und entschloss sich im August
2001, die Firma Trinagy zu kaufen. Die damalige TREND-Produktsuite wurde zu HP OpenView Performance Insight und als strategischer Bestandteil in die OpenView Familie integriert.
Allgemeiner Aufbau
HP OpenView Performance Insight ist eine Performance Management Lösung, die für den Einsatz in unterschiedlichsten System-
34
landschaften entwickelt wurde. Natürlich ist
auch heute noch die Herkunft des ehemaligen Netzwerk-Tools nicht zu übersehen. Doch
die fortlaufende Weiterentwicklung der vorgefertigten Schnittstellen, sogenannter Report
Packs (für ServiceDesk, IT-Operations, etc.),
zeigt den Weg zum globalen Reportingtool.
Abhängig von der Größe der Systemlandschaft
und den gestellten Anforderungen an HP OpenView Performance Insight, kann die Architektur und die Anzahl der einzelnen Komponenten variieren. Die Skalierbarkeit des Tools gestattet den einfachen Aufbau einer 1-Host-Single-User Lösung, bis hin zur verteilten, netzwerkweiten Management Lösung mit mehreren
Usern, Gruppen und Lokationen. Anhand der
Abbildung 1 werden die grundlegende Architektur und die Hauptkomponenten von HP OpenView Performance Insight beschrieben.
Sammeln der Daten
Verantwortlich für das Sammeln der Daten sind
die „Remote Poller“. Sie sind reine Datensammler und werden an zentralen Stellen im Netz
platziert. Diese sammeln dann von einer Anzahl von Systemen die Daten und leiten diese an den Performance Manager weiter. Der
Performance Manager ist für ein oder mehrere
physikalische Server verfügbar. Je nach Aufgabe kann es sich dabei um einen „Satellite Server“, oder „Central Server“ handeln. Beide beinhalten eine relationale Datenbank (auf Basis
von Oracle oder Sybase) und sind für die Verarbeitung der Rohdaten zuständig.
Satellite Server
Satellite Server kommen vor allem in größeren
Umgebungen zum Einsatz und verringern die
Datenflut auf den Central Server. Dabei über-
ORDIX News 2/2005
System Management
nehmen die Satellite Server einen Teil der Datenaufbereitung und schicken diese dann an
den Central Server.
Central Server
Der Central Server ist das Hauptarchiv für alle benötigten Reportdaten. Der Central Server
empfängt sowohl die Rohdaten der „Remote
Poller“, wie auch die aufbereiteten Daten der
Satellite Server und erstellt über die Rollup
Prozeduren die aggregierten Datensätze für
die Reports (täglich, monatlich, forecast, etc.)
und legt sie in der OVPI Datenbank ab.
Weiter ist er die Anlaufstelle für Anfragen über
den Web Access Server und leitet die Reportanfragen an die entsprechenden Datensätze weiter.
Web Access Server
Der Web Access Server stellt die OVPI Webseite zur Verfügung. Über ihn ist es möglich,
sich mit einem gängigen Web-Browser am Reportingtool zu authentifizieren und auf die Reports zuzugreifen. Auch die OVPI Clients nutzen den Web Access Server zur Authentifizierung ihrer User. Die OVPI Clients sind die Benutzerinterfaces für HP OpenView Performance
Insight. Sie können auf einem beliebigen Rechner im Netz installiert sein. Zu den OVPI Clients
gehören der Report Builder, der Report Viewer
und die Management Konsole.
Management Konsole
Die Management Konsole ist dabei hauptsächlich als Administrationstool zu sehen und beinhaltet den Package-, Object-, System-, Group-,
Polling- und Table Manager. Weiterhin ermöglicht sie das Datenbank Tuning und die Verwaltung der Discovery Prozesse. Der volle Funktionsumfang steht nur in Verbindung mit dem
Performance Manager zur Verfügung. Mit dem
Report Builder lassen sich, basierend auf den
Daten der OVPI Datenbank, Reports erstellen.
Der Report Viewer dient zum Betrachten der
Reports. Er bietet die Möglichkeit, die Darstellung der Daten zu modifizieren, zu speichern
und zu drucken.
Skalierbarkeit
Finden die Datensammlung, die Aufbereitung
der Rohdaten, das Erstellen und zur Verfügung
stellen der Reports und das Managen des Webzugriffs, inklusive Userverwaltung auf einem
Rechner statt, dann handelt es sich um ein Standalone System. In der Praxis werden solche Systeme höchstens in Testumgebungen implementiert. Produktive Systeme bestehen fast immer
ORDIX News 2/2005
User Authentifizierung,
Report Entwicklung
Remote
Poller
Remote
Poller
Remote
Poller
Management Konsole
Datenfluss
Web Access Server,
Management Server
Reports
Reports
Reports
OVPI Datenbank
Performance Manager,
Management Server
Builder Web-Browser
Viewer
Abb. 1: Die HP OpenView Performance Insight Architektur.
aus mehreren Servern. In den folgenden Abschnitten werden einige
mögliche Architekturen und ihre Vorteile dargestellt (siehe auch das
Beispiel in Abbildung 2).
Einsatz von mehreren Remote Pollern
Wie schon erwähnt, handelt es sich bei den Remote Pollern um reine Datensammler, welche strategisch günstig im Netz verteilt werden. Sie sollten im Netz möglichst nah bei ihren Zielobjekten liegen, um lange Distanzen zu vermeiden. Der Einsatz eines einzelnen Remote Pollers hinter einer Firewall ist daher zu empfehlen.
Einsatz von mehreren Satellite Servern
Der Satellite Server besteht aus denselben Komponenten, wie der
Central Server. Er besitzt eine eigene OVPI Datenbank und lässt
sich über die Management Konsole verwalten. In einer verteilten
Umgebung übernimmt er allerdings nur einen Teil der Aufgaben des
Central Servers. Er soll vor allem den Central Server entlasten.
Um diese Aufgabe zu erfüllen, berichten die Remote Poller nicht mehr
direkt an den Central Server, sondern an einen Satellite Server. Auf
ihm erfolgt eine „Vorverarbeitung“ der gesammelten Rohdaten. Dies
geht gewöhnlich über das Wandeln der Rohdaten und das Erstellen
von stündlichen Aggregationen nicht hinaus. Anschließend werden
diese bearbeiteten Daten an den Central Server weitergeleitet, in dem
dann die restlichen Rollup Prozeduren ausgeführt werden.
Trennen von Central Server und Web Access Server
Sowohl der Central Server als auch der Web Access Server benötigen wegen ihrer vielfältigen Aufgaben viel Hauptspeicher und
eine dementsprechende Rechenleistung. Hinzu kommt beim Central Server noch eine möglichst große Plattenkapazität. Aus diesem Grund empfiehlt es sich, den Web Access Server auf einer
separaten Maschine zu installieren.
Arbeitsweise
Unabhängig von der Architektur und der Größe der Systemlandschaft arbeitet HP OpenView Performance Insight immer auf dieselbe Art und Weise. Als erstes werden die Daten gesammelt, dann
35
System Management
Remote
Poller
Remote
Poller
Remote
Poller
Remote
Poller
Satellite Server 1
Datenbank
Management
Server
Remote
Poller
Satellite Server n
Datenbank
RAW
Data
Hourly
Summaries
Remote
Poller
Management
Server
RAW
Data
Hourly
Summaries
Daten aufbereiten
Central Server
Datenbank
Management
Server
Hourly
Summaries
Web Access Server,
Management Server
Daily
Summaries
Reports
Reports
Reports
Forecast ...
Abb. 2: Beispiel einer verteilten HP OpenView Performance Insight
Architektur.
Netzwerk
Daten
sammeln
RAW
Daten
to
aufbereiten
Delta
Reports
OVPI
Datenbank
Beim Aufbereiten der Daten werden die Rohdaten in sogenannte Delta (oder Rate) Daten
gewandelt, zusammengefasst und alte Daten
aus der Datenbank gelöscht. Die Delta Daten
beinhalten dabei die Differenz zwischen zwei
zeitlich aufeinander folgenden Werten.
Beim Zusammenfassen werden die Daten in
stündliche, wöchentliche, monatliche, vierteljährliche und jährliche Daten konvertiert und
in einzelnen Tabellen abgelegt. Weiterhin legt
OVPI Forecast Tabellen an. Darin werden Daten für einen Ausblick in die nächsten 30, 60
und 90 Tage gesammelt.
Die Aufbewahrungszeit der Daten in den Tabellen wird über die „Retention Time“ bestimmt.
Jede Tabelle hat dabei ihre eigene, voreingestellte Aufbewahrungszeit, welche sich natürlich auch ändern lässt. Ist diese abgelaufen,
werden die Daten gelöscht.
Abb. 3: Struktureller Ablaufplan der Datenverwaltung.
Report Daten
bearbeitet und anschließend als Reportdaten zur Verfügung gestellt. Diese drei Arbeitsschritte werden im Folgenden näher betrachtet (siehe Abbildung 3).
Nach dem Aufbereiten der Daten lassen sich
daraus Reports erstellen. Dabei stehen zwei
unterschiedliche Methoden zur Verfügung:
Daten sammeln
• automatisch: Die Reports sind Bestandteil
Über diese Funktion werden die Netzwerkkarten oder Systeme im
Netzwerk identifiziert. Die Daten werden dann durch Polling oder
durch das Einlesen von „Flat Files“ gesammelt. Ein „Flat File“ ist
dabei eine abgeschlossene Datei mit historischen Daten eines
Systems oder einer Applikation, die periodisch neu erzeugt wird.
OVPI kann von folgenden Datenquellen sammeln:
• SNMP Devices (inklusive RMON)
• OV Performance Agent und OV Operations Agent
• Non-SNMP Devices
Um Daten zu sammeln, benutzt HP OpenView Performance Insight eine Liste von OIDs gängiger SNMP Geräte. Bei der Installation von Report Packs wird die Liste entsprechend erweitert beziehungsweise angepasst.
Für die Erstellung eigener Datensammlungen steht ein MIB-Browser mit der Möglichkeit der Integration weiterer MIBs zur Verfügung. Sind über SNMP keine Daten abzufragen, bietet HP OpenView Performance Insight die Möglichkeit des Auslesens von „Flat
36
Files“. Diese Methode erfordert ein zusätzliches „TEEL Files“, welche die Information für
das Ablegen der Daten in der Datenbank enthält. Bei der Installation von Report Packs sind
alle notwendigen Dateien und Tabellen bereits
vorhanden. Existieren keine fertigen Report
Packs zu einem System oder einer Applikation, besteht die Möglichkeit, die notwendigen
Dateien und Tabellen selbst anzulegen.
•
der Report Packs. In ihnen ist festgelegt,
was sie beinhalten und zu welchen Zeiten
sie generiert werden.
manuell: Mit dem Report Builder besteht
die Möglichkeit, eigene Reports zu generieren. Hierfür ist der Zugriff auf die gesamten
Daten der Datenbank möglich. Alle gängigen Darstellungsarten wie Graphen, Tabellen, Bilder, Text, etc. sind frei verfügbar.
Die fertigen Reports stehen nach der Erstellung über den Web Access Server zur Verfügung und lassen sich mit dem Web-Browser
oder dem Report Viewer betrachten.
Für die zeitliche Steuerung der Datensammlung,
der Datenaufbereitung und der Reporterstellung
ist der „trendtimer“ zuständig. Der „OVPI trendtimer“ ist ein Dienst / Daemon und kontrolliert
über die Textdatei „trendtimer.sched“ die unterschiedlichen Prozesse und Startzeiten.
ORDIX News 2/2005
System Management
Links
[1] http://www.geocapital.com/geo/news_02.asp?id=76&type=0&disp_type=1
[2] http://www.managementsoftware.hp.com/products/ovpi/index.html
Report Packs
Bei einem Report Pack handelt es sich um eine geschlossene Reporting Lösung. So ist das
Report Pack normalerweise auf einen speziellen Anbieter, Typ oder eine spezielle Anwendung zugeschnitten. Es liefert Out-of-the-box
Lösungen mit vorgefertigten Reports und ermöglicht die einfache Anpassung und Erweiterung entsprechend eigener Anforderungen.
Bei der Installation von Report Packs werden
automatisch die benötigten Tabellen und Views
angelegt. Es werden alle Prozesse, die zur Datensammlung, -bearbeitung und Reporterstellung notwendig sind, installiert und dem „OVPI
trendtimer“ übergeben.
Spätestens beim Betrachten der verfügbaren
Report Packs wird die Herkunft des Tools klar.
Fast alle Report Packs stammen aus dem Netzwerk Segment. Erst in letzter Zeit ist HP dazu
übergegangen für die eigenen Management
Tools Report Packs anzubieten. Dies ist notwendig, um den Aufgaben einer strategischen Reporting Lösung gerecht zu werden. Eine Auswahl
verfügbarer Report Packs finden Sie unter [2].
Handling
Komplexität
Die Installation von HP OpenView Performance
Insight ist sehr einfach. Wie komplex und mächtig das Tool ist, zeigt sich erst im Betrieb. Es sollte von vornherein klar sein, dass die Administration des Tools ein Fulltime Job ist und nicht
nebenbei erledigt werden kann.
Gute Kenntnisse vorausgesetzt
Soll effizient damit gearbeitet werden, sind gute Netzwerk- und Datenbank-Kenntnisse notwendig. Zum Erstellen von Reports, dem Verwalten der Systeme, der Zuordnung der gesammelten Daten sowie der Rechteverwaltung für
Systeme und Reports steht als grafisches Tool
die Management Konsole zur Verfügung. Allerdings ist es ohne Verständnis des Gesamtsystems und des Aufbaus der Tabellen und Indizes kaum möglich, hiermit eine sinnvolle Konfiguration zu erstellen. Die sehr differenzierte Darstellung und Rechteverwaltung erkauft
man sich mit einem sehr hohen administrativen Aufwand.
ORDIX News 2/2005
Glossar
OSS
BSS
SNMP
RMON
OID
MIB
Operational Support System
Business Support System
Simple Network Management Protocol
Remote Monitoring
Object Identifiers
Management Information Base
Erstellen eigener Report Packs ist aufwendig
Am aufwändigsten ist das Erstellen von eigenen Report Packs.
Hierzu müssen entsprechende Tabellen für die einzelnen Zeiträume angelegt werden. Neben den zu definierenden Zeitperioden,
wann die Daten gelöscht werden können, müssen Verweise zwischen den Rechnergruppen und den gesammelten Daten erstellt
werden. Weiterhin müssen Report-Templates erstellt werden, die
auf die angelegten Tabellen und Verweise zugreifen. Dies ist bei
weitem noch nicht alles, sondern nur eine grobe Beschreibung der
notwendigen Tätigkeiten.
Fazit
Ohne jetzt weiter auf das genaue Handling von HP OpenView Performance Insight eingehen zu wollen, wird schnell klar, welche Möglichkeiten zur Verfügung stehen und wie gut man dafür die OVPI
Datenbank kennen muss. Hat man sich aber in dieses Tool eingearbeitet und die Arbeitsweise verstanden, stehen einem alle Tore
offen, Service Level Agreements darin darzustellen.
Interessant für große Firmen
Mit dem Einkauf der TREND-Produktsuite und dem weiteren Ausbau zum HP OpenView Performance Insight Tool hat HP sicherlich den richtigen Weg eingeschlagen, um die komplexen Zusammenhänge einer heutigen IT Landschaft darzustellen.
Durch die fertiggestellte Integrationslösung für HP OpenView Service Desk können alle wichtigen Fakten der ITIL Prozesse abgebildet werden. Der hohe administrative Aufwand für das Tool macht
es in der Regel aber nur für große Firmen interessant, die trotz der
dadurch anfallenden zusätzlichen Kosten dann auch einen wirklichen Mehrwert erhalten. Die Weiterentwicklung des Tools und
vor allem der Report Packs wird darüber entscheiden, ob sich diese Reportinglösung auch außerhalb des HP Umfeldes durchsetzen wird. Die Möglichkeiten sind auf jeden Fall durch die offenen
Schnittstellen gegeben.
Thomas Hölzer ([email protected]).
37
Datenbanken
Oracle 10g (Teil V):
dbms_stats – Trau keiner Statistik,
die du nicht selbst ...
Dieser berühmte Spruch ist auch unter Datenbankadministratoren sehr verbreitet. Viele Anhänger des regelbasierten Optimizers oder des traditionellen Befehls ANALYZE TABLE wehren sich nach wie vor – selten mit
guten Argumenten – das von Oracle empfohlene Paket zu verwenden. Mit der Version 10g liefert Oracle einige zusätzliche schlagkräftige Argumente für den Umstieg auf den kostenbasierten Optimizer. Lassen Sie die
guten, alten Zeiten hinter sich und lösen Sie mit etwas Aufwand auch schwierige Statistikprobleme.
Dieser Artikel richtet sich an Oracle Datenbank Administratoren,
die sich mit 10g beschäftigen oder bereits mit Oracle 9 und
dbms_stats gearbeitet haben.
Übersicht
Mit der Grid Version ihres Datenbank Management Systems liefert Oracle im Wesentlichen vier neue Funktionalitäten, welche im
Zuge dieses Artikels näher beleuchtet werden.
Die erste Erweiterung ermöglicht es, Objekte bezüglich ihrer Statistiken zu sperren und zu entsperren.
Die zweite Erweiterung stellt die Wiederherstellung von Statistiken
aus der Vergangenheit zur Verfügung.
Weiterhin gibt es neue Prozeduren zum Sammeln der Statistiken für
das Data Dictionary und erstmalig auch für die sogenannten fixed
objects. Die automatisierten Features runden diesen Beitrag ab.
Sperren, Entsperren und das dbms_stats Paradoxon
Im Prinzip ist es nur dann sinnvoll, Statistiken zu sammeln, wenn
aufgrund neuer Statistiken ein besserer/anderer Ausführungsplan
für die wichtigsten SQL Befehle entsteht. Andererseits können gerade aus veränderten Statistiken schlechte Ausführungspläne resultieren. Dies ist das sogenannte „dbms_stats Paradoxon“ von
22
SCOTT
A
B
11
44
55
analyze
C
D
unlock
Abb. 1: Verwendung der Prozedur lock_table_stats.
38
Mit Oracle 10g ist es nun möglich, Statistiken
für einzelne Objekte zu „sperren“. Weder die
Aktualisierung noch das Löschen der zugehörigen Statistiken ist danach möglich. Lediglich
mit der neuen Option FORCE kann bei einigen
Prozeduren diese Sperre durchbrochen werden. Die Abbildung 1 veranschaulicht ein Szenario, in welchem auf der Tabelle C die Statistiken unverändert bleiben sollen.
Die Statistiken der Tabelle C im Schema SCOTT
werden mit der Prozedur lock_table_stats
(‘SCOTT‘, ‘C‘ )  gesperrt .
Wird nun das Schema SCOTT mit dem Befehl
gather_schema_stats(‘SCOTT‘, ... )
 analysiert, überspringt die Prozedur die Tabelle C.
Auch die explizite Ausführung von
gather_table_stats(‘SCOTT‘,‘C‘, ...)
 scheitert.
Lediglich über die Option FORCE, z. B. mit
import_column_stats(..., force=>true)
 lässt sich die Sperre durchbrechen.
Über den Befehl unlock_table_stats
(‘SCOTT‘, ‘C‘ )  wird die Sperre wieder
aufgehoben.
analyze
Historisierung von Statistiken
analyze
Sollten sich nach dem Sammeln neuer Statistiken Ausführungspläne verschlechtern, so ist
guter Rat meist teuer.
skip
33
Dave Ensors: „It is only save to gather statistics
when to do so will make no difference.“
analyze
Bereits mit der Version 9 konnten Statistiken
mit Hilfe des Pakets dbms_stats in der sogenannten stattab Tabelle gesichert und wiederhergestellt werden. Dies musste vom DBA
aber explizit implementiert werden.
ORDIX News 2/2005
Datenbanken
Ab 10g sichert Oracle automatisch alle Statistiken vor dem Überschreiben. Mit den Restore Prozeduren lassen sich dann diese gesicherten Statistiken für die folgenden Objekte wiederherstellen:
•
•
•
•
•
•
Tabellen
Gesamtes Schema
Gesamte Datenbank
Fixed Objects
Data Dictionary
System Statistiken
Sollen beispielsweise die Statistiken der Tabelle SCOTT.EMP von gestern wiederhergestellt werden, so kann dies mit folgendem Befehl erfolgen:
DBMS_STATS.RESTORE_TABLE_STATS ( 'SCOTT‘,
'EMP‘, systimestamp – 1 )
Die Abbildung 2 veranschaulicht dieses Szenario noch mal in Zusammenhang mit der Option FORCE.
Weitere hilfreiche Funktionen im Zusammenhang mit historisierten Statistiken sind get_
stats_history_availability zur Rückgabe der ältesten verfügbaren Statistiken und
get_stats_history_retention zur Ausgabe der Anzahl an Sicherungen.
Über die Prozedur alter_stats_history_
retention(n) lässt sich die History Retention einstellen. n nimmt dabei einen der folgenden Werte ein:
•
•
•
•
0 – keine Historie
1 – unendlich, Statistiken werden nie gelöscht
m – Anzahl Tage, 2 bis maximal 365000
NULL – Default Anzahl an Tagen
Sammeln – nicht nur – aus Leidenschaft
Bereits in der Version 9 war die Erhebung von
Statistiken für die Schemata SYS und SYSTEM erlaubt. Für Oracle 10g ist diese Aufgabe
jetzt zur Pflicht geworden. Die folgende Prozedur sammelt alle benötigten Informationen:
DBMS_STATS.GATHER_DICTIONARY_STATS
Völlig neu dagegen ist die Möglichkeit, Statistiken für die sogenannten Fixed Objects zu sammeln. Hierbei handelt es sich im Wesentlichen
um Speicherstrukturen im Shared Pool, welche
über v$ Views sichtbar sind. Bis zum Redaktionsschluss haben wir damit noch nicht ausreichend gearbeitet, um Ihnen zuverlässige Informationen zu liefern. Die Prozedur heißt:
GATHER_FIXED_OBJECTS_STATS
ORDIX News 2/2005
dbms_stats.gather...
Statistiken
heute
Statistiken
gestern
Statistiken
vorgestern
Statistiken
vorvorgestern
restore_table_stats( ‘SCOTT‘, ‘C‘, sysdate -1, force=>true );
Abb. 2: Historisierung von Statistiken.
Glossar
ANALYZE
DBMS_STATS
Data Dictionary
Fixed Objects
Tabellen Monitoring
STALE
Optimizer
SQL Befehl zum Sammeln, Löschen und Aktualisieren von Objektstatistiken.
PL/SQL Paket zur Verwaltung von Objekt- und
System-Statistiken.
Systemtabellen und Views zur Verwaltung der
Datenbank.
v$ Views des Data Dictionarys.
Verfahren in 9i zum Verfolgen von DML Befehlen auf Tabellen.
Status von veralteten Statistiken.
Internes Werkzeug zum Erstellen von Ausführungsplänen.
Automatisierung
Neben der Historie gibt es weitere automatisierte Schritte in 10g.
Das Tabellen Monitoring ist standardmäßig aktiv. Die Steuerung geschieht über den Parameter statistic_level=typical. Ändern
sich mehr als 10 Prozent der Zeilen einer Tabelle, setzt Oracle die
Statistiken auf STALE. Unter Oracle 9 ließ sich diese Eigenschaft mit
dem Befehl ALTER TABLE ... MONITORING aktivieren.
Für Objekte ohne Statistiken und für Objekte mit Statistiken im Status STALE erhebt oder aktualisiert der Scheduler Job GATHER_
STATS_JOB die Statistiken. Dieser Vorgang findet automatisiert
über den neuen Scheduler statt. Für die täglichen Aufgaben des
DBA ist das daher sicherlich eine der wichtigsten Neuerungen.
Liegen keine Statistiken vor oder sind die Statistiken im Status
STALE, so führt die Datenbank häufiger als früher eine dynamische Statistikerhebung durch. Die Statistik wird vor der Ausführung
für ein einzelnes Statement temporär erzeugt, aber nicht gespeichert. Gesteuert wird die dynamische Erhebung durch den Initialisierungsparameter optimizer_dynamic_sampling.
Fazit
Oracle unterstützt mit 10g offiziell nicht mehr den regelbasierten
Optimizer – vorhanden ist er allerdings nach wie vor. Da der Befehl
ANALYZE für zahlreiche Funktionen kein Äquivalent bietet, ist es
nun an der Zeit, sich der komplexen Thematik der Statistikerhebung
zu stellen. Und schließlich ist es besser, die eigenen Statistiken zu
fälschen, als dem Zensus veralteter Regeln zu gehorchen.
Martin Hoermann ([email protected]).
39
Unix/Linux/Open Source
Eines der mächtigsten Open Source Content Management Systeme (Teil II):
TYPO3: Content. Einfach. Vielfältig.
Nachdem wir im ersten Teil TYPO3 umfangreich vorgestellt haben, werden wir in dieser Ausgabe eine exemplarische Installation von TYPO3 vornehmen und beschreiben.
Dieser Artikel richtet sich an Webmaster und Marketingmitarbeiter, die Webinhalte dynamisch präsentieren möchten.
Aller Anfang ist schwer?
Wir setzen für unsere Testinstallation ein
lauffähiges System (Windows oder Linux)
inklusive eines Webservers mit PHP-Unterstützung (PHP 4.3.X) und einer MySQLDatenbank (möglichst eine Version größer
4.1.) voraus (LAMP / WAMP System). Zusätzlich wird eines der aktuellen TYPO3Pakete [1] benötigt. Die Pakete unterscheiden sich im Konfigurations- und Dokumentationsgrad. Derzeit stehen die folgenden
Produkte zur Auswahl:
Die Administrationsoberfläche erreicht man
über die folgende URL „$HOME_DIR/TYPO3/
index.php“. Nach der Installation können Sie
sich als der Benutzer „admin“ mit dem Passwort „password“ authentifizieren:
Es ist wichtig, dass Ihr Browser Cookies unterstützt, da Sie sich sonst nicht einloggen können.
• Dummy-Package
•
•
•
Geeignet für erfahrene User, die
schnell ein neues Projekt aufsetzen
wollen
Quickstart
Enthält die Applikation plus ein Tutorial und ist damit für das Erlernen
von TYPO3 gut geeignet
Testsite Package
Für den erfahrenen User, der seine
Kenntnisse vertiefen möchte
TYPO3 Source
Die reine Applikation; geeignet für
Unix/Linux-Systeme
Administration leicht gemacht
Nach dem erfolgreichen Login stehen Ihnen
als Administrator alle Möglichkeiten offen. Die
Administrationsoberfläche ist nach Aufgabenbereichen logisch strukturiert (siehe Abbildung
1).
Der folgende Artikel basiert auf dem Quickstart-Package, da es zum einen unabhängig von der Plattform einsetzbar ist und
zum anderen sehr schnell sichtbare Ergebnisse garantiert.
Der erste Bereich „Web“ ist im Wesentlichen
für die Inhalte und die Struktur Ihrer Internetpräsenz zuständig. Der anschließende Bereich „File“ verwaltet Objekte, die für Ihre Internetpräsenz zur Verfügung stehen sollen.
Dies können z. B. Bilder, Videos, PDF-Dokumente und/oder Flash-Animationen sein. Im
Anschluss daran folgen die Bereiche „User“
und „Tools“.
Setup
Die Bereiche „User“ und „Tools“
Die Basisinstallation der Applikation ist
recht einfach zu bewerkstelligen. Zunächst
wird das Paket unterhalb des DocumentRoots des Webservers entpackt. Das Aufsetzen der Applikation erfolgt über eine
browserbasierte Installationsroutine, die
automatisch beim Aufruf des entsprechenden Webserver-Verzeichnisses gestartet
wird. Im Wesentlichen dient die dreistufige
Installationsroutine der Einrichtung der Datenbank und der Erzeugung von Beispieldaten in der MySQL-Datenbank.
40
Nach dem Ausführen der Installationsroutine
ist Ihr Content Management System (CMS)
einsatzbereit. Um zur Seitenansicht zu gelangen, rufen Sie in Ihrem Browser einfach die
Seite „index.php“ im Installationsverzeichnis
auf. In unserem Beispiel wäre dies http://localhost/quickstart-3.6.2/ => ab sofort $HOME_DIR. Sofern Sie sich für das QuickstartPackage entschieden haben, sehen Sie hier
das Demoprojekt „FC Bigfeet“.
Abb. 1: Zur Verwaltung des Systems
stehen dem Administrator viele verschiedene Tools zur Verfügung. In Abhängigkeit
von ihren Aufgaben
sehen andere User
nur Ausschnitte aus
der Administrationsoberfläche.
Der Userbereich dient der internen Kommunikation zwischen den Projektbeteiligten. So
können beispielsweise neue Workflows (Redaktionsprozesse: Wer legt wann welchen Inhalt an und wer gibt ihn frei?) angelegt und
Nachrichten an bestehende User versendet
werden. Über den Bereich Tools können Backups verwaltet oder die Konfiguration des Systems angepasst werden.
Wir werden uns im Folgenden vermehrt um
den Bereich „Web“ kümmern, da wir ein neues
ORDIX News 2/2005
Unix/Linux/Open Source
CMS-Projekt anlegen wollen. Selbstverständlich können die Bereiche, je nach den vergebenen Userrechten, ein- oder ausgeblendet werden. Ein normaler Redakteur, der ausschließlich für Inhalte verantwortlich ist, sollte normalerweise nur für die Bereiche „Web“ und „File“
Zugriff erhalten.
What you code is what you get
Die Grundlage für ein neues CMS-Projekt sollte immer ein bestehendes HTML-Design sein,
welches mit jedem x-beliebigen HTML-Editor
oder Grafikprogramm erstellt werden kann. Innerhalb des HTML-Codes werden sogenannte
„SubParts“ definiert. Dies sind besonders gekennzeichnete (### SUBPART ### ) Stellen,
die TYPO3 durch Datenbankinhalte ersetzen
oder besser gesagt mit Inhalt füllen soll (siehe Abbildung 2).
Für unser Beispiel haben wir aus Gründen der
Übersichtlichkeit ein relativ schlichtes HTMLTemplate mit lediglich zwei Bereichen (Content und Navigation) entwickelt. Zusätzlich
kann man einen Arbeitsbereich innerhalb der
Vorlage definieren. In unserem Fall heißt dieser Bereich ###DOCUMENT###.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenannt</title>
</head>
<body>
<h1>Template</h1>
###DOCUMENT###
<table width="800px" align="center"
style="border:1px solid black">
<tr valign="top">
<td width="20%" style="background-color:#DDDDDD">
<table valign="top">
###NAVIGATION###
</table>
</td>
<td>
###INHALT###
</td>
</tr>
</table>
###DOCUMENT###
</body>
</html>
Abb. 2: HTML-Code als Design-Grundlage. Von entscheidender Bedeutung sind die Subparts. Die durch die drei Rauten „###“ gekennzeichneten Stellen werden von TYPO3 durch dynamische Inhalte ersetzt.
TYPO3 wird angewiesen, den HTML-Bereich
außerhalb dieses Blockes zu ignorieren. Das
führt dazu, dass der komplette HEAD-Bereich
unseres HTML-Dokumentes ignoriert und von
TYPO3 selbst aufgebaut wird. Dies ist sinnvoll,
da so z. B. Suchmaschinen-relevante Bereiche wie META-Tags auch auf Basis der dynamischen Inhalte erstellt werden und über das
CMS gepflegt werden können.
Zusammenspiel
Im nächsten Schritt muss dafür gesorgt werden, dass unser Template für unser neues
CMS-Projekt verwendet werden kann. Dafür
legen wir zunächst eine neue Seite über die
Administrationsoberfläche an. Dies funktioniert
problemlos über die sehr intuitiven Symbole
(siehe Abbildung 3). Danach weisen wir dieser Seite unser neues Template zu. Dies erfolgt per Klick auf den Punkt „Web“ → „Template“.
Abb. 3: Das Ergebnis unseres Beispiels im Browser: Die SubParts
wurden erfolgreich übersetzt. Gut zu erkennen sind die unterschiedlichen Templates für die Menüebenen. Wie im Template definiert, wird
der aktuelle Menüeintrag in diesem Beispiel fett dargestellt. Die Seiten der zweiten Ebene sind eingerückt präsentiert.
Alle Seiten, die dieser „Startseite“ (siehe Abbildung 3 Seite, „Demoprojekt“) untergeordnet
werden, bekommen ebenfalls dieses Template zugewiesen, sofern auf einer tieferen Ebene nichts anderes definiert wird.
zu finden ist. Die Zuordnung von diesen inhaltlichen „Objekten“ zu
den entsprechenden „SubParts“ übernimmt die eigens für diesen
Zweck entwickelte Skriptsprache TypoScript.
Um unser Template mit der Webseite zu verknüpfen, muss TYPO3 wissen, an welchen
Stellen die entsprechenden Inhalte (Menüs,
Inhalte) auszugeben sind und wo die Vorlage
Das Code-Beispiel in Abbildung 4 sorgt dafür, dass unsere HTMLSeite als Designvorlage eingebunden wird und gewährleistet, dass
die Inhalte und die Navigationselemente an den richtigen Stellen
in unserem Beispiel ausgegeben werden.
ORDIX News 2/2005
Kein Code, kein Content
41
Unix/Linux/Open Source
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Default PAGE object:
page = PAGE
page.typeNum = 0
page.10 = TEMPLATE
page.10.template = FILE
page.10.template.file = fileadmin/temp.html
# unser HTML Template
page.10.workOnSubpart = DOCUMENT
# unser definierter Arbeitsbereich
page.10.marks.INHALT = CONTENT
# unser SubPart ###INHALT###
page.10.marks.INHALT {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
}
page.10.marks.NAVIGATION= HMENU
# unser SubPart ###NAVIGATION###
page.10.marks.NAVIGATION.1 = TMENU
page.10.marks.NAVIGATION.1.NO {
allWrap = <tr><td>:: |</td></tr>
}
page.10.marks.NAVIGATION.1.ACT = 1
page.10.marks.NAVIGATION.1.ACT{
allWrap = <tr><td> <b>:: |</b>
</td></tr>
}
page.10.marks.NAVIGATION.2 = TMENU
page.10.marks.NAVIGATION.2.NO {
allWrap = <tr><td>:: :: |</td></tr>
}
page.10.marks.NAVIGATION.2.ACT = 1
page.10.marks.NAVIGATION.2.ACT{
allWrap = <tr><td> <b>:: :: |
</b></td></tr>
}
Abb. 4: Über TypoScript können beliebig flexible Templates realisiert werden.
<!-- HAUPTMENÜ -->
<table class="mainmenue_table" valign="top">
<tr>
<td> :: 
<a href="index.php?id=34" nfocus="blurLink(this);">
Startseite</a> </td>
</tr>
<tr>
<td> :: 
<a href="index.php?id=114" onfocus="blurLink(this);">
ORDIX AG</a> </td>
</tr>
<tr>
<td class="level2"> :: 
<a href="index.php?id=115" target="_ordix"
onfocus="blurLink(this);">
ORDIX im Web</a> </td>
</tr>
...
...
...
</table>
<!-- HAUPTMENÜ -->
Abb. 5: TYPO3 erzeugt die Menüs dynamisch. Der SubPart ###NAVIGATION### wurde von TYPO3 durch ein hierarchisches Menü ersetzt.
42
Zunächst wird festgelegt, wo sich unsere HTMLDatei befindet und welcher Teil aus dieser Datei
interpretiert werden soll (Zeile 1 - 9). Anschließend werden unsere SubParts „Inhalt“ und „Navigation“ mit Content versorgt. Dazu wird diesen Platzhaltern ein internes Objekt zugewiesen. Der SubPart „Inhalt“ bekommt in diesem
Fall das Objekt „Content“ und der SubPart „Navigation“ das Objekt „HMENU“ (hierarchisches
Menü) zugewiesen.
Die Angaben in den geschweiften Klammern
dienen lediglich der genaueren Spezifikation
und bestimmen das Layout der Elemente. Bitte beachten Sie, dass es für den SubPart „Navigation“ zwei Einträge gibt:
• page.10.marks.NAVIGATION.1.NO
• page.10.marks.NAVIGATION.1.ACT
„NO“ regelt das Design eines Menüeintrages,
der derzeit nicht ausgewählt wurde (NO = not
active), während im Eintrag „ACT“ das Aussehen des gerade ausgewählten Menüeintrages
(ACT = active) spezifiziert werden kann.
Der numerische Wert vor diesen Einträgen beschreibt die Ebene, die beschrieben werden
soll. Die Zeilen 19 - 29 sind somit zuständig
für alle Seiten der ersten Ebene, die Einträge
in den Zeilen 31 - 39 formatieren alle Seiten
der zweiten Ebene.
Besonderes Augenmerk sollte auf die Eigenschaft „allWrap“ gelegt werden. Hier wird festgelegt, wie die einzelnen Menüpunkte angezeigt werden sollen. Das Zeichen „|“ ist hierbei
der Platzhalter für den jeweiligen Seitentitel,
der als Menüpunkt ausgegeben wird.
In unserem Beispiel werden die einzelnen Menüpunkte als Tabellen-Reihen (<tr>...</tr>)
ausgeben. Das macht Sinn, da der SubPart
###NAVIGATION### von entsprechenden
<table>...</table>-Tags umschlossen wird, so
dass im Endeffekt dass Menü in einer sinnvollen HTML-Formatierung (Tabelle) ausgegeben
wird (siehe Abbildung 5).
Fortsetzung folgt ...
TypoScript kennt natürlich noch weitaus mehr
Objekte als „CONTENT“ und „HMENU“. Eine umfangreiche Beschreibung der Möglichkeiten von TypoScript würde an dieser Stelle
den Rahmen sprengen.
Nur so viel: TypoScript ist beispielsweise in der
Lage, grafikbasierte Layermenüs zu erstellen,
die wahlweise vertikal oder horizontal oder
auch in beliebigen Kombinationen dargestellt
werden können.
ORDIX News 2/2005
Unix/Linux/Open Source
Darüber hinaus gibt es weitere Objekte, die in eine Seite integriert werden können, so z. B. Pfadangaben, Suchmaschinenfelder, eine Sprachauswahl, das aktuelle Datum, Bilder, XML-Newsfeeds (RSS-XML) oder was das Herz sonst begehrt.
Zusätzlich lässt sich TYPO3 um sehr viele Extensions erweitern, die von fleißigen Entwicklern kostenfrei zur Verfügung gestellt werden.
Diese Extensions [2] stellen meist weitere Objekte zur Verfügung, die dann ebenfalls genutzt
werden können.
Content wirklich einfach?
Werfen wir abschließend einen Blick auf das
Frontend. Das Resultat lässt sich sehen (siehe Abbildung 3). Ordnungsgemäß wurden die
SubParts von TYPO3 durch das Menü (siehe
Abbildung 5) und die Inhalte ersetzt. Auch die
Struktur, also die Hierarchie der Seiten des
Menüs wurde anstandslos übernommen (siehe Abbildung 6, roter Kasten).
Abb. 6: Intuitive Benutzeroberfläche: Das Anlegen von neuen Seiten
für ein CMS-Projekt, hier Demoprojekt, funktioniert relativ einfach. Intuitive Symbole weisen den Weg. Die Symbole von links nach rechts:
1. Änderungen rückgängig machen. 2. Neue Seiteninhalte erstellen. 3.
Seite verschieben (das Menü verändert sich entsprechend). 4. Neue
Seite anlegen. 5. Meta-Informationen der Seite verändern. 6. Hilfe.
Sichtbare Erfolge lassen sich somit sehr schnell
erzielen.
Allerdings soll diese Tatsache nicht darüber
hinwegtäuschen, dass es sich bei TYPO3 um
eine sehr komplexe Applikation handelt. Allein
die Dokumentation von TypoScript [3] umfasst
annähernd hundert Seiten. User mit besonderen Anforderungen oder sehr speziellen Designwünschen werden dementsprechend tief
in die unterschiedlichen Dokumentationen einsteigen müssen.
„Ohne Moos nix los?“
Der Erfolg gibt TYPO3 recht. Mit über 125.000
Installationen ist es eines der erfolgreichsten
CMS derzeit. Ohne größere Probleme – und vor
allem ohne Lizenzkosten – lässt sich das Produkt
auf nahezu jedem Webserver installieren.
Erste sichtbare Resultate lassen sich schnell
und unkompliziert erzeugen. Allerdings steigt
der Wissens- und Administrationsbedarf mit zunehmenden Anforderungen recht schnell an.
In der Praxis ist dieses Tool wohl am besten
in größeren Mittelstandsunternehmen aufgehoben, die ihre Webpräsenz intensiv zur Kunden- oder internen Kommunikation nutzen. Der
Einsatz lohnt sich spätestens dann, wenn an
der Erstellung und Pflege der Inhalte unterschiedliche Personen beteiligt sind, die keine
oder wenige Kenntnisse im Bereich der Webtechnologie haben.
Glossar
Templates
TYPO3 Templates führen eine HTML-Designvorlage über eine eigene Sprache „TypoScript“ mit den inhaltlichen Seiten des Content Management Systems
(CMS) zusammen.
SubParts
SubParts umschließen Abschnitte einer HTML-Designvorlage, die von TYPO3 durch dynamischen Inhalt ersetzt werden. Dies geschieht mit Hilfe von TypoScript.
TypoScript
TypoScript führt die HTML-Vorlage mit dem Inhalt des
CMS zusammen und kann darüber hinaus auf das Erscheinungsbild Einfluss nehmen.
LAMP/WAMP Diese Abkürzung steht für Linux/Windows mit Apache-Webserver, MySQL-Datenbank und PHP als Programmiersprache.
Links
[1] Typo3-Pakete: http://typo3.org/download/packages/
[2] Typo3 Extensions: http://typo3.org/extensions/
[3] Dokumentation von TypoScript: http://typo3.org/documentation/document-library/doc_core_tsbyex/
Unser Leser Herr Wilfried Krug wies auf die folgenden hilfreichen TYPO3 Informationen hin. Vielen Dank!
http://typo3.org/documentation/videos/xvid-format/
(als Video)
news://news.netfielders.de
(News Server)
Matthias Jung ([email protected]).
ORDIX News 2/2005
43
Datenbanken – Titelthema Data Guard
Backup und Recovery mit Oracle 10g (Teil III):
Näher am Original: Data Guard
In der letzten Ausgabe der ORDIX News beschäftigten wir uns mit den neuen Flashback Funktionalitäten von
Oracle 10g. In dieser Ausgabe wollen wir uns die Neuerungen bei Data Guard anschauen und das Zusammenspiel mit Flashback betrachten.
Dieser Artikel richtet sich an Oracle Datenbank Administratoren,
die Oracle Data Guard einsetzen möchten.
Oracle Data Guard ist eine Möglichkeit, Hochverfügbarkeit bei Oracle Datenbanken zu realisieren. Der ursprüngliche Ansatz, die sogenannte Standby Datenbank, dient dazu, logische oder physikalische Fehlersituationen abzufangen. Allerdings lassen sich mit einer Oracle Data Guard Konfiguration noch andere Dinge tun, als
auf den Ausfall zu warten.
Je nachdem, welche weiteren Anforderungen realisiert werden
sollen, bietet sich eine der beiden Data Guard Varianten, Physical oder Logical, an.
Eine physikalische Standby Datenbank ist eine blockgenaue Kopie der Produktions-Datenbank und befindet sich normalerweise
ständig im Recovery Modus.
Bei einer logischen Standby Datenbank werden die Änderungen
nicht recovert, sondern es werden über LogMiner-Techniken die
SQL Statements aus den archivierten Redo Log Dateien extrahiert
und als SQL-Anweisung in die Datenbank eingespielt.
Damit wird ein weiterer Unterschied zwischen den beiden Formen
des Data Guard deutlich: eine physikalische Standby Datenbank
befindet sich üblicherweise im Zustand MOUNT, während eine logische Standby Datenbank sich ständig im Zustand READ_WRITE (OPEN) befindet.
Grundsätzlich werden die beiden Typen unter folgenden Rahmenbedingungen eingesetzt:
Data Files
(DF)
Managed Recover
Process (MRP)
(Oracle 10g)
Archive Process (ARCn)
Abb. 1: Real Time Apply.
44
• Hochverfügbarkeitsansatz
• Abfangen von logischen Fehlern durch bewusstes zeitversetztes Recovery
• Backup entzerrt vom Primärsystem, somit
eine Entlastung
• Reporting – die Datenbank kann lesend
geöffnet werden, dann ist allerdings das
Recovery unterbrochen
Logische Standby Datenbank:
• Hochverfügbarkeitslösung
• Reporting – die Datenbank ist ständig
READ WRITE geöffnet
Real Time Apply
In Oracle 9.x konnten die Redolog Informationen erst in die Standby-Datenbank eingefahren werden, wenn sie in Form archivierter Redo Log Dateien vorlagen, also ein Logswitch
stattgefunden hat. Somit hing die StandbyDatenbank mindestens das CURRENT LOG
hinterher.
Mit Oracle 10g ist es nun möglich, die Redo Informationen sofort nach ihrem Erhalt auf dem
Standby System zu recovern beziehungsweise als Transaktion auszuführen. Diese neue
Technik wird als REAL TIME APPLY bezeichnet.
Die Vorteile dieser neuen Technik bestehen in
der höheren Aktualität der Daten und in kürzeren Ausfallzeiten während einer Switchover
oder Failover Operation.
Redodaten Strom
Standby
Log Files
(SLF)
Physikalische Standby Datenbank:
Managed Recover
Process (MRP)
(Oracle 9i)
Archivierte
Log Files (A)
Den Unterschied zwischen den beiden Techniken verdeutlicht Abbildung 1.
REAL TIME APPLY bietet folgende Vorteile:
Physical Data Guard:
Bei einem Failover oder Switchover geht weniger Zeit verloren, da es weniger zu recovern gibt.
Logical Data Guard:
Beim Reporting stehen aktuellere Daten zur
Verfügung.
ORDIX News 2/2005
Datenbanken
Flashback
Die bereits in der ORDIX News 1/2005 vorgestellte Flashback Database Funktionalität
ist vollständig in das Oracle Data Guard Umfeld integriert.
Bisher erforderte die Anforderung, logische
Fehler abzufangen und gleichzeitig im Failover-Fall sofort verfügbar zu sein, den Betrieb
von mindestens zwei physikalischen Standby
Datenbanken. Eine Datenbank die sofort verfügbar sein soll, darf keinen großen Delay zur
Produktions-Datenbank haben.
Genau diesen Delay braucht man jedoch, um
logische Fehler abfangen zu können. Dies ist
mit Oracle 10g und Flashback Database nicht
mehr zwingend erforderlich.
Die Standby Datenbank lässt sich mit nur wenig, oder bei Nutzung von Real Time Apply im
optimalen Fall ohne Zeitversatz (Delay) hinter
der Produktionsdatenbank betreiben. Damit ist
die Anforderung der sofortigen Verfügbarkeit
im Fehlerfall erfüllt.
Soll die Produktions-Datenbank aufgrund eines logischen Fehlers zurückgesetzt werden,
so ist dies ebenfalls möglich. Dabei wird die
Flashback Funktionalität genutzt, um das erneute Anlegen einer Standby Datenbank nach
einem OPEN RESETLOGS der ProduktionsDatenbank zu verhindern.
Ein Öffnen der Datenbank mit der OPEN
RESTLOGS Option bedeutet, dass der Zähler für die Sequenznummer der Redo Log Dateien auf 1 zurückgesetzt wird. Ein Überspringen dieser Option war mit bisherigen Standardmitteln beim Recovery nicht möglich.
Konzept bei OPEN RESETLOGS
Damit Flashback genutzt werden kann, muss
vor dem Aufbau der Standby Datenbank auf
dem Produktions-System bereits Flashback
initialisiert sein.
Die Vorteile der Nutzung von Flashback beim
OPEN RESETLOGS der Produktions-Datenbank verdeutlicht Abbildung 2. Nach einem
OPEN RESETLOGS der Produktions-Datenbank wird die Standby Datenbank mittels
Flashback Technik auf einen Stand vor dem
OPEN RESETLOGS zurückgesetzt.
Durchführung
Das Nachfahren der Redo Log Dateien wird
während des Recoverys der Produktionsdatenbank kurz gestoppt.
ORDIX News 2/2005
Nach dem Zurücksetzen des Produktionssystems wird mit dem
Kommando
select resetlogs_change# -2 from v$database;
die SCN ermittelt, die kleiner als die SCN des OPEN RESETLOGS ist.
Die Standby Datenbank muss jetzt auf jeden Fall auch auf eine
SCN gebracht werden, die kleiner als die SCN des Produktionssystems ist.
Die aktuelle SCN erhalten wir über das Kommando:
select current_scn from v$database;
Ist die aktuelle SCN kleiner als die OPEN RESETLOGS SCN, so
lässt sich jetzt mit dem Kommando
recover managed standby database ...;
das Recovery der Standby Datenbank wieder anstoßen.
Sollte jedoch die aktuelle SCN der Standby Datenbank größer sein
als die SCN beim OPEN RESETLOGS, so können wir die Standby Datenbank mit dem Kommando
flashback standby database to scn <resetlogs_SCN - 2>;
entsprechend zurücksetzen. Danach kann wieder mit dem normalen Recovery begonnen werden.
Dieses Procedere lässt sich im Falle eines Misserfolgs solange wiederholen, bis der richtige Aufsatzpunkt, sprich die richtige
SCN, gefunden wurde.
Mit diesem Vefahren lässt sich eine Standby Datenbank, die ohne
Zeitversatz (delay=0) betrieben wird, sehr schnell wieder in den
Recovery Mode bringen. Sie muss dazu nicht aufwändig neu aufgebaut werden, sondern kann mit Flashback Database einfach zurückgesetzt werden. Dies bedeutet, dass der Datenbank Administrator viel kostbare Arbeitszeit und somit seinem Arbeit- oder Auftraggeber Geld spart.
Konzept bei einem Failover
Ein Failover ist die ungeplante Übernahme der Produktion durch
die Standby Datenbank. In den allermeisten Fällen ist ein Failover
mit einem Datenverlust verbunden, da nicht alle Redo Daten auf
ProduktionsDatenbank
Arch.
Redo
Log
Schritt 1:
RESETLOGS
nach einem
Point-in-Time
Recovery
ProduktionsDatenbank
Standby
Datenbank
Schritt 2:
Flashback
der Standby
Datenbank
Arch.
Redo
Log
Standby
Datenbank
Abb. 2: Der Einsatz von Flashback beim OPEN RESETLOGS der Produktions-Datenbank.
45
Datenbanken
das Standby System übertragen werden konnten. Da es sich bei
einem Failover um ein unvollständiges Recovery handelt, bedeutet
es immer ein OPEN RESETLOGS der Standby Datenbank.
Mit Oracle 9i galt, dass nach einem Failover die alte ProduktionsDatenbank als Standby Datenbank neu aufgebaut werden muss.
Es fand ein OPEN RESETLOGS auf der Standby Seite statt. Damit war das Nachfahren der neu anfallenden archivierten Redo
Log Dateien auf der neuen Standby Seite nur mit einem Neuaufbau möglich.
Unter Nutzung von Flashback lässt sich die alte Produktions-Datenbank auf einen Zeitpunkt vor dem Failover zurücksetzen und
dann per recover managed standby database wieder an
den aktuellen Stand heranführen.
Das Konzept zeigt die Abbildung 3.
Bisher war ein Failover zwingend mit dem Neuaufbau der Standby Datenbank verbunden, da die neue Produktions-Datenbank mit
OPEN RESETLOGS geöffnet wird. Der Neuaufbau der Standby
Datenbank ist aber deutlich zeitaufwendiger, als das neue Standby System mit einem Flashback Kommando an die richtige Stelle
zurückzusetzen und danach das Recovery zu beginnen.
Initialisierungsparameter
Bisher galten die Initialisierungsparameter bezüglich der Archivierung unabhängig von der jeweiligen Datenbank-Rolle. Die Datenbank-Rolle kann sein:
Damit ist es möglich, eine init.ora Datei für alle Rollen einer Datenbank zu erstellen. Der Inhalt bleibt immer gleich, egal ob die Datenbank
Produktions- oder Standby Datenbank ist.
Neuerungen spezifisch für physical
Data Guard
Für die physikalische Standby Datenbank hat
sich das Verhalten des startup Kommandos
beziehungsweise des Kommandos alter database [ mount | open ] geändert.
In den Oracle Versionen 8i und 9i erfolgte das
Starten der Datenbank folgendermaßen:
startup nomount
alter database mount standby database;
alter database open read only;
In der Version 10g lassen sich folgende Kommandos absetzen:
• Primary: Das ist die Produktions-Datenbank
• Physical Standby: Die physikalische Standby Datenbank
• Logical Standby: Die logische Standby Datenbank
startup mount
alter database open;
Mit Oracle 10g lassen sich die Archivierungsparameter derart definieren, dass sie je nach aktueller Datenbank-Rolle (Primary oder
Standby) wirken. Ein kleines Beispiel verdeutlicht das:
startup
LOG_ARCHIVE_DEST_3
= "service=stdby valid for
= (online_logfile, primary role)"
Redo Strom vor dem Failover
ProduktionsDatenbank
Arch.
Redo
Log
Schritt 2:
Flashback
der neuen
Standby
Datenbank
Neue
ProduktionsDatenbank
Standby
Datenbank
Schritt 1:
Failover
Arch.
Redo
Log
Neue
Standby
Datenbank
Redo Strom nach dem Failover
Abb. 3: Der Einsatz von Flashback beim Failover.
46
Der Archive Prozess soll die anfallenden Redo
Log Dateien an die Standby Datenbank stdby kopieren. Und zwar nur dann, wenn er dabei auf normale Online Redo Log Dateien als
Quelle zurückgreifen kann und die „Quell“-Datenbank sich in der Rolle PRIMARY (also Produktion) befindet.
oder
Dabei erkennt Oracle beim Mounten der Datenbank, dass es sich bei der Control Datei
um eine Standby Control Datei handelt und
verhält sich entsprechend. Ebenso verhält es
sich beim Öffnen der Datenbank. Die Information STANDBY CONTROLFILE wird ausgewertet und die Datenbank automatisch READ
ONLY geöffnet.
Neuerungen Logical Data Guard
Mit Oracle 9i war es möglich, mit dem LGWR
Dateien auf die Archive Log Destination einer logischen Standby Datenbank zu schreiben, aus denen anschließend per LogMinerTechnik die Transaktionen ausgelesen werden. Dabei schreibt die logische Standby Datenbank eigene online und archivierte Redo
Log Dateien.
Mit Oracle 10g ist es jetzt auch bei der logischen Standby Datenbank möglich, mit Standby Redo Log Dateien zu arbeiten. Dies bedeutet, dass jetzt auch eine logische Standby Da-
ORDIX News 2/2005
Datenbanken
tenbank Bestandteil einer DataGuard Konfiguration sein kann, die sich im Modus MAXIMUM
PROTECTION befindet. Dort gelten Transaktionen erst dann als beendet, wenn der LGWR
in alle Redo Log Dateien geschrieben hat.
Mit Oracle 10g werden mit der logischen Standby Datenbank weitere, bisher nicht unterstützte Datentypen und Objekte, unterstützt. Tabellen, die die Datentypen LONG, LONG RAW
oder NCLOB enthalten, können nun auch in
diesem Konzept bearbeitet werden:
Index Organized Tables (IOT) können jetzt auch
übertragen werden, es sei denn, die IOT hat
Überlaufsegmente oder LOB Spalten.
Was weiterhin nicht unterstützt wird, sind Userdefinierte Datentypen. Dazu gehören leider auch
funktionsbasierte Indizes.
Fazit
Beim Logical Data Guard ist eine erfreuliche
Tendenz zur Komplettierung zu beobachten.
Die Anzahl der nicht unterstützten Datentypen
ist stetig sinkend. Eine fundamentale Verbesserung ist jedoch die Integration von Flash-
Glossar
SCN
LONG
LONG RAW
NCLOB
IOT
System Change Number: Eine Oracle interne Nummer, die für jeden internen Befehl (nicht Transaktion!)
vergeben wird.
Datentyp zum Abspeichern langer Felder mit alphanumerischem Inhalt. Die Speicherung der Daten findet
Inline, also innerhalb der Tabellenstruktur, statt; maximal 2 GB Größe.
Datentyp zum Abspeichern von binären Informationen;
maximal 2 GB Größe.
Datentyp zum Speichern langer alphanumerischer Felder mit dem National Characterset der Datenbank. Bis
4000 Byte wird inline gespeichert, bei größeren Datenmengen außerhalb der Tabellenstruktur in einem eigenen Segment.
Index Organized Table: Die Daten werden direkt als Index abgespeichert.
back Database in das Data Guard Konzept. Dort lässt sich im Falle eines Failovers sehr viel Zeit sparen, was für den Kunden letztlich weniger Kosten bedeutet.
In der kommenden ORDIX News werden wir uns mit den Neuerungen beim Oracle Recovery Manager beschäftigen.
Andreas Kother ([email protected]).
Einladung zum 3. ORDIX Fachtreff in 2005
VMware – Serverkonsolidierung und
Ressourcenoptimierung leichter gemacht
Sie möchten Ihre Hardwarekosten reduzieren und gleichzeitig die Verfügbarkeit Ihrer Anwendung erhöhen? Sie
planen eine effiziente Konsolidierung Ihrer Server? Dann laden wir Sie herzlich zu unserem VMware Fachtreff im
September 2005 ein. Eine genaue Agenda, Termin und Ort finden Sie ab Anfang Juli auf der ORDIX Webseite.
In Kooperation mit unserem Partner VMware
(siehe Seite 21) zeigt ORDIX Ihnen in diesem
Fachtreff,
• wann der Einsatz von VMware sinnvoll ist.
• wie Sie Ihre Server mit VMware sehr effizient konsolidieren können.
• wie Sie Test- oder Schulungsumgebungen
flexibel aufbauen können.
Die Optimierung des Ressourcen-Managements und das Desaster-Recovery stehen zusätzlich im Blickpunkt dieser Veranstaltung.
Wozu dient VMware?
Die VMware Software erlaubt es, unterschiedliche, physikalische (Intel/AMD basierte) Rech-
ORDIX News 2/2005
ner mit unterschiedlichen Betriebssystemen (Linux, Windows, NetWare) auf einem Server zu betreiben. Dort werden sie in eigenständigen virtuellen Maschinen betrieben.
Dieses Konzept erlaubt eine weitreichende Hardware-Unabhängigkeit und ermöglicht mit Hilfe der Virtual Infrastructure Management Software und dem Einsatz von mindestens zwei VMware-Servern einfache(re) Load-Balancing- oder Hochverfügbarkeitsszenarien. Physikalische Ressourcen, wie z. B. CPU, Speicher und Netzwerk, können einzelnen virtuellen Maschinen gezielt und mit einer
bestimmten Bandbreite zugeteilt werden.
Wie von unseren vorangegangenen Fachtreffs gewohnt, erwarten
Sie kompetente und praxisbezogene Vorträge.
Informationen finden Sie ab Juli unter: http://www.ordix.de/fachtreff
47
Herunterladen