ORDIX News Application Server im Vergleich Neues

Transkript

ORDIX News Application Server im Vergleich Neues
www.ordix.de
ORDIX News
Das IT-Magazin der ORDIX AG
Application
Server
im Vergleich
IBM WebSphere
S. 34
JMeter
Last- und Performancetests
für J2EE-Anwendungen S. 40
Charity Golfen
Golfen und Gutes tun - Stargast:
Schauspieler Charles M. Huber S. 24
Ausgabe 3/2004
€ 2,20
Neues von den
Datenbanken:
Informix 9.40
IBM DB2 UDB „Stinger“
Oracle 10g
S. 12
S. 18
S. 42
Editorial
Paderborn, September 2004
Über Jog(h)urt,
von Delf(ph)inen und
die Orthograf(ph)ie
im A(a)llgemeinen
Jahr für Jahr dasselbe: Sommertheater. Dieses Mal weniger Politik als viel mehr Rechtschreibung. Sie wissen ja,
das leidige Thema mit dem sich vor kurzem der Springer Verlag und der Spiegel Seite an Seite präsentiert haben
– welch seltene Allianz. Dass(ß) man bei den wenigen Buchstaben und Wörtern, die in Deutschlands größter
Zeitung (zumindest was Seitenformat und Buchstabengröße betrifft) vorkommen, die Rechtschreibreform erst nach
immerhin knapp acht Jahren festgestellt hat, verwundert nicht. Beim Spiegel erstaunt es mich aber doch ein wenig.
Und dann doch ein wenig Politik: Ein paar KuMis (Kultusminister) haben das populäre Thema aufgegriffen. Dabei
ging Guido Westerwelles Outing fast völlig unter. Naja, das hat mit Politik auch nicht so richtig viel zu tun. Auch
wenn Stoiber kurz danach etwas von einer großen Koalition faselte. Was dafür wohl der Auslöser gewesen sein
mag?
Mitten im Sommerloch hatten die Griechen ihren zweiten sportlichen Auftritt für dieses Jahr: Die Olympiade. Viel
habe ich dieses Mal nicht mitbekommen, nur dass(ß) unsere Schwimmer nicht wie Delf(ph)ine geschwommen
sind, sondern eher die Mitstreiter. Aber seit dem Untergang der DDR und dem damit verbundenen Rückgang beim
Doping im deutschen Sport, blühen eben andere Nationen auf und sammeln die Goldmedaillen ein. Die Anzahl der
deutschen Medaillengewinner verhält sich offenbar umgekehrt proportional zur Dauer der deutschen Einheit.
Man konnte also diesen Sommer in Ruhe seinen Jog(h)urt schlürfen – für Eis war es ja nicht heiß genug – und
muss(ß)te sich nicht mit so irrwitzigen Forderungen wie in vergangenen Jahren z. B. dem Verbot des Push-up-BHs
herumschlagen.
Also, wir bleiben erstmal bei der neuen Rechtschreibung, auch wenn es mir zugegebenermaßen schwer fällt. So
sind auch wieder unsere Artikel verfass(ß)t: Viel von IBM (WebSphere, Informix, DB2, TSM), Interessantes zum
Testen von J2EE-Anwendungen, zwei Artikel zum großen IT-Thema der Zukunft: Security (IPv6 und Oracle Standard Accounts) und natürlich einiges in eigener Sache (u. a. Charity Golfen, Rückblick Schachturnier).
Ja, dann wünsche ich Ihnen viel Spaß beim Lesen und hoffe, Sie verzeihen mir meine Ausflüge in die Orthograf(ph)ie.
Einige Wörter wurden ja noch nicht vergewaltigt: Computer, Jeans, Philosophie – welche Logik? Aber das kann/
soll(?) ja noch kommen. Bis es aber so weit (soweit) ist, habe ich sicher Rheuma (bis auf weiteres noch mit h).
Wolfgang Kögler
PS: Für all diejenigen, die es verfolgen: Herr Ballmer hat sich noch nicht gemeldet, außer dass(ß) sich nach
meinem Windows 2000 Update mit SP4 einiges sehr seltsam verhält. Unerklärte Abstürze, aufpoppende Browserfenster etc. Aber das verwundert mich nicht besonders.
3
Inhaltsverzeichnis
Aus- & Weiterbildung
Standards
07 ... Seminare: PHP 5 New Features; Konzeptionierung
und Entwicklung einer E-Commerce Lösung mit PHP
15 ... Seminar: Tomcat Konfiguration und Administration
22 ... Seminarübersicht: Preise, Termine ... bis März 2005.
03 ... Editorial
04 ... Inhalt
35 ... Impressum
Unix/Linux/Open Source
Java/XML
10 ... FlexFrame –
Titeldie SAP/R3-Lösung out of the Box thema
Standardanforderungen zu Ausfallsicherheit, Skalierbarkeit,
einfacher Wartbarkeit und einheitlicher Bedienung meistert
FlexFrame mit Bravour.
28 ... IPv6 – Datenautobahn mit neuem Verkehrsleitsystem
Vorteile des neuen Internet Protokoll V6, das Abhilfe bei
Adressmangel und anderen Schwachstellen schafft.
36 ... IBM TSM (Teil III):
Sichern und Archivieren
In diesem Teil der Reihe stellen wir Ihnen Konzepte, Vorgehensweisen und Einstellungsmöglichkeiten zum Sichern
und Archivieren mit dem IBM Tivoli Storage Manager vor.
Datenbanken
34 ... Neue Reihe Application Server im Titeeml-a
th
Vergleich (Teil I): IBM WebSphere
Wir stellen Ihnen IBM WebSphere Version 5 vor und beleuchten Vor- und Nachteile des Application Servers von IBM.
40 ... Last- und Performancetests mit JMeter
Funktionsweise und Module von JMeter
mit denen J2EE-Anwendungen auf einem Server unter Last auf ihre Standfestigkeit hin geprüft werden können.
Aktuell
08 ... RMAN-Integration in Backup-Tools (Teil II): Im
Einklang mit Veritas NetBackup und HP DataProtector
Der Oracle Recovery Manager (RMAN) kann mit nahezu jedem Storage Manager zusammen arbeiten. Wir stellen Ihnen zwei weitere vor.
Titel-
12 ... IBM IDS 9.40 (Teil V): Externe Authentifizierung thema
Mittels Pluggable Authentication Module (PAM) ist eine externe Authentifizierung möglich. Lesen Sie hier, wie es geht.
Titel-
18 ... Neue Reihe DB2 (Teil I): DB2 UDB „Stinger” Beta thema
In unserer neuen Reihe DB2 stellen wir Ihnen neue Features und Werkzeuge der IBM Datenbank vor.
26 ... Oracle Internet Directory (Teil II)
Dieses Mal geht es um die Namensauflösung mit Hilfen zu
Einstellungsmöglichkeiten und Tipps zur Problemlösung.
32 ... Oracle Standard Accounts: Knocking at Your Backdoor
Mögliche Sicherheitslücken durch automatisch angelegte
Accounts mit allgemein bekannten Passwörtern aufspüren und
schließen: Wir zeigen die Hintertürchen.
Titel-
42 ... Oracle 10g (Teil II): thema
Tablespaces unter 10g: größer – schneller – flexibler
Im diesem Teil berichten wir über Erleichterungen, die sich
aus den Neuerungen im Umfeld Tablespaces ergeben.
4
05 ... Simples XML
PHP 5 bietet mit SimpleXML eine Erweiterung, die Web Entwicklern die Verarbeitung von XML-Daten in PHP erleichtert.
15 ... Larry Ratlos: Überwachung
mit dem Automounter?
16 ... Echter Mehrwert durch
Internetauftritt
Ein Resümee knapp 2 Jahre nach der
Umstellung des Internetauftritts der
Firma A. + E. Fischer GmbH & Co. KG
durch die ORDIX AG.
17 ... ORDIX auf der DOAG Konferenz und
dem anschließenden Schulungstag
(10. - 12.11.2004)
20 ... Teilnehmerrekord beim
ORDIX Open 2004
Alle Rekorde der Vorjahre wurden bei
den Chess Classic Mainz in 2004 gebrochen. Wir haben die Highlights für
Sie zusammengestellt.
24 ... Charity Golfen für notleidende Titeeml-a
th
Kinder
Schönes Spiel: Seien Sie mit ORDIX
spaßwirksam und helfend unterwegs.
Titelthema
Java/XML
Simples XML
In der neuen Version 5 bringt die Skriptsprache PHP eine Erweiterung, mit der sich XML-Dokumente ohne
Probleme innerhalb von PHP verarbeiten, manipulieren und erstellen lassen.
Ist das wirklich neu?
Einige der PHP-begeisterten Leser werden
jetzt vielleicht einwenden, dass es bislang
doch auch möglich war, XML-Dokumente mit
PHP einzulesen und zu bearbeiten. Richtig.
Bis dato gab es einige Erweiterungen/Module, die sich um die Verarbeitung von XML-Dokumenten kümmerten.
Einige dieser Module haben es jedoch nie
über das Beta-Stadium hinaus geschafft. Manchem Leser ist vielleicht die „expat“-Erweiterung ein Begriff, die bereits ab der PHP Version 3.0.6 zur Verfügung stand. Darüber hinaus
wurde mehr oder weniger erfolgreich versucht,
die libXML2 des Gnome-Projektes und die
Nutzung des XSL-Prozessors Salbotron einzubinden.
Mit dem aktuellen Release wurde dem Modulund Versions-Verwirrspiel dieser unterschiedlichen Ansätze ein Ende bereitet. Mit dieser
Version bieten die PHP-Entwickler nun zwei
Lösungsansätze für XML-Probleme.
Auf der einen Seite wurde die sehr mächtige
und umfangreiche libXML2 komplett überarbeitet, neu strukturiert und direkt in PHP integriert.
Dies bedeutet, dass diese XML-Funktionen fester Bestandteil von
PHP geworden sind.
Auf der anderen Seite wurde für die alltägliche Arbeit mit XML
eine Erweiterung geschaffen, die einfach zu erlernen und zu nutzen ist: SimpleXML. Diese Erweiterung soll im Folgenden näher
beleuchtet werden.
Einfach lesen
SimpleXML zielt darauf ab, die Inhalte eines XML-Dokumentes
möglichst effizient in einer Baumstruktur abzubilden und die Inhalte auf diese Art und Weise zur Verarbeitung anzubieten (DOMAnsatz -> Document Object Model). Was bedeutet das genau?
Schauen wir uns einfach mal Abbildung 1 an. Listing 1 zeigt ein
einfaches XML-Dokument (mitarbeiter.xml), Listing 1a das PHPObjekt, das SimpleXML daraus erstellt.
Das beschriebene Dokument besitzt zwei Knoten (mitarbeiter),
die ihrerseits wiederum vier Elemente (name, vorname, firma, geschaeftsstelle) beinhalten. Zusätzlich wurde das Element „name“
um das Attribut „id“ erweitert, das die Mitarbeiternummer beinhaltet.
Ziel der SimpleXML-Erweiterung ist es, diese strukturiert hinterlegten Informationen aus dem XML-Dokument in ein PHP-Objekt
zu überführen, um somit dem Programmierer einen möglichst eleganten und vor allem gewohnten Zugriff zu gewährleisten. Um
dies zu tun, muss das XML-Dokument über einen Funktionsaufruf
gelesen werden (Listing 2).
<?xml version=“1.0“ encoding=“ISO-8859-1“ ?>
<personal>
<mitarbeiter>
<name id=“50“>Jung</name>
<vorname>Matthias</vorname>
<firma>ORDIX AG</firma>
<geschaeftsstelle>Wiesbaden</geschaeftsstelle>
</mitarbeiter>
<mitarbeiter>
<name id=“1“>Kögler</name>
<vorname>Wolfgang</vorname>
<firma>ORDIX AG</firma>
<geschaeftsstelle>Paderborn</geschaeftsstelle>
</mitarbeiter>
</personal>
Listing 1: Auszug aus dem XML-Dokument
„mitarbeiter.xml“, das strukturiert Aufschluss über
den Personalbestand der Firma ORDIX gibt.
object(SimpleXMLElement)#1 (1) {
[“mitarbeiter“]=>
array(2) {
[0]=>object(SimpleXMLElement)#2 (4) {
[“name“]=>string(4) “Jung“
[“vorname“]=>string(8) “Matthias“
[“firma“]=>string(8) “ORDIX AG“
[“geschaeftsstelle“]=>string(9) “Wiesbaden“
}
[1]=>object(SimpleXMLElement)#3 (4) {
[“name“]=>string(7) “Kögler“
[“vorname“]=>string(8) “Wolfgang“
[“firma“]=>string(8) “ORDIX AG“
[“geschaeftsstelle“]=>string(9) “Paderborn“
}
}
}
Listing 1a: Im PHP-Objekt spiegelt sich die Struktur des
XML-Dokuments wieder. Man beachte die Kodierung des
Sonderzeichens „ö“ im Namen „Kögler“.
Abb. 1: Gegenüberstellung des XML-Dokuments und dem PHP-Objekt zur Verdeutlichung der strukturellen Ähnlichkeit.
5
Java/XML
<?
$data = simplexml_load_file(‘mitarbeiter.xml’);
print utf8_decode($data->mitarbeiter[1]->vorname).“\n<br>“;
print utf8_decode($data->mitarbeiter[1]->name).“\n<br>“;
?>
Listing 2: Zugriff auf die Elemente in PHP.
<?
print utf8_decode($data->mitarbeiter[1]->name[‘id’]).“\n<br>“;
?>
Listing 3: Attribute eines Elements werden über ein Array zur Verfügung
gestellt.
<?
$id=mysql_connect(“localhost“, “root“, “root“)
or die(“Fehler“); // DB-Verbindung aufbauen
mysql_select_db(“stammdaten“, $id); // DB auswählen
$result=mysql_query
(“SELECTid,name,vorname,firma,geschaeftsstelle FROMmitarbeiter“);
// Daten abfragen
$doc = “<personal>“;
while ($row=mysql_fetch_array($result, MYSQL_BOTH))
// Ergebnismenge zeilenweise durchlaufen
{
$doc .= “
<mitarbeiter>
<name id=\““.$row[‘id’].“\“>“.$row[‘name’].“</name>
<vorname>“.$row[‘vorname’].“</vorname>
<firma>“.$row[‘firma’].“</firma>
<geschaeftsstelle>“.$row[‘geschaeftsstelle’].“</geschaeftsstelle>
</mitarbeiter>“;
}
$doc .= “</personal>“;
$doc = utf8_encode($doc); // UTF-8 konform konvertieren
$xml = simplexml_load_string($doc); // XML-Dokument erzeugen
echo $xml->asXML(); // XML-Dokument ausgeben
?>
Listing 4: Das Erstellen eines XML-Dokumentes ist recht simpel. Auch hier
ist beim Speichern an die UTF-8 Kodierung zu denken.
<?
$data = simplexml_load_file(‘test.xml’);
$data ->mitarbeiter[0]->geschaeftsstelle=’Hamburg’;
// Änderungen eines Elementes
$data ->mitarbeiter[0]->geschaeftsstelle[‘buero’]=’Raum1';
// Hinzufügen eines Attributes
$data ->mitarbeiter[0]->bundesland=’Hamburg’;
// Funktioniert leider nicht, da dieses Element im
// XML-Dokument nicht definiert war und damit
// nicht Bestandteil der Objektstruktur ist.
echo $data->asXML();
// Gibt das veränderte XML-Dokument erneut aus.
?>
Listing 5: Daten modifizieren – Elemente und Attribute lassen sich sehr
schnell anpassen.
6
Simplexml_load_file(FILE) ist die
Funktion, die das angegebene XML-Dokument einliest und dessen Inhalte in
dem Objekt $data für die weitere Verarbeitung zur Verfügung stellt. Die beiden
Print-Funktionen geben in diesem Fall
den Vornamen und Namen des zweiten
Mitarbeiters aus.
Wie auch in anderen Programmiersprachen üblich, beginnt die Zählweise der
Knoten bei 0. Für die Konvertierung der
Inhalte von UTF-8 nach ISO-8859-1 sorgt
die Funktion utf8_decode(). Obwohl
das XML-Dokument bereits die entsprechende Kodierung besaß, ist das Ausführen dieser Funktion notwendig, da die
Funktion simplexml_load_file(FILE)
für ihre Ausgaben standardmäßig UTF8 nutzt. Sonderzeichen (z. B. Umlaute)
werden ohne dieses Vorgehen nicht richtig dargestellt. Mögliche Attribute eines
Elementes werden in Form eines Arrays
geliefert, so dass für die Ausgabe des Attributes „Personalnummer“ die in Listing
3 gezeigte Anweisung genutzt werden
muss.
Einfach schreiben
Natürlich kann PHP nicht nur XML-Code
lesen, sondern auch schreiben. Als Programmierer muss man nur dafür Sorge
tragen, dass die gewünschten Informationen, die als XML ausgegeben werden
sollen, entsprechend der allgemein gültigen XML-Syntax formatiert sind. Listing
4 zeigt ein Beispiel, das aus einer MySQL-Tabelle (mitarbeiter) ein XML-Dokument erzeugt.
Es können jedoch nicht nur neue Dokumente erzeugt, sondern auch bestehende Dokumente verändert werden. Veränderung bedeutet, dass SimpleXML
bestehende Elemente und Attribute mit
neuen Werten belegen kann. Ein kleiner Wermutstropfen ist die Tatsache,
dass lediglich neue Attribute hinzugefügt
werden können. Eine Erweiterung um
Knoten oder Elemente ist auf diese Art
und Weise (momentan) nicht zu bewerkstelligen (siehe Listing 5).
XML für einfach alles?
SimpleXML ist sicherlich geeignet, um
vielen (Web-)Entwicklern das tägliche
Leben zu erleichtern. Mit keiner anderen Erweiterung lassen sich die Daten
aus XML-Dokumenten so schnell und
komfortabel extrahieren und weiterver-
Java/XML
arbeiten. Sicherlich wird dem einen oder anderen „XML-Heavy-User“ der Funktionsumfang nicht genügen. Dieser sollte sich dann
eher der nun komplett überarbeiteten und umfangreicheren libXML2 zuwenden.
Die Einarbeitungszeit und Nutzung dieser Erweiterung ist jedoch deutlich aufwändiger und
bringt nur in extremen Anwendungssituationen, wie z. B. der Erstellung und Validierung von komplexen XML-Dokumenten, einen
deutlichen Mehrwert.
Matthias Jung ([email protected]).
Seminarvorstellung: PHP 5 New Features
Der Teilnehmer lernt die neuen Technologien
von PHP 5 kennen und anzuwenden.
Dauer: 3 Tage
Kursgebühr/Teilnehmer: 920 € zzgl. MwSt.
Zielgruppe
Seminarinhalte
Web-Designer, Internet- und Intranet-Entwickler, die ihre Web-Seiten dynamisch gestalten
wollen.
•
Objektorientierung in PHP 5
•
SimpleXML
•
DOM
•
Neuerungen bei der MySQL-Unterstützung
•
SQLite
•
Neue Funktionen
•
GD2
•
Übungen zu allen Punkten
Voraussetzungen
Gute HTML-Kenntnisse, idealerweise die Inhalte aus dem Seminar „Web-Design mit HTML“.
Gute PHP-Kenntnisse, idealerweise die Inhalte aus dem Seminar „Web-Design mit PHP“.
Termine: auf Anfrage
Workshop-Vorstellung:
Konzeptionierung und Entwicklung einer E-Commerce Lösung mit PHP
In diesem Workshop werden Sie ein komplettes, auf einem Datenbanksystem basiertes
Shop-System aufsetzen. Als Basis wird Public
Domain Software (Apache, MySQL) eingesetzt. Exemplarisch wird ein Online-Buchhandel aufgesetzt.
Zielgruppe
Web-Designer, Internet-/Intranet-Entwickler.
Dauer: 3 Tage
Kursgebühr/Teilnehmer: 920 € zzgl. MwSt.
Seminarinhalte
•
Planung des Datenbankmodells
•
Vorgehensweisen zum strukturierten Programmieren
•
Datenbankbasierte hierarchische Menüs
•
Möglichkeiten zur Realisierung von Mehrsprachigkeit
Voraussetzungen
•
Warenkorbmanagement
PHP-Kenntnisse, vorzugsweise Besuch des
Seminars „Web-Design mit PHP“.
•
User-Identifizierung über Login-Verfahren
•
Intelligente Suchmechanismen
•
Zahlungssysteme im Überblick (E-Payment vs. Nachnahme)
Termine
29.11.
31.01.
09.05.
08.08.
02.11.
- 01.12.2004
- 02.02.2005
- 11.05.2005
- 10.08.2005
- 04.11.2005
in
in
in
in
in
Wiesbaden
Wiesbaden
Wiesbaden
Wiesbaden
Wiesbaden
Der Hauptanteil des Workshops besteht aus ausführlichen Arbeiten am System. Am Ende des Workshops werden Sie einen fertig
erstellten Shop entwickelt haben.
7
Datenbanken
RMAN-Integration in Backup-Tools (Teil II):
Im Einklang mit Veritas NetBackup
und HP DataProtector
In der letzten Ausgabe der ORDIX News haben wir die Integration des Oracle Recovery Managers (RMAN) in
die Backup Werkzeuge Legato NetWorker und Tivoli Storage Manager betrachtet. In dieser Ausgabe werden
wir uns mit der Einbindung einer RMAN-gestützten Sicherung in Veritas NetBackup und HP DataProtector
beschäftigen.
Neben den rein technischen Aspekten sprechen wir auch über unsere Erfahrungen aus Backup Projekten. Den Schluss des Artikels
bildet ein Vergleich der besprochenen Backup Tools im Hinblick auf
die Integration einer Oracle Datenbank Sicherung mit RMAN.
gesetzt. Als Policy Type wird Oracle eingegeben. Im nächsten Schritt trägt man den Namen des Clients ein und anschließend werden alle Vorgaben übernommen.
RMAN und NetBackup
Ähnlich gestaltet sich das Ausführen eines
ersten Backups. Dazu wird die NetBackup GUI
auf dem NetBackup Client, also dem Datenbank Server, aufgerufen. Dort lässt sich wiederum ein Wizard starten, der dem Anwender
eine adhoc-Sicherung ermöglicht.
Ähnlich wie mit NetWorker und TSM beschrieben, gliedert sich
die Inbetriebnahme einer Oracle Sicherung mit NetBackup in unterschiedliche Teilschritte:
1. Installation und Link einrichten
Die Installation läuft über eine Installationsroutine, die auf den
entsprechenden Plattformen sowohl die 32 Bit als auch die 64 Bit
Version der Software installiert.
Das Linken der installierten Shared Library mit dem Oracle Binary
kann mit zwei unterschiedlichen Varianten erfolgen. Die erste –
und sicherlich einfachere Möglichkeit – ist der Aufruf des Skripts
oracle_link. Dieses ermittelt die Oracle Version und führt die
Installation und das Linken automatisch durch. Die zweite Möglichkeit ist das Linken auf konventionellem Weg, also je nach Oracle Version ln –s oder make.
2. Konfiguration
Die vollständige Konfiguration einer Oracle Datenbank Sicherung
ist „Wizard-gesteuert“ möglich.
Zunächst wird in der Administrations-Konsole eine neue Policy
angelegt. Dabei wird der Backup Policy Configuration Wizard ein-
NetBackup
for Oracle
NetBackup
Client
NetBackup
Master Server
Abb. 1: Zusammenspiel der Komponenten bei RMAN und NetBackup.
8
Backup-Skripte können entweder über einen
Wizard erzeugt werden oder man verwendet
mitgelieferte Beispiel-Skripte. Der aus RMAN
Sicht interessante Teil sieht beispielsweise wie
in Abbildung 2 aus.
Im Gegensatz zu den anderen Backup Tools
werden beim ALLOCATE CHANNEL nicht zwingend Parameter übergeben. Stattdessen kann
die Konfigurations-Datei bp.conf verwendet
werden. Hier können beispielsweise folgende Umgebungsvariablen gesetzt werden:
•
NB_ORA_POLICY
zum Setzen der NetBackup Policy
•
NB_ORA_SCHED
für den passenden Schedule
•
NB_ORA_SERV
legt fest, mit welchem NetBackup Server
die Daten gesichert werden.
RUN {
ALLOCATE CHANNEL ch00 TYPE ‘SBT_TAPE’;
BACKUP
$BACKUP_TYPE
SKIP INACCESSIBLE
TAG hot_db_bk_level0
FILESPERSET 5
FORMAT ‘bk_%s_%p_%t’
DATABASE;
sql ‘alter system archive log current’;
RELEASE CHANNEL ch00; }
Abb. 2: Beispiel-Skript für ein Backup mit NetBackup.
Datenbanken
Im Weiteren wird in dem Beispiel-Skript aus
Abbildung 2 die Variable BACKUP_TYPE verwendet. Darüber wird gesteuert, ob es sich
z. B. um eine Vollsicherung oder eine inkrementelle Sicherung handelt. Dazu wird die
Variable BACKUP_TYPE innerhalb des Backup Skripts vorbelegt.
Oracle
Integration
Disk Agent
RMAN und DataProtector
Die Installation und das Einrichten des Links
sind ähnlich wie bei den anderen Tools und
werden von uns hier nicht weiter beschrieben.
DataProtector
Server
Integration und Skripte
Die Backup Skripte bei HP DataProtector liegen nicht auf dem Datenbank Server, sondern
werden innerhalb der Backup Software auf
dem DataProtector Server gespeichert. Von
dort aus wird das jeweilige Skript zu Beginn
der Sicherung auf den Datenbank Server kopiert und ausgeführt.
Vom Backup Startfenster aus gelangt man
über Backup -> Backup Specifications ->
Oracle Server -> Add Backup in eine GUI, über
die die Backup Skripte angelegt werden. Es
bietet sich an, eines der angebotenen Templates als Basis zu nutzen. Ein fertiges Skript
könnte dann die in Abbildung 4 gezeigte Form
haben.
Die Einschränkung des Parameters filesperset
1 ist durch HP vorgegeben.
Natürlich lässt sich das Backup einer Oracle
Datenbank mit HP DataProtector auch vom
Datenbank Server aus anstoßen. Das Skript
dazu finden Sie in Abbildung 5.
Es entspricht damit, abgesehen von den beiden connect Strings, dem DataProtector-basierten Aufruf. Damit lassen sich Oracle Backups mit DataProtector in ein unternehmensweites Scheduling Tool einbinden.
Abb. 3: Zusammenspiel der Komponenten bei RMAN und DataProtector.
run {
allocate channel oracle_online type ‘sbt_tape’
parms’ENV=(
OB2BARTYPE=Oracle,
OB2APPNAME=<SID>,
OB2BARLIST=Oracle_<sid>_online)’;
backup
filesperset 1
database format ‘%d_%s:%t:%p’;
release channel oracle_online;
}
Abb. 4: Beispiel-Skript für die Sicherung mit HP DataProtector.
connect target <usr>/<pwd>@<target-alias>
connect catalog <usr>/<pwd>@<catalog-alias>
run {
allocate channel oracle_online type ‘sbt_tape’
parms’ENV=(
OB2BARTYPE=Oracle,
OB2APPNAME=<SID>,
OB2BARLIST=Oracle_<sid>_online)’;
backup
filesperset 1
database format ‘%d_%s:%t:%p’;
release channel oracle_online;
}
Fazit
Abb. 5: Beispiel-Skript für die Sicherung mit HP DataProtector auf
dem Datenbank Server.
Grundsätzlich kann man festhalten, dass sich
alle derzeit im Oracle Backup-Umfeld gestellten Aufgaben über alle vier vorgestellten Tools
lösen lassen.
Der administrative Aufwand bei Verwendung von TSM ist höher
als bei den anderen Tools, da je Datenbank Backup mehrere Skripte erstellt werden müssen.
Der Ansatz bei NetWorker, DataProtector und
NetBackup ist sehr ähnlich. Sicherlich gibt es
Unterschiede bei Dingen wie Wizards o. ä., aber
im Rechenzentrumsbetrieb sind eigentlich eher
Skripte gefragt, weil sie sich leicht verteilen
und modifizieren lassen. Damit ist der Konfigurationsaufwand für die drei vorgenannten
Backup Tools als gleichwertig einzustufen.
Alle betrachteten Produkte bringen einen eigenen Scheduler mit,
der beim TSM auf dem Backup Client und bei den anderen auf
dem Backup Server läuft. Die Einbindung aller Tools in einen zentralen Scheduler wie Control-M, UC4 oder RedWood JCS ist
ebenfalls möglich.
Andreas Kother ([email protected]).
9
Unix/Linux/Open Source - Titelthema FlexFrame
FlexFrame –
die SAP/R3-Lösung out of the Box
Soll in einem Unternehmen SAP eingeführt werden, so gilt es, unzählige Fragestellungen zu klären. Neben
den aus Unternehmenssicht relevanten Fragestellungen bezüglich der SAP-Software und den damit verbundenen Abhängigkeiten im Unternehmen selbst, muss zusätzlich noch ein Konzept erarbeitet werden, wie die
Basis-Plattform auszusehen hat.
Entscheidungen über Hardware, das zugehörige Betriebssystem und die Datenbank müssen getroffen werden. Ausfallsicherheit und Skalierbarkeit sind dabei häufig gestellte Anforderungen. Einfache Wartbarkeit
und einheitliche Bedienbarkeit werden vorausgesetzt. Das Produkt FlexFrame stellt sich diesen Anforderungen.
Der Ursprung
Die Software
FlexFrame wurde von Fujitsu Siemens Computers in Zusammenarbeit mit SAP und Network Appliance entwickelt. Es adressiert
neue SAP-Einführungen, in denen die oben genannten Anforderungen realisiert werden sollen.
Sämtliche Systeme basieren auf Suse Linux
(SLES 8). Die Hochverfügbarkeit der Control
Nodes wird durch Primecluster erreicht. Durch
myAMC.FA werden die einzelnen Applikationen überwacht. Hinzu kommt die SAP/R3 Software und eine geeignete Datenbank, beispielsweise Oracle.
Die grundlegende Funktion
Das System besteht aus 2 Control Nodes (Steuerungsrechner),
einem Network Appliance Filer, auf dem sämtliche Daten liegen
und beliebig vielen Application Nodes, auf denen die einzelnen
SAP-Instanzen gestartet werden.
Die Application Nodes beziehen ihre Daten inklusive des eigenen
Kernels und des Betriebssystems aus dem Netz. Die IP-Adresse
und Lage des Kernels liefern DHCP bzw. TFTP Server, die hochverfügbar auf den Control Nodes laufen. Filesysteme werden mittels NFS direkt vom NetApp Filer gemounted.
Der Application Node ist somit in der Lage, das zentral liegende
Betriebssystem zu Booten.
Mittels spezieller Agenten werden auf den Application Nodes die
notwendigen SAP-Instanzen gestartet und überwacht. Sollte ein
Application Node ausfallen, so wird die fehlende Instanz auf einem anderen System aktiviert. Da die Daten für alle Nodes erreichbar auf einem Filer liegen, ist dies problemlos möglich.
FlexFrame Umgebung
Clients
Server LAN
Public LAN
Application Node
Application Node
Abb. 1: Das Netzwerk.
10
Control
Control
Control
Nodes
Nodes
Nodes
Die Application Server, auf denen die SAPInstanzen laufen, werden über ein Public LAN
von den SAPGUIs der Anwender erreicht.
Für die Kommunikation der SAP-Instanzen untereinander ist ein separates Netz vorgesehen, welches nicht von außen erreichbar sein
muss. Da in einer FlexFrame Lösung die Application Server alle Daten auf einem Filer liegen haben, wird zusätzlich noch ein StorageNetzwerk benötigt (siehe Abbildung 1).
Filer
Die IP-Adressen
Application Node
Application Node
Das Netzwerk
Das Storage- und Servernetz kann für Testumgebungen bzw. für Installationen, die wenig Datendurchsatz benötigen, zusammengelegt werden.
Storage LAN
SAPGUI
SAPGUI
SAPGUI
(Clients)
SAPGUI
SAPGUI
(Clients)
SAPGUI
SAPGUI
(Clients)
SAPGUI
SAPGUI
(Clients)
SAPGUI
SAPGUI
(Clients)
SAPGUI
(Clients)
Für höhere Leistung der Application Nodes
(z. B. für die Datenbank-Instanz) sollen Application Nodes in naher Zukunft auch unter Solaris betrieben werden können. Dies ermöglicht den Einsatz der Primepower Systeme.
Jeder Rechner hat im Server-, im Storage- und
im Public-LAN feste IP-Adressen. Diese werden unter anderem dafür genutzt, den Kernel
zu laden und die Filesysteme zu mounten (siehe Abbildung 2). Alle Anforderungen auf Betriebssystemebene werden über diese statischen Adressen abgewickelt.
Unix/Linux/Open Source
Die SAP-Instanzen wiederum sind so installiert, dass jede ihre eigenen IP-Adressen und
ihren eigenen Nodenamen besitzt. Damit jede
SAP-Instanz prinzipiell auf jedem Application
Node gestartet werden kann, wird vor dem
tatsächlichen Start einer SAP-Instanz in dessen Umgebung der Nodename umgestellt und
die entsprechende IP-Adresse auf dem ZielApplication-Node konfiguriert. Diese virtuellen
IP-Adressen werden von den SAP-Instanzen
und von den Clients (SAPGUIs) verwendet.
Eine bestimmte SAP-Instanz ist immer über
dieselbe IP-Adresse zu erreichen, egal, auf
welchem physikalischen Rechner sie gerade
läuft.
Auch auf den Control Nodes befinden sich
neben den physikalischen zusätzlich noch virtuelle IP-Adressen, um ebenfalls die angebotenen Dienste hochverfügbar zu halten. Für
die Verfügbarkeit dieser Dienste (TFTP-Server, DHCP-Server ...) wird die Hochverfügbarkeitssoftware RMS eingesetzt.
Virtuelle Adressen der Instanz zugeordnet
Statische Adressen dem Rechner zugeordnet
Der weitere Bootvorgang bietet keine Besonderheiten: /sbin/init wird aufgerufen; /var wird
über NFS gemounted; das Master-ResourceControl Skript (/etc/init.d/rc 5), welches wiederum die RC-Skripte des entsprechenden
Runlevels startet, wird ausgeführt. Abbildung
3 veranschaulicht den Gesamtvorgang noch
einmal.
Die Verwendung von PXE bietet eine hohe
Flexibilität. Die Lage des Root-Filesystems
(NFS-Server mit Verzeichnis) und weitere Systemeigenschaften werden unter PXE konfiguriert und dem Kernel mittels Parameter mitgeteilt.
Zu erwähnen sei noch, dass alle Application
Nodes ein gemeinsames Root-Filesystem nutzen. Dieses ist folglich nur Read-Only gemounted. Die /var-Filesysteme sind jedoch für jeden Application Node separat. Dateien, die
vom System geschrieben werden müssen
oder für jeden Application Node unterschiedlich sind, finden sich im /var-Filesystem und
werden durch Symbolic Links auch im RootZweig zugreifbar gemacht.
Application Node
blade01
Statische
IP-Adresse
Public LAN
Virtuelle
IP-Adresse
Server LAN
Statische
IP-Adresse
Server LAN
Statische IP-Adresse Storage LAN
Abb. 2: Statische und virtuelle IP-Adressen.
BIOS mit
PXE-NetBoot
DHCP-Anfrage
IP-Adresse, TFTP-Server-Adresse
TFTP-Anfrage
PXEBootloader
pxelinux0 (PXE-Boot-Loader)
Definiert:
Lage Root-FS (NFS-Server und Verzeichnis)
weitere Parameter
TFTP-Anfrage
Das Booten
Im BIOS des Application Servers wird PXEBoot als Bootmedium eingestellt. PXE steht
für Preboot Execution Environment und entspricht einem Bootloader. PXE lädt den Kernel
und eine für Linux typische initrd (initial RAMDisk). Netzwerktreiber werden geladen und
die IP-Adresse konfiguriert. Das Root-Filesystem wird read-only über NFS gemounted.
SAP-Instanz
cic11
Virtuelle
IP-Adresse
Public LAN
Kernel & initrd
Kernel
mit initrd
Kernel
mit /-FS
Lädt Netzwerktreiber,
anschließend mount von / über NFS
Normaler Systemboot:sbin
/ / init, ...
NFS
Abb. 3: Bootvorgang Application Node.
Die eigentliche Intelligenz
Durch den beschriebenen Bootvorgang sind alle Application Nodes
in der Lage, mit dem zentral verwalteten Betriebssystem zu booten.
Ziel ist, darüber hinaus die unterschiedlichen SAP-Instanzen auf
den Systemen zu verteilen. Dazu läuft auf jedem Application Node
ein eigens für FlexFrame entwickelter Agent namens „myAMC
Application Agent“. Auf dem Control Node läuft (wiederum hochverfügbar) der „myAMC Control Agent“. Alle myAMC-Agenten nutzen dasselbe NFS-Filesystem.
Über regelmäßige Statuseinträge der Application Agents kennt der
Control Agent den Zustand der Application Agents und der zugehörigen Applikation.
Stellt der Application Agent fest, dass seine Applikation nicht mehr
läuft, so kann er sie neu starten. Gelingt ihm das nicht, wird er sie
an einen anderen Application Node abgeben.
Ist der Application Node komplett ausgefallen, bleiben die Statusmeldungen auf dem NFS-Filesystem aus. Der Control Node reagiert, indem er die fehlende Applikation auf einem anderen Application Node starten lässt.
Markus Schreier ([email protected]).
11
Datenbanken - Titelthema IBM IDS 9.40
Reihe IBM Informix Dynamic Server 9.40 (Teil V):
Externe Authentifizierung
Die Authentifizierung z. B. mittels LDAP ist eine in Unternehmen sehr häufig eingesetzte Methode. Aber wie
sieht das mit meiner IBM Informix Datenbank aus? Da gibt´s doch „nur“ die Authentifizierung über das Betriebssystem? Muss ich also trotzdem meine Accounts auf Betriebssystemebene weiter pflegen? Nein! Denn
ab IBM Informix 9.4 geht´s auch anders – Dank PAM.
PAM
Die externe Authentifizierung war in bisherigen IBM Informix Releases nicht möglich. Die einzige Möglichkeit war die Authentifizierung über das Betriebssystem (Systemcalls/passwd) oder mittels
„trusted“ Host (/etc/hosts.equiv). Ab dem aktuellen Release
besteht die Möglichkeit der externen Authentifizierung mittels PAM.
Basics
PAM steht für Pluggable Authentication Module (1995 von SUN
Microsystems entwickelt) und besteht aus einer Ansammlung von
Shared Librarys. Für die folgenden Authentifizierungsmethoden
stehen u. a. PAM Module zur Verfügung:
•
•
•
•
•
•
Der Vorteil von PAM ist, dass der IBM Informix
Datenbank Server nichts über den eigentlichen Authentifizierungsprozess wissen muss.
Es werden lediglich generische PAM Funktionen aufgerufen.
Funktionsweise/Konfiguration
Die Konfiguration der PAM Authentifizierung
wird wie bei der Encryption über die SQLHOSTS implementiert. Die 5. Spalte der SQLHOSTS entscheidet, welche PAM Konfigurationsdatei (Modul) und somit welche Authentifizierungsmethode zum Einsatz kommt.
Im Folgenden wird die Konfiguration von PAM
unter Linux beschrieben. Das bedeutet, dass
die Verzeichnispfade und die Konfiguration
von anderen Unix-Derivaten leicht abweichen
können.
LDAP
Kerberos
MD5
Fingerprint
Unix (Shadow)
etc.
Der Connect zur Datenbank
Der Connect Aufbau unterscheidet sich im
Wesentlichen nicht von einem herkömmlichen
Connect Aufbau. Der Unterschied besteht in
der Authentifizierungsmethode. Standardmäßig wird die Authentifizierung mittels Systemcalls (getpw/passwd) durchgeführt. Dabei werden Mechanismen, wie „veraltetes Passwort“
etc., berücksichtigt und führen gegebenenfalls
zur Ablehnung des Connects.
Abb. 1: Authentifizierung mittels PAM.
Position Parameter
Beschreibung
Wert
1
Modul Typ
Aufgabe des Moduls
auth, account, session,
password
2
Control Flag
Reaktion auf
Rückgabewert
required, requisite,
sufficient, optional
3
Module/Pfade Angabe PAM Modul
je nach AuthentifizierungsMethode
4
Argumente
je nach PAM Modul
Angabe von
Argumenten des
entspr. PAM Moduls
Abb. 2: Aufbau der PAM Konfigurationsdatei.
12
Bei der externen Authentifizierung wird innerhalb des sqlexec Threads (User Thread) die
PAM Authentifizierung (ifxPAMAuthentication)
durchgeführt (vgl. Abbildung 1). Dieses „stößt“
den eigentlichen Authentifizierungsprozess
(pam_start) an. Im Anschluss wird überprüft,
ob der User auch wirklich „der“ ist, der er vorgibt „zu sein“ (pam_authenticate Library).
#%PAM-1.0
# PAM Config
# Config – Name: informix
# Typ Flag
Module
auth required pam_ldap.so
Options
debug
Abb. 3: Beispiel einer PAM Konfigurationsdatei
(z. B. /etc/pam.d/informix).
Datenbanken
#Default sqlhosts file for running demos.
#
#*****************************************************************************
ifx94fc4_p onsoctcp trainix ifx94fc4_p s=4,pam_serv=informix,pamauth=(password)
Abb. 4: PAM Konfigurationsbeispiel in der SQLHOSTS.
Der PAM-Aufruf (ifxPAMAuthentication) gibt
lediglich ein „accept“ oder ein „reject“ als Ergebnis zurück.
PAM Konfiguration
Die installierten bzw. zur Verfügung stehenden PAM Module sind im Verzeichnis /lib/
security hinterlegt. Die entsprechenden
Konfigurationsdateien befinden sich im Verzeichnis /etc/pam.d und können für jede Anwendung spezifisch erstellt werden. Für alle
anderen Programme steht die Konfigurationsdatei /etc/pam.d/other zur Verfügung.
Die PAM Konfigurationsdatei unterliegt dem
in Abbildung 2 gezeigten Aufbau.
Modul-Typen
Die Modul-Typen, auch PAM Interfaces genannt, unterscheiden verschiedene Authentifizierungsstufen. Hierbei werden die folgenden Einträge ausgewertet:
•
•
•
•
auth: Authentifizierung, z. B. Informix Login
Benutzer/Passwort
session: Setup & Logging, z. B. Umgebungsvariablen setzen
account: Policies
password: Passwortregeln/-komplexität
Abb. 5: Zusammenspiel der einzelnen Komponenten.
create table “informix“.sysauth
(
username char(32),
groupname char(32),
servers char(128),
hosts char(128)
);
Abb. 6: Aufbau der SYSAUTH Tabelle.
Control-Flag
Argumente
Jeder Authentifizierungsvorgang kann aus einem oder auch mehreren Modultypen/Interfaces bestehen (z. B. zuerst Authentifizierungsversuch mittels LDAP, bei „Reject“ dann Authentifizierung mittels des Betriebssystems).
Die Abarbeitung erfolgt sequenziell. Was bei
einem gescheiterten bzw. bei einem „korrekten“ Authentifizierungsversuch geschieht, entscheidet das Control-Flag. Hier sind die folgenden Einstellungen erlaubt:
•
•
•
requisite: Bei Reject wird der Authentifizierungsvorgang abgebrochen.
required: Bei Reject wird der Authentifizierungsvorgang abgebrochen, jedoch
wird noch der nächste „Eintrag“ der PAM
Konfigurationsdatei gelesen.
sufficient: Bei Accept wird kein weiterer
„Eintrag“ der PAM Konfigurationsdatei gelesen.
Viele Module unterstützen den Aufruf mit Argumenten, z. B. den
Parameter „debug“ (Schreiben von Debug-Informationen ins Message Log File, z. B. /var/log/messages).
Abbildung 3 zeigt eine typische Authentifizierung (z. B. für Informix)
mittels LDAP.
PAM-Informix Konfiguration
In Abbildung 4 ist die bereits erwähnte PAM-Informix Konfiguration in der SQLHOSTS zu sehen.
In der 5. Spalte der SQLHOSTS können folgende Konfigurationswerte eingestellt werden:
s=4
s=6
pam_serv
pamauth
Æ
Æ
Æ
Æ
Externe Authentifizierung
Externe Authentifizierung für Replikation (CDR)
Name der PAM Konfigurationsdatei
PAM Authentication password/challenge
13
Datenbanken
SQL: New Run Modify Use-editor
Run the current SQL statements.
Output
Choose
Save
Info
Drop
Exit
--------- sysuser@ifx94fc4_p ------- Press CTRL-W for Help ---------------insert into sysauth values (“informix“,“dba“,“ifxordix“,“halix“);
SQL: New Run Modify Use-editor
Run the current SQL statements.
Output
Choose
Save
Info
Drop
Exit
--------- sysuser@ifx94fc4_p ------- Press CTRL-W for Help ---------------username
informix
groupname dba
servers
ifxordix
hosts
halix
Abb. 7: Inhalt der SYSAUTH Tabelle.
Betriebssysteme
Client APIs
unterstützte IBM Informix Tools
o
o
o
o
o
o
o
o
o
o
o
Solaris 32 Bit/64 Bit
Linux 32 Bit/64 Bit
AIX 32 Bit
HP-UX 32 Bit
ESQL/C
ODBC
JDBC
dbaccess
dbexport/dbimport
dbload
dbschema (neue Optionen)
MIXSERVER ifxordix, der auf dem Server halix
liegt, einen „remote“ Zugriff auf die Instanz
ifx94fc4 (Server = trainix) durchführen. Wurde sonst in den Dateien /etc/hosts.equiv
bzw. ~informix/.rhosts auf dem Rechner
trainix nachgesehen, wird jetzt die Datenbank
sysusers (Tabelle SYSAUTH) des INFORMIXSERVERS ifx94fc4 auf dem Rechner trainix
„befragt“. Dies benötigt auf beiden Seiten die
dementsprechende Informix Version!
Abb. 8: Die Software Voraussetzungen ab IBM Informix 9.40U/FC2.
Software Voraussetzung
Abbildung 5 zeigt dann das Zusammenspiel von SQLHOSTS,
PAM-Konfigurationsdatei (in diesem Beispiel mit dem Namen
„informix“) und der PAM-Library.
Für den Einsatz der beschriebenen Technologien werden die in Abbildung 8 genannten
Betriebssysteme, Client APIs und Tools vom
IBM Informix (ab 9.40U/FC2) für die externe
Authentifizierung mittels PAM unterstützt.
Remote „Zugriff“
Fazit
Für den Zugriff auf Remote Objekte (Tabellen, Views, ...) waren
bisher immer entweder ein Eintrag in der /etc/hosts.equiv
oder der .rhosts des jeweiligen Benutzers notwendig (Trusted
Host). Damit man auch weiterhin auf Remote Objekte zugreifen
kann, ohne dieses für Sicherheitsexperten gefährliche Loch zu
nutzen, gibt es ab dem Release 9.40 eine neue Systemdatenbank
„sysuser“.
In dieser Datenbank gibt es nur eine „Anwender“-Tabelle: SYSAUTH.
Der Aufbau dieser Tabelle ist in Abbildung 6 zu sehen.
Mit Hilfe dieser Tabelle wird der Zugriff „remote“ gesteuert. Hierfür
müssen die folgenden Informationen eingetragen werden:
•
•
•
•
Welcher User darf auf diese Datenbank von einem anderen
System zugreifen?
Zu welcher Gruppe gehört dieser User?
Informix Server Name des „entfernten“ Systems?
Von welchem Host (Rechnernamen) wird der Zugriff durchgeführt?
Abbildung 7 zeigt einen entsprechenden Eintrag in der SYSAUTH
Tabelle. In diesem Beispiel darf der Benutzer informix vom INFOR-
14
Die externe Authentifizierung mittels PAM ist
ein sehr nützliches Feature, welches in der
Praxis sicherlich Verwendung findet. Wie bei
der Encryption stehen der „modulare“ Aufbau,
die „einfache“ Konfiguration und die Technologie im Vordergrund. Damit zeichnet sich Informix wieder einmal mehr durch einfache Installation und Konfiguration aus.
In einer der nächsten ORDIX News erhalten
Sie wertvolle Informationen für Ihre tägliche
Arbeit. „IBM Informix: Gründe und Möglichkeiten der Reorganisation“ wird das Thema sein.
Weitere Neuerungen des IBM Informix Dynamic Server 9.4 gibt’s in den darauf folgenden
Ausgaben, sowie bald auch etwas zum IBM
Informix Dynamic Server 9.5 ;-)
Guido Saxler ([email protected]).
Aktuell
Solaris
Automounter
Larry Ratlos: Überwachung
mit dem Automounter?
Larry hat auf seinem Solaris-System den
Automounter entdeckt. Begeistert probiert er
ihn aus und findet viele sinnvolle Einsatzgebiete. Einmal aber treibt er es zu weit und
trägt /usr/bin zur Überwachung per automountd ein. Erschreckt stellt er fest, dass sich
nun keine Kommandos mehr ausführen lassen. Es geht nicht mal mehr ein „ls“!
Helfen Sie Larry, so dass er ohne Reboot aus
der Misere kommt. Nach einem heißen Tipp
seines Kollegen und höchster Konzentration
hat Larry inzwischen schon selbst eine Lösung
gefunden und sagt sich stolz: „Ok, das war
einfach!“
Übermütig überwacht er nun nicht /usr/bin,
sondern /usr mit dem Automounter. Hat er
jetzt noch eine Chance ohne Reboot? Wenn
nein: Wie kann er dann den Reboot durchführen?
Und, oh weh, leider hat Larry dasselbe Problem wie viele Systemadministratoren: Seine erste Lösung war nicht
notiert. Schicken Sie uns also Ihre Lösungen, damit wir die
Dokumentation bei Larry wieder auf den neuesten Stand
bringen.
Senden Sie Ihren Lösungsvorschlag bis zum 20.10.2004
an [email protected]. Larry wird sich wie immer mit einer
kleinen Aufmerksamkeit bei seinen Helfern bedanken
und einige der eingesendeten Lösungen veröffentlichen.
Das Hochverfügbarkeits-Rätsel mit Solaris aus
der ORDIX News 2/2004
Musterlösung
In der letzten ORDIX News musste Larry eine defekte
Platte austauschen. Das System lief problemlos auf
dem zweiten Testspiegel, doch Booten konnte er von
dieser zweiten Platte nicht.
Ratlos, wie so oft, fand Larry auch dieses Mal wieder
viele Helfer. Leider waren die Lösungen aber nicht ganz
so perfekt.
Larry´s Fehler war, dass er vergessen hatte, die Spiegelplatte als 2. Boot-Platte im OBP bekannt zu machen. Dies musste er nachholen. Die 2. Boot-Platte ist
als Alias disk1 definiert.
{ok} setenv boot-device disk disk1
Anschließend kann er das System wieder starten:
{ok} boot disk1
Seminarvorstellung: Tomcat Konfiguration und Administration
Der Teilnehmer lernt, Tomcat zu installieren
und zu konfigurieren. Er ist in der Lage, Engpässe zu erkennen und diese gegebenenfalls
aufzulösen.
Seminarinhalte
•
Überblick GRID-Computing
•
Installation und Konfiguration:
Standalone-Betrieb, Betrieb in verteilten Systemen,
Einbindung in den Apache Server
•
Installation von Web-Applikationen unter Tomcat:
Einbindung von Servlets und Server Pages
•
Betrieb unter hoher Last, Load Balancing
•
Ausführliche Übungen zu allen Themen
Zielgruppe
Systemadministratoren, Entwickler, Programmierer.
Voraussetzungen
Grundlegende IT-Kenntnisse (MS Windows
oder Unix), Kenntnisse im Bereich Web-Server sind von Vorteil.
Dauer: 3 Tage
Kursgebühr/Teilnehmer: 1.090 € zzgl. MwSt.
Termine
11.10. - 13.10.2004
31.01. - 02.02.2005
06.06. - 08.06.2005
29.08. - 31.08.2005
07.11. - 09.11.2005
in
in
in
in
in
Wiesbaden
Wiesbaden
Wiesbaden
Wiesbaden
Wiesbaden
15
Aktuell
Echter Mehrwert
durch Internetauftritt
2 Jahre Online: Vereinfachtes Bestellverfahren, schnellere Abwicklung und präzisere Information der Kunden – so das Fazit der A. + E. Fischer GmbH & Co. KG, knapp zwei Jahre nach der Umstellung ihres Internetauftritts durch die ORDIX AG.
Neues „Gewand“
Verbessertes Ranking in Suchmaschinen
„Neben der generellen Neugestaltung von Design und Struktur
der Seiten soll vor allem der Mehrwert für unsere Kunden gesteigert werden“, lautete damals das Ziel im Hause A. + E. Fischer.
Der Chemie Fach- und Großhändler beauftragte im Juli 2002 die
ORDIX AG mit der Neukonzeption seines Internet-Auftritts.
Im Rückblick ist natürlich auch die Entwicklung
des Projektes in Bezug auf die Präsenz am
Markt interessant. Auffindbarkeit und Akzeptanz
der Seiten http://www.fischer-wiesbaden.de
wurden untersucht.
Und „mehr im Hintergrund“
Zur Erhöhung des Bekanntheitsgrades sollte
das Ranking in den Suchmaschinen verbessert werden. Der frühere Internetauftritt war in
der Referenzsuchmaschine Google mit ungefähr 30 Seiten gelistet. Da bei den alten HTMLSeiten keine Meta-Tags verwendet wurden,
war die themenspezifische Listung der Seiten nicht ausreichend gegeben.
Dem Wiesbadener Unternehmen kam es bei der Neugestaltung
darauf an, sich seinen Kunden ansprechend zu präsentieren und
ihnen zudem über das Internet Zugang zu den Artikelstammdaten
zu verschaffen. Damit sollte gleichzeitig die hausinterne Abwicklung des Bestellverfahrens vereinfacht werden.
Interessenten und Kunden sollten ihre Informationen aus dem
Produktangebot des Chemiehändlers schnell und präzise bekommen und gleich dazu den richtigen Ansprechpartner – was vormals
nicht ohne weitere Nachfragen von Kundenseite möglich war.
Suchbegriff
1
2
3
Listenplatz in Google
Chemiehandel
Chemikalienhandel
Industriechemikalien
5
3
5
Abb. 1: Listenplätze bestimmter Suchbegriffe in der am häufigsten
verwendeten Suchmaschine Google.
Stand der Datenerhebung: 24. Juni 2004
Nach Ablauf der Umstellungsarbeiten hatte
sich dies geändert. Stand 24. Juni 2004 konnte
Google dem Internet-Auftritt des Unternehmens A. + E. Fischer etwa 3.300 Webseiten
zuordnen. Darunter sind etwa 3.150 Produktseiten, mit denen die Webseite themenspezifisch gefunden wird. Das ist eine gute Datenbasis und die Grundlage für die sehr guten
Rankings.
Beispielhaft finden Sie in Abbildung 1 einen
Auszug der Suchbegriffe, die im Vorfeld mit
dem Kunden festgelegt wurden. Die Begriffe
wurden vom Kunden als wichtige Schlüsselwörter definiert, unter denen die Webseite gefunden werden sollte.
4500
Akzeptanz
4000
3500
Auch die Akzeptanz der Seite ist seit dem
Online-Gang Ende 2002 mit einem spürbaren Anstieg der täglichen Zugriffszahlen auf
den ORDIX Server kontinuierlich gewachsen
(siehe Abbildung 2).
3000
2500
2000
1500
1000
Fazit
500
0
07/2003
08/2003
09/2003
10/2003
11/2003
12/2003
01/2004
02/2004
03/2004
04/2004
Abb. 2: Entwicklung der Site-Visits: Seit Projektende haben die monatlichen Zugriffe um bis zu 50 Prozent zugenommen.
16
Mit dem neuen Internetauftritt profitiert das
Unternehmen von einer vereinfachten Abwicklung des Bestellverfahrens. Interessenten können nun ihre Anfragen über das Internet schneller, gezielter und direkt an den zuständigen
Aktuell
on ist im Vergleich zu Ausgaben für klassische Marketingmaßnahmen gut angelegt. Vor
allem, wenn man bedenkt, dass
wir über das Internet nun auch
überregional aktiv sind und so
Neuigkeiten sehr schnell publizieren können.“
Ansprechpartner richten. Das
Ranking in den wesentlichen
Suchmaschinen ist nun ganz
oben und es greifen wesentlich mehr potentielle Kunden
auf die Internetseiten des Chemiegroßhändlers zu.
Kostengünstig
„Besonders zufrieden sind wir
mit dem Service der ORDIX.
Mit dem Projekt realisierte die
A. + E. Fischer GmbH & Co.
Im Vergleich zu anderen Dienstleistern erreiche ich hier jederKG eine kostengünstige und
zeit meinen Ansprechpartner
dennoch sehr umfangreiche
und kann Wünsche oder FraLösung ihrer Anforderungen,
Herr Manuel Fischer-Bothof, Geschäftsführer der
gen schnell klären“ ergänzt Gedie mit Open Source SoftwaA. + E. Fischer GmbH & Co. KG.
schäftsführer Fischer-Bothof.
re durch die ORDIX AG umgesetzt wurden. Die Daten für
Machen Sie sich selbst ein Bild und besuchen Sie die Internetpräden Online-Betrieb können autorisierte Mitarsenz der A. + E. Fischer GmbH & Co. KG unter
beiter des Wiesbadener Unternehmens jetzt
http://www.fischer-wiesbaden.de.
zudem problemlos selbst pflegen.
„Die neue Internetseite wird von unseren Kunden akzeptiert und gerne genutzt“, so das Resümee von Geschäftsführer Manuel FischerBothof. Er erläutert weiter: „Unsere Investiti-
Für Fragen zu den Internet Services der ORDIX AG stehen Ihnen
Herr Matthias Jung und Herr Andreas Winkler gerne zur Verfügung! ([email protected]).
Einladung zur DOAG Konferenz
!
Besuchen Sie ORDIX auf der 17. Deutschen ORACLE Anwenderkonferenz
am 10./11.11.2004 in Mannheim
Auf einer Ausstellungsfläche von über 500 m² erwarten Sie im Mannheimer Congress Center über 40 Aussteller darunter auch ORDIX - die Sie zum Meinungs- und Erfahrungsaustausch an Ihre Stände einladen.
Neben diesem reichhaltigen Angebot werden
von Oracle Mitarbeitern, unabhängigen Oracle
Spezialisten und erfahrenen Anwendern die
vielfältigen Möglichkeiten der Oracle Produkte und Lösungen erläutert. Es erwarten Sie
über 100 praxisnahe Vorträge in parallelen
Tracks.
Schon das 5. Mal in Folge ist ORDIX hier mit
einer Infoinsel und einigen interessanten Vorträgen vertreten:
... und auf dem
DOAG Schulungstag am 12.11.2004
Am 12. November schließt sich der DOAG Schulungstag an.
Schnuppern Sie das ORDIX Know-how in einem Auszug aus
dem sonst 5-tägigen Seminar „Oracle Datenbankadministration
Aufbau“ nun auf dem DOAG Schulungstag als Kompaktkurs.
Melden Sie sich bitte direkt bei der DOAG an (www.doag.org).
•
„Workspace Manager“
Referentin: Beate Künneke
•
„Der Ausführungsplan, das unbekannte Wesen“
Referent: Martin Hoermann
Schauen Sie doch einfach einmal bei unseren Vorträgen, beim Kurs „Partitionierung“ oder am ORDIX Stand im
Erdgeschoss vorbei. Diskutieren Sie mit uns das Thema Oracle. Wir freuen uns auf Ihren Besuch!
Weitere Infos über die DOAG Konferenz finden Sie unter www.ordix.de.
17
Datenbanken - Titelthema IBM DB2 UDB
Neue Reihe DB2 (Teil I):
DB2 UDB „Stinger” Beta
Seit Mai 2004 ist die neueste Version von DB2, die im Moment noch den
Namen Stinger trägt, verfügbar. Als Teilnehmer am „DB2 Stinger Open Beta Program“ haben wir die neue
Version ausgiebig getestet und stellen in diesem Artikel die wichtigsten Neuerungen vor.
Die meisten Neuerungen gab es in den Bereichen Datenbankverwaltung, Performance, Anwendungsentwicklung, Hochverfügbarkeit und Sicherheit.
Datenbankadministration durch Self-Management
Eine Datenbank sieht, hört, schmeckt, riecht und fühlt man nicht.
Sie ist einfach da, verrichtet ihre Arbeit und muss auch nicht administriert werden. Solche Versprechungen haben in der Vergangenheit schon viele Hersteller gemacht. In der Realität hat sich
das bis heute allerdings noch nicht widergespiegelt.
IBM möchte diesem Ziel mit der neuen Version von DB2 wohl
wieder etwas näher kommen und hat einige neue Werkzeuge
entwickelt, die das Administrieren einer DB2 Datenbank vereinfachen und automatisieren sollen.
Der DB2 Design Advisor analysiert eine vorhandene Datenbank
und gibt Hinweise zu Indizes, Materialized Query Tables (MQT),
Multidimensional Clustering Tables (MDC) und der Partitionierung
von Tabellen. Als Basis der Analyse dienen vom Benutzer zu definierende SQL-Statements, die dann gegenüber der Datenbank
ausgeführt werden.
Neu: Der „Maintenance Wizard“
Um den Datenbankadministrator von periodischen Wartungsarbeiten zu befreien, gibt es jetzt den „Configure automatic maintenance wizard“ („Automatische Verwaltung konfigurieren“). In diesem Wizard können Wartungsfenster definiert werden, in denen
es möglich ist, Wartungsarbeiten wie Sicherungen (BACKUP), Defragmentierungen (REORG) und das Aktualisieren der Statistiken
(RUNSTAT) durchzuführen, ohne den laufenden Betrieb zu stören.
Ob es nötig ist, die Kommandos in den definierten Wartungsfenstern auch wirklich auszuführen, wird von DB2 ermittelt. Dadurch werden die entsprechenden Kommandos nur gestartet, wenn es wirklich notwendig ist.
Backup und Recovery
Im Bereich Backup und Recovery gibt es dazu eine weitere Neuerung. So werden die Anzahl der verwendeten Puffer, der Wert für die
Parallelität und die Größe der verwendeten
Puffer ganz automatisch von den Kommandos
BACKUP DATABASE und RESTORE DATABASE ermittelt.
Neben den Verbesserungen im Bereich der
Performance gibt es noch weitere Neuheiten
beim Backup und Recovery. Mit der Option
INCLUDE LOGS ist es möglich, bei einer Online-Sicherung die zum Wiederherstellen der
Datenbank benötigten Logdateien in das Sicherungsimage zu integrieren.
Zu den bekannten Kommandos RESTORE
DATABASE und ROLLFORWARD DATABASE
kommt jetzt das Kommando RECOVER DATABASE hinzu. Mit diesem Kommando besteht
die Möglichkeit, das Zurücksichern der Tablespaces und das Nachfahren der Logfiles in einem Schritt durchzuführen. Dabei kann sowohl
ein Point in Time als auch ein Recovery bis
zum Ende der Logfiles durchgeführt werden.
Diagnose und Analyse
Für die Diagnose und Analyse gibt es das
neue Tool db2pd. Dabei handelt es sich
im Prinzip um das Informix onstat Kommando für DB2, was man nun ganz besonders auch an den Ausgaben der beiden Programme sieht.
Abb. 1: Ausgabe von db2pd –tablespaces.
Abb. 2: Die Ausgabe von onstat –d im Vergleich zu db2pd.
18
Mit db2pd gibt es nun die Möglichkeit,
Informationen über Sperren, Bufferpools,
Tablespaces, Container, dynamische
SQL Kommandos, Anwendungen, Speicherbereiche, Transaktionen und Logdateien abzurufen, ohne dabei Snapshots
verwenden zu müssen. Wie die beiden
Abbildungen 1 und 2 zeigen, sind die
Ausgaben von db2pd und onstat ziemlich ähnlich.
Datenbanken
Bei der Bedienung ist db2pd im Vergleich zu
onstat etwas unhandlicher, da die Optionen
als vollständige Worte und nicht wie bei onstat
durch einen Buchstaben angegeben werden.
Mit diesem Tool ist wohl der erste sichtbare
Schritt zur Verschmelzung der beiden IBM
Datenbanken erfolgt.
Erweiterungen für die Anwendungsentwicklung
Schnellerer Zugriff durch bessere Statistiken
Hochverfügbarkeitsreplikation mit Informix Technologie
Um immer den besten Zugriffsplan zu erstellen, ist es notwendig, die Statistiken einer Datenbank aktuell zu halten. Da RUNSTATS, welches die Statistiken aktualisiert, sehr viele Systemressourcen, wie CPU und Platten benötigt, konnte man in der Vergangenheit dieses
Tool nur starten, wenn wenig Last auf der Datenbank vorhanden war.
Nach dem Prinzip der Informix Hochverfügbarkeitsreplikation
(HDR) hat IBM für DB2 die High Availability Disaster Recovery
(HADR) realisiert. Mit dieser neuen Art der Replikation werden
alle Änderungen auf dem primären Datenbankserver und auf dem
sekundären Datenbankserver nachgefahren.
Durch das so genannte „Throttling“ passt sich
nun RUNSTATS der aktuellen Lastsituation
des Rechners automatisch an. Wenn der
Rechner unter Last steht, arbeitet RUNSTATS
weniger aggressiv und nimmt nicht so viele
Ressourcen in Anspruch. Sind hingegen mehr
Ressourcen auf dem Rechner verfügbar, werden diese von RUNSTATS auch genutzt.
Viele Neuerungen von DB2 „Stinger“ sind im Bereich der Anwendungsentwicklung zu finden. So wurde z. B. die Integration in
Microsoft .NET und J2EE/WebSphere erweitert. Für das Microsoft
Visual Studio .NET gibt es DB2 Add-ins. Für die Java Entwicklung
wird jetzt auch JDK 1.4 als Entwicklungsumgebung unterstützt.
Damit ist es möglich, beim Ausfall des primären Datenbankservers
innerhalb von wenigen Sekunden mit dem aktuellen Datenbestand
auf dem sekundären System weiter zu arbeiten. Die Aktualität der
Daten auf dem sekundären Datenbankserver kann über den Synchronisationsmodus gesteuert werden (synchron, fast synchron
und asynchron). Um auf der Clientseite die Ausfallzeit nach dem
Abbruch der Verbindung zum primären System zu minimieren,
kann ein automatisches Client Rerouting verwendet werden, welches die Verbindung zum sekundären System herstellt.
SQL Erweiterungen
Weiterhin kann die Dauer eines RUNSTATSLaufes über die Option TABLESAMPLE verkürzt werden. Die Statistiken werden dann
nicht auf Basis aller Sätze einer Tabelle ermittelt, sondern nur anhand einiger Stichproben.
Viele Neuerungen gibt es auch im Sprachumfang von SQL. Das
ALTER TABLE Kommando wurde dahingehend erweitert, dass
Defaultwerte für Spalten im Nachhinein geändert werden können.
Auch die Definition von generierten Spalten kann jetzt mit dem
Kommando geändert werden.
Mit dem „DB2 automatic statistic profiling“ besteht die Möglichkeit, die Datenbank selbstständig das RUNSTATS Kommando ausführen zu lassen, wenn dies aufgrund von entsprechenden Aktivitäten auf der Datenbank
notwendig ist. Dazu sammelt DB2 Informationen über die Aktivitäten der Datenbank. Aufgrund dieser Daten wird ein Statistikprofil erzeugt. Dadurch ist es DB2 möglich, das Aktualisieren der Statistiken nur für die Tabellen
durchzuführen, für die es auch notwendig ist.
Mit dem SET CURRENT LOCK TIMEOUT Kommando ist es jetzt
möglich, das Verhalten einer Session beim Warten auf eine Sperre
einzustellen (der geübte Informix Nutzer erkennt die lange bekannten Möglichkeiten des „SET LOCK MODE <mode name>“). Als
mögliche Optionen stehen dabei zur Verfügung:
•
•
•
•
Rückgabe SQLCODE und SQLSTATE
Unendlich lange auf das Aufheben der Sperre warten
Eine definierte Zeit auf das Aufheben der Sperre warten
So lange auf eine Sperre warten, wie es im DatenbankKonfigurationsparameter locktimeout definiert ist.
Erweiterungen gab es auch im Alter Table Notebook (siehe
Abbildung 3). Damit sind jetzt folgende Änderungen möglich:
•
•
•
•
•
Spaltenname ändern
Spalte entfernen
Datentyp einer Spalte ändern
Länge, Scope und Precision einer Spalte ändern
NULL or NOT NULL ändern
Resümee
Ob die Innovation im Bereich des Self-Managements ein
wirklicher Fortschritt ist, muss die neue DB2 Version im praktischen Einsatz erst beweisen. Ansonsten erreicht DB2 mit
„Stinger“ den aktuellen technologischen Stand, was sicherlich
auch ein Verdienst der gekauften Informix Technologie ist.
Abb. 3: Alter Table Notebook mit neuen Funktionen.
Holger Demuth ([email protected]).
19
Aktuell
Teilnehmerrekord beim
ORDIX Open 2004
Die Chess Classic wurden in diesem Jahr vom 4. - 8. August in der Mainzer Rheingoldhalle ausgetragen. Herausragend war das ORDIX Open. Als Herzstück der Chess
Classic verzeichnete es einen neuen Teilnehmerrekord.
Unter den Teilnehmern befanden sich rund 30 % namhafte
Titelträger, die zusammen mit anderen Profis und talentierten Amateuren um den Sieg kämpften. Aufsehenerregendes Kräftemessen gab es auch bei den Simultans und im
Duell der Weltmeister.
Weltweites Interesse
Noch nie hat es um die Chess Classic Mainz einen MedienPublikumsmagnet Carmen Kass mit Organisator
rummel in diesem Ausmaß gegeben! 2.500 Zuschauer vor Ort,
Hans-Walter Schmitt.
unzählige Schachfans online auf nationalen, live berichtenden
Schachseiten von Pakistan bis Uruguay, massenhaft Reporter
und Kamerateams – sogar ein TV-Team aus Indien dokumentierte
das Geschehen. Kurz gesagt: Die Rheingoldhalle platzte an den fünf
Augusttagen sprichwörtlich aus allen Nähten.
„Nicht verwunderlich! Es waren immerhin 31 Großmeister aus den
Top 100 der FIDE anwesend! Außerdem erwies sich Carmen Kass,
Super-Model und Präsidentin des estnischen Schachverbandes,
als besonderer Publikumsmagnet“, kommentiert Hans-Walter
Schmitt, Organisator der Chess Classic Mainz, seinen Erfolg.
Highlight: ORDIX Open
Im Mittelpunkt des Interesses fand sich das ORDIX Open. Mit
der sensationellen Teilnehmerzahl von 542 Spielern, darunter
156 mit FIDE-Meistertiteln, war es ein hochkarätiges Schnellschachturnier. Es schaffte einen Teilnehmerrekord, während
viele andere Turniere über Teilnehmerschwund klagen.
Sieger
ehrung
der OR
Hans-W
DIX Op
alt
en mit
AG, Mic er Schmitt, d
Organ
em Ve
hael F
isator
rtreter
e
y, Rafa
dem S
der OR
el A. W
ieger
DIX
agania
Alexan
Rublev
n (2. P
der Gr
sky (3.
latz),
ischuk
Platz)
und S
(v. l.).
ergei
004.
m 10.08.2
schau vo
d
n
u
R
r
e
rankfurt
Quelle: F
20
Aktuell
Hier wird gegen die Besten der
Besten gespielt – ein Kampf, aus
dem der Vorjahresgewinner Alexander Grischuk erneut als Sieger
hervorging. „Das gibt es selten,
dass man solch ein starkes Turnier – dazu mit so vielen, starken
Teilnehmern – zweimal in Folge
gewinnt!“ erklärte der Weltranglistensechste überglücklich.
Hattrick im
ORDIX Open 2005
Die Sensation des ORDIX
Open 2005 bahnt sich bereits
jetzt an: Der Open-Hattrick von
Alexander Grischuk kann nur
noch verhindert werden, indem
er im nächsten Jahr gegen
Viswanathan Anand spielt. Das
wäre eine Herausforderung
nach Grischuks Geschmack.
Blieb er doch in den letzten beiden Jahren ungeschlagen und
gab lediglich sechs Remis ab.
Damit ist auch schon gesagt,
dass ORDIX in 2005 zum zwölften Mal als Sponsor aktiv sein
wird.
Quelle: Fina
ncial Times
vom 10.08.20
04.
Die Simultans
n
w im Simulta
Alexei Schiro
.
n Schach
im klassische
Besonders von sich reden machte Peter Swidler nach seinem
Chess 960-Simultan an 20 Brettern. Mit Kommentaren wie „In einer Minute
falle ich tot um!“ oder „Das Simultan war unglaublich schwer, weil viele Gegner meine eigenen Züge nachmachten. Das war nicht fair!“
hatte er sowohl die Sympathien als auch die
Lacher auf seiner Seite. 17,5 : 2,5 Punkte,
sechzehn gewonnene Partien, vier Remis und
ein abgegebener Punkt waren das sehr gute
Resultat Swidlers.
Alexei Schirow hingegen stellte sich seinen
40 Gegnern im klassischen Schach – ungewöhnlicherweise nicht nur in Weißpartien, sondern er spielte in der Hälfte der Kämpfe auch
mit den schwarzen Steinen. Dass die Gegnerschaft bärenstark war, zeigt das Ergebnis: Er
musste sich gleich in vier Partien geschlagen
geben und kam auf 30,5 Punkte.
an 40 Brette
rn
schieden den Zweikampf
Viswanathan Anand, Sieger des Duells der
zu meinen Gunsten. Fast
Weltmeister, zusammen mit seiner Frau Aruna.
alle anderen Partien waren irgendwie verrückt“,
so das Resümee des „Tigers von Madras“, dem Sieger der Chess
Classic Mainz. „Vishy ist einfach der Beste“, musste auch der mit
5:3 geschlagene Schirow am Ende zugeben.
Und im nächsten Jahr?
Welche Rekorde Hans-Walter Schmitt für das nächste Jahr anvisiert, und welche spektakulären Matches er plant, will er noch nicht
verraten. Eins ist allerdings sicher: „Im nächsten Jahr wird Carmen
Kass wieder dabei sein – auch wenn es mich ein geschenktes
Schachmatt gekostet hat“, grinst Schmitt ein wenig verschmitzt.
„Man muss halt Prioritäten setzen: Ich habe keinen Moment gezögert, meinen 100.000-Dollar-Zug, wie ich ihn aufgrund des
Werbewerts von Frau Kass nenne, auszuführen. Damit habe ich
mir ihre Zusage für das nächste Jahr gesichert“.
Das Duell der Weltmeister
Das spektakuläre Duell war traditioneller Abschluss der Chess Classic Mainz. Diesmal trafen Viswanathan Anand und Alexei Schirow
aufeinander. „Das Match war knapper, als es
schien. Die zwei Fingerfehler von Alexei ent-
So ist es also gut zu wissen, dass sie im nächsten Jahr bedenkenlos noch mehr Zuschauer anziehen kann. Mit der geplanten
Erweiterung der Rheingoldhalle steht einem neuen Besucherrekord nichts im Wege!
Sascia Brinkmann ([email protected]).
21
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
Informix SQL
Informix Dynamic Server Administration
Informix Tuning und Monitoring (von 3 auf 5 Tage verlängert!)
Informix Backup und Recovery mit ON-Bar
Informix Dynamic Server 9.4 Neuheiten
IBM DB2 UDB für Unix/Windows SQL Grundlagen
IBM DB2 UDB für Unix/Windows Administration Grundlagen
IBM DB2 UDB für Unix/Windows Administration Aufbau
Microsoft SQL Server Administration
Programmierung
Einführung in die objektorientierte Programmierung
Java Programmierung Grundlagen
Java GUI Entwicklung mit Swing
Java Programmierung Aufbau
JSP und Servlet Programmierung
C++ Programmierung
C# Programmierung
Perl Programmierung Grundlagen
Perl Programmierung Aufbau
Einführung in XML
XML Programmierung unter Java mit DOM und SAX
Praktischer Einsatz von XSL-Techniken
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 (JSP) und Servlets
Applikationsentwicklung mit Enterprise Java Beans (EJB)
Webprogrammierung mit J2EE und WebSphere
Einführung in die EJB-Entwicklung mit WebSphere
Entwurfsmuster / Design Patterns
Internet & Intranet
Web-Design mit HTML
Web-Design mit JavaScript
Web-Design mit PHP
Konzeptionierung u. 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
Systemmanagement
PATROL Basics
PATROL Customizing and Development
PATROL Advanced
PATROL for Oracle
PATROL Central
PATROL Express
Big Sister Monitoring - Administration und Konfiguration
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 für Unix Umsteiger
Samba Administration und Konfiguration
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
Microsoft Exchange 2000 Administration Grundlagen
Projektmanagement
IT-Projektmanagement
Grundlagen des IT-Controlling
Seminarorte:
Wiesbaden
Saarbrücken
Lippstadt
KW 53
KW 52
KW 50
KW 49
KW 48
KW 47
KW 46
KW 45
KW 51
Dezember
November
KW 44
KW 43
Oktober
KW 42
Preis in
Euro*)**)
- herausnehmbare Übersicht -
KW 41
Seminartermine
Aktuell
1.790,00
1.190,00
1.790,00
1.890,00
1.890,00
1.890,00
1.890,00
1.890,00
1.890,00
1.190,00
1.890,00
790,00
1.590,00
1.790,00
1.890,00
1.090,00
790,00
1.790,00
1.890,00
1.890,00
1.790,00
1.090,00
1.590,00
1.590,00
1.590,00
1.090,00
1.590,00
1.590,00
1.590,00
1.590,00
1.090,00
790,00
1.190,00
790,00
1.790,00
1.790,00
1.790,00
1.590,00
450,00
1.090,00
1.590,00
1.590,00
1.090,00
1.090,00
1.190,00
1.490,00
1.290,00
1.490,00
920,00
920,00
1.090,00
1.090,00
1.290,00
1.890,00
1.490,00
1.890,00
790,00
1.190,00
790,00
790,00
1.590,00
1.590,00
1.890,00
1.390,00
1.890,00
1.890,00
1.890,00
1.090,00
1.590,00
1.590,00
1.790,00
1.790,00
1.790,00
1.090,00
1.790,00
1.890,00
1.190,00
*) Preise pro Seminar pro Teilnehmer in Euro. Alle Preise gelten zzgl. ges. MwSt.
**) Inhousepreise auf Anfrage.
Für weitere Informationen stehen wir jederzeit gerne zur Verfügung und senden Ihnen auf Wunsch unser komplettes Seminarprogramm zu.
22
Alle Seminarinhalte und aktuellen
Termine finden Sie jederzeit im Internet
unter http://training.ordix.de
KW 13
KW 12
KW 11
KW 10
KW 9
März
KW 8
KW 7
KW 6
KW 5
Februar
KW 4
KW 3
KW 2
KW 1
Januar
Oktober 2004 - MärzAktuell
2005
Preis in
Euro*)**)
1.790,00
1.190,00
1.790,00
1.890,00
1.890,00
1.890,00
1.890,00
1.890,00
1.890,00
1.190,00
1.890,00
790,00
1.590,00
1.790,00
1.890,00
1.090,00
790,00
1.790,00
1.890,00
1.890,00
1.790,00
1.090,00
1.590,00
1.590,00
1.590,00
1.090,00
1.590,00
1.590,00
1.590,00
1.590,00
1.090,00
790,00
1.190,00
790,00
1.790,00
1.790,00
1.790,00
1.590,00
450,00
1.090,00
1.590,00
1.590,00
1.090,00
1.090,00
1.190,00
1.490,00
1.290,00
1.490,00
920,00
920,00
1.090,00
1.090,00
1.290,00
1.890,00
1.490,00
1.890,00
790,00
1.190,00
790,00
790,00
1.590,00
1.590,00
1.890,00
1.390,00
1.890,00
1.890,00
1.890,00
1.090,00
1.590,00
1.590,00
1.790,00
1.790,00
1.790,00
1.090,00
1.790,00
1.890,00
1.190,00
Anmeldungen an: ORDIX AG
Westernmauer 12-16 Kreuzberger Ring 13
D-33098 Paderborn D-65205 Wiesbaden
Tel.: +49 (0) 52 51 / 10 63 - 0 Tel.: +49 (0) 6 11 / 7 78 40 - 00
zentrales Fax: +49 (0) 180 / 1 ORDIX 0 oder: +49 (0) 180 / 1 67349 0
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
Informix SQL
Informix Dynamic Server Administration
Informix Tuning und Monitoring (von 3 auf 5 Tage verlängert!)
Informix Backup und Recovery mit ON-Bar
Informix Dynamic Server 9.4 Neuheiten
IBM DB2 UDB für Unix/Windows SQL Grundlagen
IBM DB2 UDB für Unix/Windows Administration Grundlagen
IBM DB2 UDB für Unix/Windows Administration Aufbau
Microsoft SQL Server Administration
Programmierung
Einführung in die objektorientierte Programmierung
Java Programmierung Grundlagen
Java GUI Entwicklung mit Swing
Java Programmierung Aufbau
JSP und Servlet Programmierung
C++ Programmierung
C# Programmierung
Perl Programmierung Grundlagen
Perl Programmierung Aufbau
Einführung in XML
XML Programmierung unter Java mit DOM und SAX
Praktischer Einsatz von XSL-Techniken
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 (JSP) und Servlets
Applikationsentwicklung mit Enterprise Java Beans (EJB)
Webprogrammierung mit J2EE und WebSphere
Einführung in die EJB-Entwicklung mit WebSphere
Entwurfsmuster / Design Patterns
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
Systemmanagement
PATROL Basics
PATROL Customizing and Development
PATROL Advanced
PATROL for Oracle
PATROL Central
PATROL Express
Big Sister Monitoring - Administration und Konfiguration
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 für Unix Umsteiger
Samba Administration und Konfiguration
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
Microsoft Exchange 2000 Administration Grundlagen
Projektmanagement
IT-Projektmanagement
Grundlagen des IT-Controlling
Informationen und Online-Anmeldung
unter http://training.ordix.de.
E-Mail: [email protected]
Einige der hier aufgeführten Bezeichnungen sind eingetragene
Warenzeichen ihrer jeweiligen Inhaber. Irrtümer vorbehalten.
23
Aktuell - Titelthema Charity Golfen
Golfen un
d
Charity Golfen für
notleidende Kinder
Soziales Engagement
„Freude am Golfen und Gutes tun“, so lautet die Devise des 1.
ORDIX Golf Opens am 25. und 26. September 2004 in Schloß
Holte-Stukenbrock bei Bielefeld. Und bei einer Teilnahme an diesem Turnier gehen sämtliche Gebühren als Spende an zwei ausgewählte Kinderhilfsprojekte, mit denen die ORDIX AG auch im
Jahr 2004 ihr soziales Engagement fortsetzen wird.
Unterstützung für das Charity Turnier
„Besonders stolz sind wir darauf,
dass wir für dieses Turnier den
Schauspieler und Prominenten
Charles M. Huber alias Inspektor
Henry aus der TV-Krimiserie „Der
Alte“ als Schirmherrn für unsere
Veranstaltung gewinnen konnten“
so Wolfgang Kögler, Vorstandsvorsitzender der ORDIX AG.
ute
G
Am Samstag, den 25.09.04, startet das zweitägige Benefiz Golf Open im
„Senne Golfclub Gut Welschof“ in Ostwestfalen. Aber auch für NIcht-Golfer
steht genügend Interessantes auf dem Programm. Somit kann jeder helfen
und Spaß haben.
s tu n
Erfüllung unseres Dienstleistungsgeschäfts
geht. Wir können uns mit dieser Art „Politik“
1:1 identifizieren. Deshalb fiel unser Augenmerk in der Auswahl des Schirmherrn und des
Spendenprojektes überraschend schnell auf
Herrn Huber. Sein Konzept der Hilfe und unsere Philosophie der Kundenorientierung gehen Hand in Hand“ erläutert Vorstandsvorsitzender Kögler seine Auswahl.
Das
Spendenprojekt
„Care1“
Das Projekt des von
Schauspieler Charles
M. Huber gegründeten Vereins Afrika Direkt e. V. fördert die
Ausbildung von Kindern im Senegal, deren Familienoberhaupt
(Vater oder Mutter) während der Flutkatastrophe zu Tode gekommen ist oder deren Familien obdachlos geworden sind.
Herr Huber bringt mit seinem VIP
Status ein außerordentliches hohes
persönliches und karitatives Engagement mit. Er ist Sonderberater
der „Food and Agriculture Organization“ der UN zur HungerbeDie Unterstützung der Kinder beinhaltet u. a.
kämpfung in Entwicklungsländern und hat einen eigenen Hilfsihre Verpflegung, sprachliche Ausbildung und
verein gegründet. Über diesen möchte er möglichst direkt eine
eine Ausbildung am Computer. Besonderen
schnelle und unbürokratische Möglichkeit der Hilfe sicherstellen,
Wert legt man darauf, dass die Kinder ihre Stammit der er selbst – ähnmessprache pflegen und ihre
lich wie Karl-Heinz Böhm
spezielle Kultur gefördert wird.
Sie möchten spenden?
– gewährleisten kann,
Aber informieren Sie sich doch
dass nicht der Großteil
selbst unter http://www.afrikaDiese beiden Projekt haben unserer Meinung nach
der Kosten von Verwaldirekt.de/projekte.htm
Ihre ganz besondere Unterstützung verdient. Falls
tungsvorgängen „verSie also nicht an dem Benefiz Golfturnier teilnehmen,
schluckt“ wird, wie dies in
Ausgewählt wurde neben dem
diesen Kindern aber trotzdem helfen möchten, spender Praxis bedauerlicherProjekt „Care 1“ noch ein zweiden Sie einfach auf das folgende Spendenkonto:
weise nur allzu oft der
tes, ganz besonderes Projekt,
Fall ist.
diesmal aus der Region PaderSpendenkonto: Dresdner Bank Bielefeld
born, die gleichzeitig UnternehBLZ 480 800 20
Die Philosophie
menssitz der Firma ORDIX ist:
Kto.-Nr. 374 0055 02
dahinter
Verwendungszweck: Aktion Golfen für Kinder in Not
Westfälisches Kinderdorf
„Genau diese schnelle,
e. V., das Projekt IPWL,
Hinweis:
direkte, unmittelbare und
Schlangen
Sollten Sie eines der beiden Projekte bevorzugen,
unbürokratische Hilfe ist
dann geben Sie als Verwendungszweck bitte „Kines, die auch einen Teil
Das Kinderprojekt „Neuer Leder im Senegal“ oder „Westfälisches Kinderdorf“ an.
der ORDIX Philosophie
bensmittelpunkt“ ist eine „Indarstellt, wenn es um die
tegrativ-Pädagogische Wohn-
24
Aktuell
und Lebensgemeinschaft“ (IPWL). Sie bietet
Kindern und Jugendlichen dauerhaft ein neues Zuhause und damit erstmals wieder eine
neue Lebensperspektive. Diese Kinder haben
aufgrund ihrer Vorerfahrungen schwere seelische Störungen erlitten. Sie können beziehungsweise dürfen deshalb nicht mehr bei ihren Eltern leben.
Aufgrund des Persönlichkeitsschutzes erhalten Sie ausführliche Informationen zu
diesem Projekt auf direkte Anfrage unter
http://www.wekido.de.
Ihr Ansprechpartner ist
Herr Kurt-Uwe Förster ([email protected]), Anschrift:
Westfälisches Kinderdorf e.V., Haterbusch 32,
33102 Paderborn, Tel.: 05251/8971-0.
Als Ansprechpartnerin für Fragen zu den Kinder-Hilfsprojekten steht Ihnen unsere
Frau Helma Jenniches
([email protected])
jederzeit gerne zur
Verfügung!
Das „sportliche“
Alternativprogramm
Als Alternative zur Teilnahme am Golfturnier besteht für Sie die Möglichkeit, in einem Kochkurs im Paderborner Sterne Restaurant „Balthasar“ Ihre Künste
zu probieren oder im Rahmen eines Schnupper-Golfkurses einen
Einblick in die Welt des Golfsports zu bekommen.
Seien Sie mit von der Partie
und melden sich an!
Ihre Fragen beantwortet Ihnen gerne Frau Helma Jenniches.
Schicken Sie einfach eine E-Mail an [email protected].
Blick in die Historie – Ein Auszug aus dem sozialen und sportlichen Engagement der ORDIX AG
1993-1996 Sponsoring der Squash Damenmannschaft des Squashclubs SRC „Matchball“ Sennelager, später Sponsoring der Squash Jugendmannschaft in Sennelager bei Paderborn.
Seit 1994
Jahrelanger Hauptsponsor eines der am meisten beachteten Schachturniere Deutschlands, den
„Chess Classic“. Das Turnier fand ehemals in Frankfurt statt, ist inzwischen aber nach Mainz
„gewandert“ (http://www.chesstigers.de). ORDIX sponsort das jährlich stattfindende WeltklasseSchachturnier seit seinem Bestehen – nun schon im 11. Jahr. Hier spielten bereits alle namhaften
Schachspieler der Welt (siehe dazu auch den Bericht auf S. 20).
1997-1999 Unterstützung des St. Vincenz Kinderkrankenhauses, Paderborn bei der Einrichtung Ihres Eltern/
Kind-Zimmers sowie bei dem Projekt „Computer für kranke Kids“.
1998
Unterstützung der von Fußballprofi Jürgen Klinsmann ins Leben gerufenen Stiftung „Agapedia“.
Die Stiftung betreut in Rumänien ausgesetzte Babies und Kleinkinder. Ziel ist, diese Kinder wieder
in ihre ursprüngliche oder andere rumänische Familien zurückzuführen. Wolfgang Kögler, Vorstandsvorsitzender der ORDIX AG, ersteigerte eines der Kleider aus dem Musical „Phantom der
Oper“ vom damaligen Veranstalter, der ehemaligen Musical AG Stella. Für eine Spendenaktion
stellte er es der ORDIX AG zur Ausstellung in den Geschäftsräumen zur Verfügung.
Seit 2000
Unterstützung der Behindertensportreiterin Hannelore Brenner. Sie ist ehemalige Weltmeisterin,
nahm an den Paralympics in Sydney teil und war auch in Athen 2004 wieder am Start.
(http://home.t-online.de/home/brenner-hanne).
2002
Unterstützung des schwer erkrankten Andreas Giesguth aus Schloß Neuhaus bei Paderborn mit
einer Spendenaktion, die es ihm ermöglichte, ein weiteres Mal über die Presse an die Öffentlichkeit zu treten. Er wollte damit einen geeigneten Knochenmarkspender finden, der sein Leben
retten sollte. Er verstarb leider am 3. März 2004 und wurde nur fünf Jahre alt.
2003
Hilfsprojekt Friedensdorf von ORDIX und dem Paderborner Lion´s Club. Die Aktion “Friedensdorf e.
V. Sitz Oberhausen” ist eine Hilfsorganisation und Heimeinrichtung zugleich. Seit 1967 fliegt sie
durch Krieg und Gewalt lebensbedrohlich verletzte und misshandelte Kinder aus aller Welt zur
medizinischen Notversorgung in europäische Krankenhäuser ein. Ein in aller Welt viel zu wenig
beachtetes Hilfsprogramm der höchsten Kategorie, wie wir finden! (http://www.friedensdorf.de)
Helfen Sie uns, diese Liste fortzusetzen!
25
Datenbanken
Oracle Internet Directory (Teil II)
In der letzten Ausgabe stellten wir Ihnen die Grundlagen der Architektur des Oracle Internet Directory (OID)
sowie die Installation vor. Dieses Mal widmen wir uns Themen wie der Namensauflösung und den damit
verbundenen administrativen Einstellungen.
Zentrale Namensauflösung
Erstellen einer Domänenstruktur im OID
Nach dem Starten des OID kann im Verzeichnisbaum eine
Domänenstruktur aufgebaut werden, ähnlich wie sie in der
tnsnames.ora oder im Names Server definiert wurde. Hierfür
kann der Oracle Internet Directory Manager (oidadmin) genutzt werden. Mit diesem Tool ist es möglich, durch den kompletten Verzeichnisbaum zu navigieren und Einträge zu erstellen, zu modifizieren oder zu löschen.
Abb. 1: Anmeldung am OID mit dem oidadmin.
Hierfür muss sich der Benutzer zunächst am Verzeichnisdienst anmelden. Der Administrator des Verzeichnisses ist der Benutzer
„orcladmin“ mit dem Standardpasswort „welcome“. Da dieser selbst
als Objekt im OID hinterlegt ist, muss bei der Anmeldung an das
OID stets der Name des Objekts mit angeführtem Objektattribut
(cn=orcladmin) angegeben werden (siehe Abbildung 1).
Soll die Domäne ordix.de abgebildet werden, unter der später
sämtliche Net Service Namen erstellt werden, so müssen Einträge von der Klasse domain erzeugt werden. Die Pflichtattribute,
die für dieses Objekt belegt werden müssen, sind der „Distinguished Name“ (DN) und der Name des Objekts selbst [„Domain
Component“, (DC)]. Hierbei gilt: Der „Distinguished Name“ ist, wie
zuvor schon beschrieben, der eindeutige Name im gesamten Verzeichnisbaum. Der Name des Objekts (DC) ist gleichzusetzen mit
dem „Relative Distinguished Name“.
In Abbildung 3a/b (siehe Teil I in ORDIX News 2/2004, S. 6) ist zu
erkennen, wie die Objekte für das gewählte Beispiel angelegt
werden, so dass die in Abbildung 2 dargestellte Struktur entsteht.
Diese Schritte können für eine beliebige Anzahl von Domänen
wiederholt werden, je nach gegebener Komplexität der Konfigu-
rationsdatei tnsnames.ora bzw. der Einträge
aus dem Names Server.
Unterhalb der Domänenstruktur ordix.de muss
nun ein weiterer Oracle Context angelegt werden. Dies kann über den Net Configuration
Assistant (netca) erfolgen. Der entsprechende Menüpunkt lautet „Konfiguration von Directory Verwendung“. Anschließend ist auszuwählen, dass ein weiterer Oracle Context
angelegt werden soll. Es sind die Benutzerdaten des OID Admins und der „Distinguished
Name“ einzugeben, unter dem der zweite Oracle Context erstellt wird.
Erstellen bzw. Exportieren von Oracle Net
Service Namen
Im Anschluss daran müssen nun die eigentlichen Einträge aus der tnsnames.ora abgebildet werden. Hierfür gibt es zwei Möglichkeiten: Entweder werden sämtliche Einträge unterhalb der erstellten Domänenstruktur mit
Hilfe des Oracle Net Managers (netmgr) erstellt. Die zweite und etwas einfachere Variante ist, dass die bestehenden Einträge aus
dem Names Server exportiert und direkt in das
OID importiert werden.
Wir wollen an dieser Stelle nur die zweite Variante besprechen. Gerade in Bezug auf die Migration zu Oracle 10g, wo diese Technik eine
wichtige Rolle spielen wird, da der Names Server in diesem Release nicht weiter zum Einsatz kommt.
Abb. 2: oidadmin mit geöffnetem Verzeichnisbaum.
26
Der in Abbildung 3 gezeigte Befehl ist aus dem
„Names Control Utility“ (namesctl) abzusetzen.
Dadurch werden sofort alle Einträge aus dem
Names Server exportiert und in das OID importiert.
Datenbanken
Alternativ kann auch über die in Abbildung 4 gezeigte Syntax zunächst eine Datei im LDAPv3 LDIF
Format erzeugt und ggf. editiert werden, um sie dann
anschließend über ldapadd in das OID zu laden.
Hierzu wird wieder per Kommando dump_ldap aus
namesctl eine Datei erzeugt, um anschließend mit
dem Programm ldapadd die Daten aus dieser Datei zu importieren.
namesctl> dump_ldap –r \
(dn:dc=ordix,dc=de) –h localhost \
–p 389 –D cn=orcladmin –w welcome
Abb. 3: Export der Namen aus dem Names Server und
Import in den OID.
namesctl> dump_ldap –r \
(dn:dc=ordix,dc=de) –f names.ldif
oracle@linux> $ORACLE_HOME/bin/ldapadd \
–v –h localhost –p 389 –D “cn=oracladmin” \
–w “welcome” –f names.ldif
Abb. 4: Clientseitige Modifikationen an der sqlnet.ora
und Erstellen der ldap.ora.
Als Nächstes müssen die sqlnet.ora und die ldap.ora auf
allen Clients erstellt bzw. angepasst werden. Abbildung 5
zeigt einen beispielhaften Aufbau dieser beiden Dateien, zu
finden unter $ORACLE_HOME/network/admin.
Damit die Namensauflösung über das OID abläuft, muss das
bei jedem Client in dessen sqlnet.ora über den Parameter
NAMES.DIRECTORY_PATH definiert werden. Es ist hier
durchaus möglich, weitere Werte aufzunehmen, wie auch
im oben genannten Beispiel zu erkennen ist. Ist z. B. der
OID nicht erreichbar, wird hier zusätzlich noch eine Namensauflösung über die tnsnames.ora durchgeführt.
In der ldap.ora wird hinterlegt, auf welchem Host und an
welchem Port der OID erreichbar ist. Im Beispiel ist 389 der
unverschlüsselte und 636 der SSL Port.
Der Default Admin Context ist vergleichbar mit dem Parameter names.default_domain aus der sqlnet.ora beim Einsatz des Names Servers. Hier wird hinterlegt, unterhalb welcher Domänenstruktur nach dem Net Service Namen gesucht wird, falls dieser bei der Anmeldung nicht vollqualifiziert
angegeben wird (vgl. Verbindungsaufbau). Des Weiteren
wird der TYP des Directories mit OID festgelegt.
Verbindungsaufbau
sqlnet.ora
NAMES.DIRECTORY_PATH = (LDAP,TNSNAMES)
ldap.ora
DEFAULT_ADMIN_CONTEXT = “dc=ordix,dc=de“
DIRECTORY_SERVERS = (cherokee:389:636)
DIRECTORY_SERVER_TYPE = oid
Abb. 5: Inhalte der Konfigurationsdateien sqlnet.ora
und ldap.ora.
Oracle@linux> tnsping ora1.ordix.de
Copyright (c) 1997 Oracle Corporation.
All rights reserved.
Used parameter files:
/opt/oracle/network/admin/sqlnet.ora
Used LDAP adapter to resolve the alias
Attempting to contact \
(DESCRIPTION = (ADDRESS_LIST = \
(ADDRESS = (PROTOCOL = TCP) \
(HOST = localhost)(PORT = 1521))) \
(CONNECT_DATA = (SERVICE_NAME = ORA1.ORDIX.DE)))
OK (0 msec)
Abb. 6: Test mit dem Werkzeug tnsping, bei dem die
Verbindung aufgebaut werden kann.
Oracle@linux> tnsping ora1.ordix.de
Copyright (c) 1997 Oracle Corporation.
All rights reserved.
Used parameter files:
/opt/oracle/network/admin/sqlnet.ora
TNS-03505: Failed to resolve name
Abb. 7: Test mit dem Werkzeug tnsping, bei dem keine Verbindung aufgebaut werden kann.
Am Ende ist zu testen, ob der Name über das OID aufgelöst
wird und eine Verbindung zur Instanz aufgebaut werden kann.
Für den Test kann das Oracle Tool tnsping benutzt werden,
dem ein Net Service Name übergeben wird. Tnsping gibt aus,
mit welcher sqlnet.ora gearbeitet wird. Zusätzlich wird ausgegeben, ob und wie die Verbindung aufgebaut werden konnte.
Nach einem erfolgreichen Test (siehe Abbildung 6) kann
anschließend ein Verbindungsaufbau vollqualifiziert über
sqlplus max/[email protected] hergestellt werden. Falls
in der ldap.ora der Parameter DEFAULT_ADMIN_CONTEXT
gesetzt ist, kann auch auf die Angabe der Domäne verzichtet werden. Oracle sucht dann selbstständig an der entsprechenden Stelle im Verzeichnisbaum: sqlplus max/max@ora1
Bei fehlgeschlagenem Test (siehe Abbildung 7) sollten zunächst folgende Fragen überprüft werden:
•
•
•
Enthält die sqlnet.ora für NAMES.DIRECTORY_PATH die
korrekte Reihenfolge der Namensauflösung?
Wurde der Name korrekt im OID Verzeichnisbaum eingerichtet?
Laufen die OID Prozesse?
Fazit
Obwohl das Aufsetzen des OID aufwändiger ist als die Einrichtung eines Oracle Names Servers, bietet das OID ein
neues, breites Einsatzspektrum. Die zentrale Namensauflösung ist dabei nur eine Teilkomponente, wie Sie in unserem dritten Bericht in der nächsten ORDIX News Ausgabe
lesen können. Dort wird die zentrale Benutzer- und Rollenverwaltung im Zusammenspiel mit dem OID gezeigt.
Michael Lindermann ([email protected]).
27
Unix/Linux/Open Source
IPv6 – Datenautobahn
mit neuem Verkehrsleitsystem
Wer hätte 1973 bei der Einführung des Internet Protokoll Version 4 (IPv4) erwartet, dass sich das damalige,
überschaubare ARPA-NET zu einem weltumspannenden WAN namens Internet entwickeln würde, bei dem
heute Millionen von IPs zu vergeben sind. IPv6 soll die bestehenden Adressprobleme wie auch andere Schwachstellen beheben.
Die Anfänge
Seit 1992 gab es verschiedene Arbeitsgruppen im IETF, die drei
bis vier verschiedene Ansätze zur Weiterentwicklung des bisherigen IP-Protokolls verfolgten. Insbesondere musste die Adressknappheit von IPv4 durch eine Neu- oder Weiterentwicklung des
Protokolls behoben werden.
1994 wurde IPv6 im RFC 1752 erstmals dokumentiert und als
„purposed standard“ von IETF anerkannt. Seitdem wird es kontinuierlich vorangetrieben.
Ende der 90er Jahre war eine gewisse Panik bezüglich des knappen Adressraums zu spüren. IPv6 kam in aller Munde. In verschiedenen Fachzeitschriften fanden sich entsprechende Artikel.
die Schreibweise weiter zu vereinfachen, können an einer beliebigen Stelle in der Adressangabe Gruppen, die komplett 0 sind, weggelassen werden (siehe Abbildung 2). Folgen
zwei Gruppen aufeinander, die komplett 0 sind
und somit weggelassen werden können, so
fällt auch der trennende Doppelpunkt weg.
fec0:0000:0000:9256:0a00:20ff:fe12:0028
fec0:0:0:9256:a00:20ff:fe12:28
fec0::9256:a00:20ff:fe12:28
Abb. 2: Beispiel einer IPv6-Adresse.
Adressraum – Unendliche Weiten
IPv6 ist keine Weiterentwicklung von IPv4, sondern eine komplette Neuentwicklung. Neben der Netzwerkanbindung im Betriebssystem mussten alle Netzwerkdienste (z. B. DHCP, DNS), die
darauf aufsetzenden Anwendungen und zu guter Letzt auch die
Administratoren damit zurechtkommen. Zu dieser Zeit waren weder die Definitionen der Standards noch die Umsetzung dieser
Standards schon so weit, um IPv4 abzulösen.
Ungefähr 15 % des IPv6 Adressraumes sind
heute für konkrete Zwecke definiert. Organisationen, die einen neuen Adressbereich nutzen möchten, erhalten ihre konkrete Netzwerkadresse aus diesen 15 %.
Mit anderen Lösungsansätzen wie CLIR und NAT konnte die Not
der Adressknappheit zumindest im europäischen Raum gelindert
werden, was dazu führte, dass es um IPv6 wieder ruhiger wurde.
Die verbleibenden 85 % dienen zukünftigen
Fragestellungen oder der Erweiterung des bestehenden Adressraumes. Die zuvor genannten 15 % umfassen auch Bereiche zur Abbildung von IPX- oder NSAP-Adressen.
Stand heute sind immer noch nicht alle Einzelheiten standardisiert. Trotzdem findet man in den meisten nennenswerten Betriebssystemen aktuelle Implementierungen. Die Roadmap der IPv6
Working Group des IETF schließt nach heutigem Stand Januar
2005 ab [1].
Die Adressen – größer
Das Adressfeld von IPv6 ist 128 Bit (16 Byte) lang und damit 4mal so groß wie das IPv4-Adressfeld (siehe Abbildung 1). Pro Quadratmillimeter Erdoberfläche wären somit ca. 667x1015 (667 Peta)
Adressen möglich.
Die Adressen werden hexadezimal dargestellt, wobei Gruppen von
2 Bytes (bzw. 4 Oktets) durch Doppelpunkte getrennt werden. Führende Nullen können in jeder Gruppe weggelassen werden. Um
IPv4
IPv6
Abb. 1: Größe einer IPv6 Adresse im Vergleich zu IPv4.
28
Es sind Unicast- und Multicast-Adressbereiche definiert. Über Unicast-Adressen erreicht
man genau ein Zielsystem beziehungsweise
ein Interface des Zielsystems. Diese sind mit
den bisherigen IPv4 Host-Adressen vergleichbar.
Mit Multicast-Adressen wird eine Gruppe von
Zielsystemen erreicht. Bekannt sind solche
Adressen in IPv4 z. B. für Newsserver. Die
Aufgaben der Broadcast-Adressen, mit denen
z. B. ein ganzes Netzwerk adressiert werden
konnte, haben die feiner konfigurierbaren Multicast-Adressen mit übernommen. BroadcastAdressen gibt es bei IPv6 nicht mehr.
Der Adressraum, der einer Organisation zur
Verfügung gestellt wird, ist immer gleich aufgebaut. Die ersten 48 Bit definieren das Netz
der Organisation und sind fest vom Provider
Unix/Linux/Open Source
16 bit
16 bit
48 bit
Netzwerkadresse
16 bit
16 bit
16 bit
Subnet-ID
16 bit
16 bit
16 bit
64 bit
Interface ID
16 bit
Abb. 3: Aufbau einer IPv6 Adresse.
vorgegeben. Die folgenden 16 Bit ermöglichen
es der Organisation, circa 65 Tausend Subnetze einzurichten.
Die hinteren 64 Bit sind als Interface-ID vorgesehen, womit in jedem Subnetz 18x1018 (18
Exa) Interface-Adressen verwendbar sind.
Eine komplette IPv4-Adresse könnte somit als
Teil einer Interface-ID eingebettet sein (siehe
Abbildung 3).
Dieser fest definierte Aufbau verursacht hohen Verschnitt an IP-Adressen, der aber in Anbetracht der Größe des Adressraumes zu verkraften ist. Durch den immer gleichen Aufbau
der Adressen wird Routing effizienter, da das
Auswerten von Netzmasken entfällt.
Adresskonfiguration
Während IPv4 prinzipiell von statischen IPAdressen ausgegangen ist, dynamische Zuordnung nur durch Zusatzprotokolle erreicht
wurde und doppelte IP-Adressen in der Verantwortung des Administrators lagen, sind
diese Fragestellungen von IPv6 direkt adressiert. Dies bringt einige neue Verfahren mit
sich, die im Folgenden kurz vorgestellt werden:
DAD – Duplicate Address Detection
Obwohl die automatischen Verfahren zur Konfiguration von IPv6-Adressen eindeutige Adressen hervorrufen und auch statisch (von Hand)
konfigurierte Adressen eindeutig sein sollten,
hat IPv6 das Duplicate Address Detection-Verfahren (DAD) definiert. Dieses Verfahren prüft
über Mulitcast-Adressen vor der Konfiguration einer IP-Adresse, ob schon ein anderes System diese Adresse verwendet.
Glossar
BGP: Border Gateway Protocol: Protokoll mit dem Router in
IPv4 Netzen Pfade zu Netzwerkzielen austauschen.
CLIR: Classless Internet Routing (IPv4): Bessere Aufteilung
des Adressraumes, da Adressbereiche ohne die veraltete Klasseneinteilung vergeben werden.
DHCP: Dynamic Host Configuration Protocol: Client/Server-Protokoll, welches Clients auf Anfrage IP-Adressen zuteilt.
Neben einer IP-Adresse erhält ein Client zusätzliche Informationen, etwa die Adresse des Gateways (Routers)
und die Adresse eines zuständigen Name-Servers (DNS).
DNS: Domain Name System: Dezentraler Dienst, der Rechner-Namen (z. B. www.ordix.de) und IP-Adressen (z. B.
212.218.179.19) einander zuordnet.
IETF: Internet Engineering Task Force: Institution, die Standards im Internet entwickelt und katalogisiert.
IPX: Internet Packet Exchange: Protokoll, welches bei Novell
Netware Verwendung findet.
MAC: Media Access Control: Zugangsverfahren zum eigentlichen Medium (Kabel) eines Netzes, das auf der Netzwerkkarte implementiert ist. Dieses Verfahren verfügt über eine
sogenannte MAC-Adresse (oder Hardware-Adresse),
durch die eine Station eindeutig im Netz identifiziert ist.
NAT: Network Address Translation (IPv4): Nutzung von privaten IP-Adressen hinter einem Gateway.
NSAP: Network Service Access Point: Adresse, die in ATMNetzen genutzt wird. Zu ATM, siehe [2]
OSPF: Open Shortest Path First: Protokoll mit dem Router in
IPv4 Netzen Pfade zu Netzwerkzielen austauschen.
QoS: Quality of Service: Im IPv6 Protokoll eine zusätzliche
Kennzeichnung von Datenpaketen, um unterschiedliche
Anforderungen zu Erkennen (schnelle Antwortzeiten,
kontinuierlicher Datenstrom, oder hohe Bandbreite).
RFC: Request for Comments (Bitte um Kommentar): Schriftstücke, mittels derer die Internet Engineering Task Force
(IETF) Spezifikationen, Vorschläge und Informationen
veröffentlicht.
MAC-Adresse zu Interface-ID
Neighbor Detection
Die Interface-ID wird bei dynamischer Konfiguration aus der MAC-Adresse abgeleitet. Im
ersten Byte wird eine 2 addiert und zwischen
Byte 3 und 4 wird FFFE eingefügt (siehe Abbildung 4).
MAC-Adresse 00:04:e2:09:da:ad
Interface-ID 0204:e2ff:fe09:daad
Abb. 4: Wandlung von MAC-Adresse zu Interface-ID.
Unter IPv4 wurde ARP verwendet, um zu einer bekannten, im gleichen Teilnetz befindlichen IP-Adresse die zugehörige MAC-Adresse zu ermitteln. Bei IPv6 wird stattdessen Neighbor Detection verwendet. Dieses Protokoll arbeitet wiederum mit Hilfe von Multicasts,
ähnlich dem DAD. Hinweis: Neighbor Detection finden Sie natürlich auch unter der brit. Schreibweise „Neighbour Detection“ :-)
Statische Konfiguration
Generell ist es denkbar, auch IPv6 Adressen statisch, das heißt
von Hand, zu konfigurieren. Dies funktioniert ähnlich wie bei IPv4
29
Unix/Linux/Open Source
FORWARD Einträge in Zone “ordix.de”:
jupiter.ordix.de. AAAA
fec0::1
jupiter.ordix.de. A6
0
fec0::1
REVERSE Eintrag in Zone “0.c.e.f.ip6.arpa” (nibble –Format):
; 1 0 9:8 7 6 5:4 3 2 1:0 9 8 7:6 5 4 3:2 1 0 9:8 7 6 5
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR jupiter.ordix.de.
REVERSE Eintrag in Zone “0.c.e.f.ip6.int” (nibble –Format):
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR jupiter.ordix.de.
REVERSE Eintrag in Zone “\[xfec0/16].ip6.arpa” (Bitstring –Format):
; 5678901234567890123456789012
\[x0000000000000000000000000001/112] PTR jupiter.ordix.de.
Abb. 5: Beispiel der notwendigen DNS-Einträge eines Rechners.
IPv4
BSD
Linux
Solaris
ping ....
arp –a
route add ...
traceroute
ping6 –I „if“ ....
ndp –a
route add –inet6 .....
Traceroute6
ping6 –I „if“ ....
ip neigh show
route –A inet6 add
traceroute6
ping –i „if“ ....
netstat –p
route add –inet6
traceroute
Abb. 6: Unterschiedliche Kommandos für IPv4 und IPv6 auf den gebräuchlichsten Systemen.
Adressen. In der Praxis zeigt sich aber, dass das DAD-Verfahren
bei statisch konfigurierten Adressen häufig nicht aktiviert ist, obwohl es laut RFCs auch dort arbeiten sollte. Es ist somit ratsam,
statische Adressen sparsam beziehungsweise nur zusätzlich zu
den automatisch generierten Adressen zu verwenden.
Automatische Konfiguration – Stateless
Auch für jedes einzelne Interface wird vergleichsweise großzügig
mit IPv6 Adressen verfahren. Alle gefundenen und einmal konfigurierten Adressen bleiben dem Interface erhalten.
Zuerst ermittelt jedes Interface eine eigene Link Local Adresse.
Diese ist nur innerhalb des Broadcast-Mediums nutzbar und wird
nicht geroutet.
Mit dem Router Discovery Protokoll wird mittels Multicast-Adressen nach Routern gefragt, welche ihre eigene Adresse und die
verwendeten Adresspräfixe propagieren. Aus dieser Information
können Nodes zusammen mit der eigenen MAC-Adresse eine
eindeutige IPv6-Adresse konfigurieren. Auch die so ermittelte
Adresse wird mit dem DAD vorher auf Eindeutigkeit geprüft.
Automatische Konfiguration – Stateful
Weiterhin kann ein IPv6-fähiger DHCP-Server (DHCPv6 genannt)
für die Adresskonfiguration nach dem in IPv4 bekannten Modell
eingesetzt werden. Ein Vorteil von DHCPv6 ist, dass über DHCP
zusätzliche Informationen, wie z. B. die Adresse des Nameservers,
propagiert werden können.
Da die Stateless Konfiguration zum integralen Bestandteil von IPv6
gehört, sollte darauf nicht verzichtet werden. DHCPv6 ist somit
als Ergänzung zu sehen.
Der IPv6-Header – einfacher aber flexibler
Das neue Adressformat ist zwar die auffälligste Änderung im
IPv6-Header. Tatsächlich ist aber der gesamte Aufbau des Headers
neu.
30
Der IPv4-Header betrug inklusive Adressen
und diversen Optionen 24 Byte. Bei IPv6 werden für Ziel- und Quell-Adresse 32 Byte benötigt. Vor den beiden Adressfeldern befinden
sich noch 64 Bit (4 Byte) in denen die IP-Version, die Länge des Datenpaketes und einige
andere Informationen kodiert werden. Die
Länge des IPv6-Headers ist mit 36 Byte somit nicht wesentlich größer als bei IPv4. Der
IPv6 Overhead hält sich demzufolge in Grenzen.
Hinter dem IPv6-Header können sogenannte
Erweiterungs-Header angehängt werden. Diese Header unterliegen keiner gemeinsamen
Form. Es wird somit eine hohe Flexibilität bezüglich der Transporteigenschaften von IPv6
erreicht.
Router können meist ohne die Informationen
in den Erweiterungs-Headern arbeiten. Sie beschränken sich somit auf die Auswertung des
relevanten IPv6-Headers. Dies wirkt sich wiederum positiv auf die Performance aus.
IPsec – optionale Sicherheit inklusive
Zwei Erweiterungsheader bedürfen der besonderen Aufmerksamkeit. Mit dem Authentication Header (AH) wird die Herkunft und
die Integrität des Paketes sichergestellt.
Hinzu kommt der Encapsulation Security Payload (ESP). Dieser bietet Verschlüsselung und
stellt wiederum die Integrität der Daten sicher.
Beide Header zusammen sind Bestandteil des
„Internet Protocol Security“ (IPsec). Das IPsec
findet meist zum Aufbau Virtueller Privater Netze Verwendung und hat durch Zusatzsoftware
auch unter IPv4 Einzug gehalten.
Unix/Linux/Open Source
Links und Referenzen
[1] http://www.ietf.org/html.charters/ipv6-charter.html
[2] http://www.fact-index.com/a/as/asynchronous_transfer_mode.html
[3] IETF IP Version 6 Working Group (ipv6): http://www.ietf.org/html.charters/ipv6-charter.html
[4] Benedikt Stockebrand „IPv6: Mehr als ein größerer Adressraum“:
http://www.benedikt-stockebrand.de/ipv6-mehr-als-adressen_d.pdf
[5] Robert Hinden of Nokia: IP Version 6 - http://playground.sun.com/pub/ipng/html/ipng-main.html
[6] Robert Hinden of Nokia: IPng Current Specifications:
http://playground.sun.com/pub/ipng/html/specs/specifications.html
[7] SUN „IPv6 Administration Guide“ - http://docs.sun.com/db/doc/817-0573?!=de
DNS
DNS ist schon bei IPv4 einer der grundlegenden Dienste. Ohne ihn würde fast keine namensbasierte IP-Kommunikation reibungslos
funktionieren. Nicht nur aufgrund der Länge
der IP-Adressen ist auch unter IPv6 dieser
Dienst einer der wichtigsten Basisdienste.
Unterschiedliche Zielrichtungen bei der Entwicklung der neuen DNS-Einträge haben unterschiedliche Formate hervorgerufen. Von der
Implementierung der Clientsoftware hängt es
ab, welches Format angefragt (und somit auf
dem Server benötigt) wird.
Um eine größtmögliche Funktionsfähigkeit sicherzustellen, sollten alle Formate eingetragen werden.
Abbildung 5 zeigt die notwendigen Eintragungen für einen Rechner.
Dienste
Nach dem OSI 7-Schichten Modell liegt die
Vermutung nahe, dass Dienste in den höheren Schichten unabhängig vom darunterliegenden Protokoll funktionieren. Doch viele
Serverdienste machen z. B. eine Ident-Abfrage an die Client-IP-Adresse oder tragen die
Client-IP-Adresse in die Logdateien ein.
In beiden Fällen müssen IPv6 Adressen extra vorgesehen werden. Z. B. prüft Sendmail
die Reverse-DNS-Einträge und muss somit
von den neuen Adressen und den neuen Records Kenntnis haben.
scp nutzt den „:“ als Trennzeichen zwischen
Rechner und Verzeichnis. IPv6-Adressen müssen bei scp somit in eckigen Klammern angegeben werden, was wiederum vor der Interpretation durch die Shell geschützt werden muss.
Solaris 9 ist prinzipiell IPv6-fähig, doch der mitgelieferte DNSServer in der Version Bind 8.3.3 kann keine IPv6-Anfragen beantworten.
Befehle zur Administration oder Diagnose von IPv6 unterscheiden sich von den für IPv4 gewohnten. Unangenehm ist für den
Administrator, dass diese Unterschiede auf jeder Plattform anders
geartet sind, wie Abbildung 6 beispielhaft zeigt. Die Beispiele zeigen, dass faktisch jeder einzelne Dienst und jede einzelne Anwendung auf IPv6-Fähigkeit geprüft werden muss.
Sonstige Eigenschaften
Das Routing unter IPv6 ist dem Routing von IPv4 ähnlich. Durch
das Router Discovery Protokoll, welches integraler Bestandteil des
IPv6-Stack ist, ist es möglich, ohne Zusatzaufwand (z. B. ohne OSPF
oder BGP) Netzwerktopologien mit redundanten Netzwerkpfaden
aufzubauen.
Durch die Angabe von QoS-Eigenschaften können Pakete priorisiert werden. Kontinuierlicher Datenstrom neben kurzen Antwortzeiten wird dadurch ermöglicht. Pakete, die über den gleichen IPHeader verfügen, können zu sogenannten „Flows“ zusammengefasst werden. Router werten die Optionen eines Flows nur einmal
aus und behandeln nachfolgende IP-Pakete desselben Flows entsprechend.
Weiterhin verspricht IPv6 Roomingfähigkeiten. Dies ermöglicht
Systemen durch unterschiedliche (Funk-)Netze (mit unterschiedlichen Netzwerk-Adressen) zu wandern, ohne die bestehende Datenkommunikation zu unterbrechen. Die eigene IPv6-Adresse wird
durch die unterschiedlichen Providernetze getunnelt.
Ausblick
Es hat sich gezeigt, dass Ipv6 eine komplette Neuentwicklung mit
neuer Technik und neuen Konzepten ist. IPv6 bietet die Voraussetzung für zukünftige Anwendungen und löst drängende Probleme.
Andererseits sind bisher nicht alle Fragestellungen zufriedenstellend
beantwortet. Ein Umstieg auf IPv6 kann und sollte noch etwas hinausgezögert werden. Um diesen aber zukünftig zu erleichtern, sollte bei Neuanschaffungen die IPv6-Fähigkeit gewährleistet sein.
Markus Schreier ([email protected]).
31
Datenbanken
Oracle Standard Accounts:
Knocking at
Your Backdoor
Wird eine Oracle Datenbank erstellt, werden im Laufe dieser Installation für die nötigen administrativen Aufgaben, für die verschiedenen Tools und Applikationen sowie zu Demonstrationszwecken diverse „Standardbenutzer“ angelegt. Da die Passwörter dieser Benutzer zum Teil allgemein bekannt sind, ergeben sich für
interessierte, aber nicht authorisierte Datenbankbenutzer einige Hintertüren, um teilweise unerwünschten
Zugriff auf die Datenbank zu erlangen.
Open Door oder Open House nach der Installation
erstes zumindest ein neues Passwort bekommen, wenn sie nicht gesperrt werden können
(siehe Abbildung 1).
Bei der Installation einer Oracle Datenbank werden notwendigerweise einige Accounts angelegt, die den Zugriff auf die Datenbank ermöglichen. Weiterhin werden Accounts eingerichtet, die
durch Installation zusätzlicher Optionen entstehen. Es ist erstaunlich, wie viele Accounts so automatisch erzeugt werden und somit
auch geschützt werden müssen.
Die zusätzlichen Optionen, die Oracle mit sich
bringt, haben zumeist einen eigenen Benutzer (siehe Abbildung 2).
Eine dritte Gruppe von Accounts, die leicht
übersehen werden, sind die Benutzer, die von
Applikationen angelegt werden, die mit und
in Oracle arbeiten. Oracle Applications etwa
bringt selbst noch eine Reihe von StandardBenutzern mit sich, die nach der Installation
überprüft werden sollten. Auch SAP R/3 oder
andere ERP-Systeme benötigen oft einen Benutzer mit DBA-Privilegien.
In der Praxis heißt das, dass eine neu installierte Oracle Datenbank viele Zugänge hat, die mit wenig Aufwand zu öffnen sind
und damit Zugriff auf die Daten erlauben.
Damit eine Oracle Datenbank produktiven Zwecken genügt, müssen vom Administrator deshalb einige Schritte ausgeführt werden, um das System vor nicht autorisiertem Zugriff zu schützen.
In diesem Artikel werden die verschiedenen Accounts in Beispielen aufgeführt, die zur Sicherheit der Daten(bank) unter Kontrolle
sein sollten. Das betrifft nicht nur die bekannten Accounts SYS
und SYSTEM – auch als Benutzer DBSNMP oder OUTLN kommt
man zum Beispiel leicht an die Liste aller Benutzer einer Datenbank durch Zugriff auf die View ALL_USERS.
Zudem arbeiten auch die Programme, die der
Überwachung oder dem Systemmanagement
dienen, wie BMC PATROL oder Tivoli, auf der
Datenbank mit einem Benutzer, der weitreichenden Zugriff auf die Systemressourcen
und die Daten hat (siehe Abbildung 3).
Welche Benutzer werden bei der Installation angelegt?
Sicherheit für die Datenbank erhöhen
Bestimmte Benutzer werden von Oracle angelegt, um die Gestaltung, die Administration und das Arbeiten mit der Datenbank zu
erlauben. Naturgemäß haben diese Accounts sehr viele Rechte
und Privilegien im System. Sie sollten nach der Installation als
Benutzer
Passwort
SYS
CHANGE_ON_INSTALL
Passwort änderbar?
9
8
SYSTEM
MANAGER
9
8
OUTLN
OUTLN
9
8
MIGRATE
MIGRATE
9
9
Abb. 1: Administrative Accounts mit hohem Rechte-Niveau.
32
Der erste Schritt sollte schon vor der Installation erfolgen: Welche der vielen Optionen, die
die Installationsroutine anbietet, habe ich lizen-
Kann gelöscht werden?
Datenbanken
siert und nutze ich wirklich? Wenn nötig, können fehlende Funktionalitäten jederzeit nachinstalliert werden.
Wichtige Schritte nach einer OracleInstallation
Nach der Installation sollte überprüft werden,
welche Benutzer mit Standard-Passwort auf
der Datenbank bestehen. Bei einer automatischen Installation sperrt das Database Client
Administrations-Tool (DBCA) alle Accounts bis
auf SYS, SYSTEM, SCOTT, DBSNMP, OUTLN
und dem JSERV-Benutzer. Bei einer manuellen Installation geschieht das nicht.
Die Passwörter der Standard-Benutzer
ändern
Für alle Standard-Benutzer sollte direkt nach
der Installation ein neues Passwort vergeben
werden. Im Idealfall ist die Kennung zu sperren (ACCOUNT LOCK).
Das PRINCIPLE OF LEAST PRIVILEGE
anwenden
Bei vielen Programmen, speziell den Standard-Lösungen aus dem ERP- und dem Systemmanagement-Bereich, hat es in den letzten Versionen aufgrund kritischer Anfragen
hinsichtlich dieses Sicherheitsaspektes Veränderungen gegeben: die Standard-Benutzer
dieser Programme kommen immer häufiger
mit Accounts aus, die ein gezieltes Profil genau für ihre Aufgaben bekommen und nicht
mehr die DBA-Privilegien brauchen.
Oft genug wird aber diese Möglichkeit nicht
genutzt und wie zuvor ein über das nötige Maß
ausgestatteter Benutzer zur Installationsvoraussetzung gemacht. Bei der Integration solcher Komponenten bringt eine konsequente
Überprüfung der Notwendigkeit der angeforderten Privilegien schnell ein Plus an Sicherheit.
Datenbank überprüfen
Auf Basis vieler Projekte haben wir ein kleines Skript entwickelt, das prüft, ob es Standard-Benutzer in der Datenbank gibt. Auf
Nachfrage stellt ORDIX Ihnen gerne dieses
Script zur Verfügung. Für Fragen und Unterstützung wenden Sie sich bitte einfach an den
Autor unter [email protected].
Benutzer
Passwort
ADMIN
APPLSYS
APPS
AURORA$JIS$UTILITY$
AURORA$ORB$UNAUTHENTICATED
BC4J
CATALOG
CQSCHEMAUSER
CSMIG
CTXSYS
DEV2000_DEMOS
DSGATEWAY
DSSYS
ESTOREUSER
FINANCE
HR
IMAGEUSER
MTS_USER
MTSSYS
OCITEST
OE
OEMADM
OLAPDBA
ORDPLUGINS
ORDSYS
ORACLE
PERFSTAT
PLSQL
PM
QDBA
QS
REPADMIN
REPORTS_USER
RMAIL
RMAN
SCOTT
SYSMAN
UTLBSTATU
WWWUSER
XPRT
JETSPEED
FND
APPS
INVALID
INVALID
BC4J
CATALOG
PASSWORD
CSMIG
CTXSYS
DEV2000_DEMOS
DSGATEWAY
DSSYS
ESTORE
FINANCE
HR
IMAGEUSER
MTS_PASSWORD
MTSSYS
OCITEST
OE
OEMADM
OLAPDBA
ORDPLUGINS
ORDSYS
ORACLE
PERFSTAT
SUPERSECRET
PM
QDBA
QS
REPADMIN
OEM_TEMP
RMAIL
RMAN
TIGER
OEM_TEMP
UTLESTAT
WWWUSER
XPRT
Abb. 2: Beispiele von weiteren, von Oracle standardmäßig angelegten Usern.
Benutzer
Passwort
BRIO_ADMIN
PATROL
SAP
BRIO_ADMIN
PATROL
SAPR3
Abb. 3: Benutzer, die von Standard-Applikationen angelegt werden.
Fazit
durch mitinstallierte Standard-Benutzer sicher gemacht werden.
Das hat für die Sicherheit der Datenbank und der Daten die gleiche Priorität wie die Bereitstellung hinreichender Ressourcen für
die Verfügbarkeit.
Damit eine neu installierte Oracle Datenbank
produktiv eingesetzt werden kann, müssen in
einem ersten Schritt die möglichen Zugänge
Uwe Rübesamen ([email protected]).
33
Java/XML - Titelthema Applikation Server im Vergleich
Neue Reihe Application Server im Vergleich (Teil I):
IBM WebSphere
Bei der Anschaffung eines Application Servers stellt sich die Frage, für welchen man sich entscheidet. Die
Firmen BEA, IBM und Borland sowie die JBoss Group haben jeweils ihr eigenes Produkt, mit dem sie den
Bereich J2EE Application Server abdecken. In dieser und den kommenden Ausgaben werden diese einzelnen Produkte näher beleuchtet und damit auch untereinander vergleichbar gemacht. In dieser Ausgabe
starten wir mit IBM WebSphere.
Plattformen
IBM WebSphere Application Server (WSAS) wird für die Plattformen Linux, Windows, OS/400, AIX, HP-UX und Solaris angeboten. Für die letzten drei wird erweiterter Support geboten, wohingegen bei den erstgenannten nur ein eingeschränkter Support
erfolgt. Zusätzlich gibt es eine speziell für die IBM zSeries angepasste Version.
schlaggebender Aspekt bei der Auswahl des
Application Servers. Hierbei sind allerdings
auch die Anwendungen, die auf dem Server
laufen sollen, dahingehend zu analysieren, ob
diese wirklich den neuesten Standard der
Spezifikation benötigen. WSAS unterstützt in
Version 5 die EJB 2.0 Spezifikation.
Webservices
J2EE
Das augenscheinlichste Merkmal eines Application Servers ist die
J2EE-Norm. Typische Fragen in diesem Umfeld sind die nach der
unterstützten J2EE-Spezifikation und ob diese auch zertifiziert
wurde.
WSAS bietet in der Version 5 eine vollständige, zertifizierte J2EE
1.3 Unterstützung, wobei schon einige Technologien der J2EE 1.4
Spezifikation enthalten sind. Viele der in J2EE 1.3 enthaltenen
Standards werden unterstützt (wie u. a. aus Abbildung 1 ersichtlich).
EJB Container und Bean Feature
Die Unterstützung von Container Managed Persistence Entity
Beans spielt bei Application Servern eine durchaus wichtige Rolle. Somit ist die Erfüllung einer aktuellen EJB Spezifikation ein aus-
Spezifikation/Standard
WebSphere 5
CORBA
EJB
IIOP
J2EE
JAAS
JCA
JCE
JDBC
JMS
JMX
JNDI
JSP
JSSE
JTA
LDAP
RMI
Java Servlets
SOAP
UDDI
WSDL
X.509
XML
X
v2.0
X
v1.3
v1.0
v1.0
X
v2.0
v1.0
X
X
v1.2
X
v1.0
X
X
v2.3
X
X
X
X
X
JBoss
Borland ES
BEA Weblogic
Abb. 1: Überblick über unterstützte Spezifikationen und Standards
bei WebSphere 5. Die anderen Application Server werden in den
nächsten Teilen dieser Reihe analysiert.
34
WebSphere Application Server unterstützt die
wichtigsten offenen Standards für Webservices wie SOAP, UDDI und WSDL. Zur Kommunikation mit Webservices stehen eine Reihe
von Protokollen, u. a. JMS und RMI/IIOP, zur
Verfügung.
Eine private UDDI Registry ermöglicht Entwicklern, ihre internen e-Business Anwendungen zunächst in einer gesicherten, privaten Umgebung zu testen. Über das „Webservice Gateway“ lässt sich die Bereitstellung von Webservices für weitere Abteilungen oder externe
Partner zusätzlich vereinfachen. Das Gateway
kann z. B. immer als Endpunkt für eingehende Kommunikation dienen. Im Zuge der Requestweiterleitung nach innen kann es sogar
das verwendete Protokoll wandeln.
Systemmanagement
WSAS bietet eine Oberfläche zum Management aller Applikationen und Komponenten
von zentraler Stelle aus. Eine komplett browserbasierte Oberfläche vereinfacht die Steuerung ganzer Application Server-Farmen und
ermöglicht zudem die entfernte Administration sogar über Firewallgrenzen hinweg.
Für die automatisierte Überwachung bzw. die
skriptgesteuerte Administration sind die Management Funktionalitäten neben der browserbasierten Oberfläche auch über JMX und
Kommandozeilentools erreichbar.
Das Deployment von Applikationen ist ebenfalls über die gesamte WSAS Landschaft hinweg aus einer Oberfläche zu erledigen. Eine
Applikation von einem Server zum nächsten
umzuziehen, ist mit wenigen Handgriffen durch-
Java/XML
geführt, wobei die meiste Arbeit von Agenten
auf den betroffenen Systemen erledigt wird.
In der Version „WebSphere for Application Developers“ ist eine spezielle Variante der Open
Source Entwicklungsumgebung Eclipse enthalten. Diese vereinfacht das Deployment und
den Testprozess nochmals durch zusätzliche
Integration, indem sie die nötigen Schritte direkt aus Eclipse heraus ausführt.
Lizenzen
IBM bietet für WSAS drei verschiedene Lizenzen an. Zum einem
gibt es die einfache WebSphere Application Server Lizenz für ca.
15.000 €, des Weiteren eine WebSphere Application Server Enterprise Edition für ca. 30.000 € und eine „abgespeckte“ WSAS
Express Lizenz für ca. 2.000 €. In allen Lizenzen ist Support für
12 Monate enthalten.
Fazit
Verfügbarkeit und Skalierung
Die vorhandene Infrastruktur des Systemmanagements wird auch im Bereich Verfügbarkeit
verwendet. Eine zentrale Instanz überwacht
die WebSphere Cluster und sorgt für die Übernahme der Dienste von ausgefallenen Knoten
durch andere.
Noch einen Schritt weiter geht die Lastverteilung innerhalb eines Clusters. Diese erkennt
Engpässe und skaliert Anwendungen wenn
möglich, um die anfallende, zusätzliche Last
abzufangen.
Der IBM WebSphere Application Server wird für ein breites Spektrum von Plattformen angeboten. Er unterstützt die wichtigsten
Spezifikationen für EJB und J2EE und gängige Standards wie JNDI,
XML, JDBC, WSDL. Die kommende Version 6 des WSAS wird
J2EE 1.4 zertifiziert sein, womit dem Einsatz der neuesten Java
Technologie nichts mehr im Wege steht.
In einer der kommenden Ausgaben der ORDIX News wird der
Open Source Application Server JBoss von der JBoss Group näher untersucht und beschrieben.
Michael Heß und Lars Hendrik Korte ([email protected]).
Impressum
Herausgeber:
ORDIX AG
Aktiengesellschaft für
Softwareentwicklung, Beratung,
Schulung und Systemintegration,
Paderborn
Redaktion:
Helma Jenniches, Sascia Brinkmann
V.i.S.d.P.:
Wolfgang Kögler
Anschrift der Redaktion:
Westernmauer 12 - 16
D-33098 Paderborn
Tel.: 0 52 51 / 10 63 - 0
Fax: 0 180 / 1 ORDIX 0
oder: 0 180 / 1 67349 0
Gestaltung/Layout:
Sascia Brinkmann
Druck:
Druckerei Reike GmbH,
Paderborn
Autoren dieser Ausgabe:
Sascia Brinkmann, Holger Demuth,
Andre Dirr, Stefanie Heither, Michael
Heß, Helma Jenniches, Matthias
Jung, Wolfgang Kögler, Lars Hendrik Korte, Andreas Kother, Michael
Lindermann, Roger Niemeyer, Uwe
Rübesamen, Guido Saxler, Markus
Schreier, Andreas Winkler
Copyright:
ORDIX AG. Alle Rechte vorbehalten. Die Zeitschrift ORDIX News hat
eine Auflage von 7.900 Exemplaren. Sie wird von der ORDIX AG an
ausgesuchte Kunden verteilt und kann für 2,20 Euro bestellt werden.
Außerdem finden Sie sowohl die neueste Ausgabe als auch ältere Ausgaben im Archiv der ORDIX News im Internet unter: http://www.ordix.de.
Schauen Sie mal rein!
Der Kontakt zu unseren Lesern ist uns sehr wichtig. Für Anregungen,
Kritik und Anmerkungen zu den Themen, aber auch für interessante
Ideen sind wir immer offen und dankbar. Sie erreichen die Redaktion
auch per E-Mail unter [email protected].
Wir freuen uns auf Ihr Feedback.
35
Unix/Linux/Open Source
IBM Tivoli Storage Manager (Teil III):
Sichern und Archivieren
Nachdem wir uns in den vorangegangenen Teilen dieser Reihe mit dem grundsätzlichen Aufbau und einigen
internen Details beschäftigten, widmen wir uns in dieser Ausgabe der Konfiguration der Hauptfunktionen
von TSM, dem Sichern und Archivieren von Clients.
Sicherung
Sicherungen finden zyklisch in regelmäßigen
Abständen statt. Außer den aktuellen Dateien – im TSM-Jargon „activ“ genannt – möchte man in der Regel einige Kopien alter Stände („inactive“) aufbewahren (VEREXISTS).
Werden Dateien auf dem Client gelöscht, benötigt man normalerweise nur noch ein oder
einige wenige Backups (VERDELETED) auf
Band. Außerdem ist es nicht nötig, inaktive
Versionen unendlich lange aufzubewahren.
Abb. 1: Policies und Client-Optionen steuern Backup und
Archivierung.
Sichern und Archivieren
TSM kennt drei Grundfunktionalitäten: Das Sichern (Backup), das
Archivieren von Client-Dateien und das Restaurieren von Dateien. Wie schon erwähnt, sprechen wir an dieser Stelle über das
Sichern und Archivieren. Die beiden Methoden Sichern und Archivieren unterscheiden sich durch ihre Ansätze (siehe Abbildung 2).
Archivierung
Die Archivierung wird in vielen Anwendungsfällen eher sporadisch
durchgeführt und dient der Langzeitsicherung von Daten. Wie lange die Aufbewahrungsfrist ist, wird durch den Parameter RETVER
bestimmt. Voreinstellung ist 365 Tage.
Durch die Definition von bestimmten Sperrfristen (RETEXTRA, RETONLY) kann man diese
inaktiven Objekte aus der Sicherung „herausaltern“ lassen.
Abbildung 3 zeigt ein typisches Beispiel für
die Sicherung von Client-Dateien im Verlauf
einer Woche. Ein Client C, der jeden Abend
gesichert wird, erzeugt am Montag eine Datei
A und verändert diese täglich.
Am Montag wird A in den Sicherungspool kopiert und dort als „active“ markiert. Am Dienstag wird die geänderte Datei A1 gesichert und
ihrerseits als „active“ gekennzeichnet. Die
vormals aktive Kopie wird damit inaktiv. Nach
der Sicherung am Mittwoch ist die VEREXISTGrenze erreicht und ab Donnerstag fallen alte
Kopien aus der Sicherung heraus. Am Freitag wird die Datei auf dem Client gelöscht.
Beim nächsten Sicherungslauf wird die aktive Version inaktiv und alle Kopien > VERDELETED fallen aus der Sicherung heraus.
Sicherungspolitik
Der grundsätzliche Ablauf von Backup beziehungsweise Archivierung wird über Policies
geregelt. Hier wird z. B. festgelegt, welcher
Storage Pool benutzt wird, wie viele Versionen gehalten werden, nach wie vielen Tagen
alte Versionen gelöscht werden sollen, etc.
Abb. 2: Die Grundfunktionen des TSM.
36
Dazu existiert für jede der beiden oben genannten Grundfunktionen des TSM eine eigene Regelwerkgruppe, also eine „Backup
Unix/Linux/Open Source
Client
Sicherung
active
Aktives Policy Set (FILE_SERVER)
inactive
Mo
A
A
Di
A1
A1
A
Mi
A2
A2
A1
A
Do
A3
A3
A2
A1
Fr
A3
A3
A2
MC (WEEKLY_V3)
Policy Set (FILE_SERVER2)
MC (WEEKLY_V3)
BackupCopyGroup
BackupCopyGroup
Archive CopyGroup
Archive CopyGroup
A
Default MC (FRIDAY_V2)
BackupCopyGroup
VERDEL,
RETONLY
Archive CopyGroup
RETEXTRA
VEREXISTS
Abb. 3: Die Sicherung einer Client-Datei im Verlauf einer Woche.
Abb. 4: Der Aufbau einer Policy Domain (ORDIX_PB).
Copy Group“ (BCG) und eine „Archive Copy
Group“ (ACG).
und eine Default Management Class inklusive Copy Groups vorbereitet. Mit diesen kann man zunächst erste Erfahrungen sammeln und sich mit der Arbeitsweise von TSM vertraut machen. Für
einen praktischen Einsatz sind sie aber eher ungeeignet, deshalb
muss für den Produktivbetrieb an dieser Stelle besondere Sorgfalt
bei der Entwicklung eines auf die Gegebenheiten zugeschnittenen Konzeptes – Stichwort Service Level Agreement – und dessen Umsetzung aufgewendet werden!
Um einem Client genau definierte Regeln sowohl für Backup als auch für Archivierung zuzuschreiben, werden sogenannte Management Classes (MC) definiert, die die Definitionen der Copy Groups enthalten. Fehlt eine der
beiden Copy Groups, kann der Client (über
diese Management Classes) die entsprechende Funktion nicht wahrnehmen!
Um möglichst flexibel zu sein, lassen sich
mehrere Management Classes parallel definieren und in einem „Policy Set“ zusammenfassen.
Die Anforderungen eines Unternehmens an die Sicherung (und
das Restore) können sehr vielfältig sein. Spielen wir an dieser
Stelle ein Beispiel durch:
•
•
Darüber hinaus lassen sich auch mehrere Policy Sets definieren. Jedoch ist immer nur eines davon aktiv und damit einsetzbar. So hat
man die Möglichkeit, Policy Sets für den späteren Gebrauch vorzubereiten, sei es um komplett neue Regelwerke einzuführen, oder bestehende, bereits eingesetzte und damit bewährte, zu variieren. Durch diese Struktur wird
ein einfaches und schnelles Wechseln des
aktiven Policy Sets unterstützt.
•
•
Die File-Server sollen einmal pro Woche voll gesichert werden und täglich inkrementell. Es genügt eine Kopie der Backups.
Die Web-Server sollen einmal pro Woche voll gesichert werden, wobei 3 Versionen gehalten werden.
Von den Schulungsrechnern sollen Images erzeugt werden,
die dann freitags für die kommende Woche neu aufgespielt
werden sollen.
Die sonstigen Clients (Notebooks) werden – wenn im Netz –
einmal pro Woche voll gesichert.
Schauen wir uns die Vorgehensweise für den Aufbau einer Domain
an einem einfachen Beispiel an.
Domains, Klassen, Gruppen ...
Häufig ist die Systemlandschaft, die gesichert
werden soll, nicht flach organisiert, sondern
hierarchisch aufgebaut. Diese Hierarchie kann
aufgrund von Kunden-, Plattform-, internen oder
sonstigen Kriterien strukturiert sein. Um auch
diese Strukturen im Sicherungskonzept abzubilden, existiert eine weitere, übergeordnete
Organisationseinheit, die „Policy Domain“ (PD)
die die Policy Sets zusammenfasst (siehe Abbildung 4).
Es soll für ein Unternehmen für den Standort Paderborn eine
Sicherungsdomain aufgebaut werden.
(1) Anlegen der Policy Domain auf der TSM-Server Konsole:
tsm: SERVER> def dom ORDIX_PB \
descr=“Sicherung Paderborn“
Ohne weitere Angaben werden an folgenden Stellen Standardwerte für die Domain verwendet:
Defaults nach der Installation
-
Nach der Installation von TSM sind je eine
Default Policy Domain, ein Default Policy Set
-
Anzahl von Tagen, die eine Datei im TSM aufbewahrt wird,
nachdem sie auf dem Client gelöscht wurde (Backup Retention).
Aufbewahrungsfrist für Archiv-Kopien (Archive Retention).
37
Unix/Linux/Open Source
tsm: SERVER> q dom ORDIX_PB f=d
Policy Domain Name:
Activated Policy Set:
Activation Date/Time:
Days Since Activation:
Activated Default Mgmt Class:
Number of Registered Nodes:
Description:
Backup Retention (Grace Period):
Archive Retention (Grace Period):
Last Update by (administrator):
Last Update Date/Time:
Managing profile:
ORDIX_PB
FILE-SERVER
07/15/04 14:54:02
1
FRIDAY_V2
1
Sicherung Paderborn
30
365
RN
07/15/04 14:54:02
Abb. 5: Die soeben angelegte Policy Domain, auf der TSM-Konsole
betrachtet.
Das Ergebnis dieser Aktion kann man sich im Browser ansehen
oder per CLI verifizieren (siehe Abbildung 5 und 6).
(2) Darin kann nun ein Policy Set erzeugt werden:
tsm: SERVER> def policyset ORDIX_PB \
File-Server descr=“Schulung Verwaltung Web Ablage“
Verifizieren der Aktion auf der Kommandozeile:
tsm: SERVER> q pol ORDIX_PB f=d
(3) Nun muss noch (mindestens) eine Management Class eingerichtet werden:
tsm: SERVER> def mgmtcl ORDIX_PB File-Server \
Weekly_V3 descr=“woechentliche Sicherung mit 3 Kopien“
(4) Diese nimmt eine Copy Group vom Typ
BACKUP auf:
tsm: SERVER> def copygroup \
ORDIX_PB file-server \
weekly_v3 type=backup verexists=3
(5) Anschließend sollte eine Copy Group vom
Typ ARCHIV analog zu oben angelegt werden.
Die Struktur wird also von „außen“ nach „innen“ erzeugt. Alternativ kann man auch eine bestehende Domain kopieren und modifizieren.
Damit die neue Domain eingesetzt werden
kann, müssen noch folgende Schritte durchgeführt werden (diesmal von „innen“ nach
„außen“):
(6) Eine Management Class muss als DEFAULT definiert werden (selbst wenn das
Policy Set nur eine Management Class enthält):
tsm: SERVER> assign defmgmt \
ORDIX_PB file-server weekly_v3
(7) Eines der Policy Sets muss aktiviert werden, auch wenn die Policy Domain nur ein
Policy Set enthält:
tsm: SERVER> act pol ORDIX_PB \
file-server
Dadurch wird eine Kopie des bestehenden
Policy Sets mit dem Namen „aktiv“ angelegt
(siehe Abbildung 7).
Client-Anbindung
Das Ergebnis an der Server-Konsole ansehen:
tsm: SERVER> q mgmt ORDIX_PB file-server
Jeder Backup-Client ist in genau einer Policy
Domain registriert. Diese wiederum enthält
genau einen (aktiven) Policy Set. Damit stehen dem Client die darin enthaltenen Management Classes zur Verfügung. Implizit wird immer die Standard Copy Group verwendet. Um
explizit eine Copy Group zu nutzen, muss diese in einer Include-/Exclude-Liste spezifiziert
werden (s. u.).
Beim Archivieren gilt in dieser Beziehung
grundsätzlich das gleiche, was für das Backup gesagt wurde. Zusätzlich besteht aber die
Möglichkeit, durch die Kommandozeilenoption
„archmc“ bzw. über die GUI die Management
Class anzugeben und damit sonstige Einstellungen zu übersteuern.
Ausnahmen bestätigen die Regel
Abb. 6: Die fertige Backup Copy Group, im Browser betrachtet.
38
Ist nichts weiter definiert, sind alle File Systeme des Clients zur Sicherung vorgesehen. Auf
Client-Seite kann aber hier eine Vorauswahl
getroffen werden. Dies geschieht in den Dateien dsm.sys bzw. dsm.opt (siehe Abbildung 8).
Unix/Linux/Open Source
tsm: SERVER> q pol ORDIX_PB
Policy Domain Name
----------------ORDIX_PB
ORDIX_PB
Policy Set Name
-------------ACTIVE
FILE-SERVER
Default Mgmt Class Name
---------------------WEEKLY_V3
WEEKLY_V3
Description
-----------Schulung Verwaltung Web Ablage
Schulung Verwaltung Web Ablage
Abb. 7: Abfrage auf die Policy „ORDIX_PB“.
Nur die Dateisysteme, die nach dem Schlüsselwort DOMAIN aufgelistet sind, werden in
die Sicherung einbezogen. Per Include-/Exclude-Listen können weitere Spezifizierungen
vorgenommen werden.
Der Übersichtlichkeit halber kann alternativ mit
einer INCLEXCL-Direktive auf eine Datei verwiesen werden, die Include-/Exclude-Informationen enthält (siehe Abbildung 9). Die Include-/
Exclude-Anweisungen beziehen sich immer auf
einen Server.
Generell werden die Include-/Exclude-Listen
von unten nach oben gelesen. Dadurch wird
in dem Beispiel erreicht, dass nur die Dateien
unter /home/kwp gesichert werden, die auf
„.conf“ enden (Zeile 3, 4).
Das Verzeichnis /oracle/product wird von
der Sicherung des File Systems /oracle ausgenommen (Zeile 2). Außerdem können in
Include-/Exclude-Listen die Standard Managementklassen übersteuert werden (Zeile 1).
Werden Änderungen an den Listen durchgeführt, ist ein Neustart des TSM-Clients notwendig.
Die momentan aktiven Einstellungen kann
man sich beim Client entweder per GUI (dsm)
oder per CLI (dsmc) ansehen:
tsm> q incl
Für unterschiedliche Zwecke gibt es diverse
Include-/Exclude-Typen. Abbildung 10 zeigt
eine Auswahl der Exclude-Typen.
Zu beachten ist, dass *.fs- und *.dir- Einträge
entgegen der oben genannten Regel zuerst
ausgewertet werden, egal an welcher Stelle
sie in der Liste auftauchen!
Servername halix
COMMmethod
TCPPort
TCPServeraddress
Domain
Inclexcl
TCPip
1500
halix.schulung.wbn.ordix.de
/home/oracle
/tsm/inclexcl.txt
Abb. 8: Ein Auszug aus der Datei dsm.sys.
include /home/otto/* otto_class
exclude.dir /oracle/product
exclude /home/kwp/*
include /home/kwp/*.conf
Abb. 9: Auszug einer INCLEXCL-Datei.
Exclude
Exclude.file
Exclude.archive
Exclude.dir
Exclude.fs
bezieht sich auf Dateien
äquivalent zu exclude
Wie exclude.file, wird aber beim
Archivieren angewendet.
Ausschluss von Verzeichnissen inklusive
Unterstruktur
Ausschluss von ganzen Dateisystemen
Abb. 10: Eine Auswahl von Exclude-Typen.
Wildcard
*
?
[...]
/...
Bedeutung
null oder beliebig viele Zeichen
genau ein Zeichen
ein Zeichen aus dem angegebenen Zeichenvorrat
null oder mehr Unterverzeichnisse
Abb. 11: Die Wildcards der INCLEXL-Listen.
Natürlich können auch Wildcards in den Include-/Exclude-Listen verwendet werden. Einen Überblick über die erlaubten Sonderzeichen gibt Abbildung 11. Ihre Bedeutung entspricht im Wesentlichen denen der Unix-Shell.
Der Einsatz von Wildcards macht nicht nur Sinn, um Dateien zu
gruppieren, sondern häufig lässt sich dadurch die Include-/ExcludeListe verkürzen, was der Sicherungsperformance und der Lesbarkeit zugute kommt.
Zusätzlich kann aber das Symbol „/...“ verwendet werden, um damit null oder mehr Unterverzeichnisse zu adressieren.
Roger Niemeyer ([email protected]).
39
Java/XML - Titelthema JMeter
Last- und Performancetests mit JMeter
Software entwickeln ist die eine Sache, das Testen eine andere. Lasttests sind schon im Vorfeld sehr wichtig
und im Zuge der Qualitätssicherung unumgänglich, denn nichts ist schlimmer, als nach monatelangem
Entwicklungszyklus festzustellen, dass die Anwendung unter der Last vieler Anwender zusammenbricht.
Deshalb sollten nebenläufig zur Entwicklung z. B. die Meilensteine unter Last getestet werden. Schwachstellen lassen sich so frühzeitig erkennen und beheben.
Die Software
Bei JMeter handelt es sich um ein Programm zur Durchführung
von Lasttests und Performancemessungen. Es ist in Java geschrieben und wurde ursprünglich für den Test von Webanwendungen
entwickelt. Die Entwicklung wird von der Apache Jakarta Group
vorangetrieben. Die Software selbst ist also Open Source, steht
unter der Apache Lizenz. Derzeit liegt das Tool in der Version 2.0.1
vor. Es wird ständig um neue Module erweitert. Somit lohnt sich
ein regelmäßiger Blick auf die Seite.
Auf der Homepage des Projekts [1] kann die aktuelle Version des
Programms heruntergeladen und in ein beliebiges Verzeichnis
entpackt werden. Für den Betrieb wird ein Java Development Kit
(JDK) ab Version 1.4 vorausgesetzt. Mittels dem unter /bin liegenden Programm jmeter.sh lässt sich JMeter starten und öffnet eine
übersichtliche, grafische Oberfläche.
Das Hauptfenster
Das Hauptfenster ist in zwei Bereiche aufgeteilt. Die Baumstruktur
auf der linken Seite zeigt einen Überblick über das aktuell geöffnete Projekt, den so genannten Testplan mit seinen einzelnen Elementen. Neue Elemente können über das im oberen Teil der Anwendung befindliche Menü oder über das Kontextmenü eines bestehenden Elementes hinzugefügt werden. Auf der rechten Seite
erscheinen die Eigenschaften des auf der linken ausgewählten
Elements, deren Einstellungen dort geändert werden können (in
Abbildung 1 sind das z. B. die „Graph Results“).
Link
[1] http://jakarta.apache.org/jmeter/
Über das erwähnte Menü können Testpläne
erstellt und geladen, Elemente hinzugefügt
und entfernt sowie Tests gestartet und gestoppt werden.
Die einzelnen Elemente
Wie bereits erwähnt, besteht ein Projekt aus
einem Testplan. Dieser enthält eine Abfolge von
Elementen, die bei Ausführung des Tests abgearbeitet werden. Zu den Elementen gehören mindestens eine Thread Group, Logic Controller, Listener, Timer, Sampler sowie Assertions und Configuration Elements. Diese Elemente werden im Folgenden beschrieben.
Thread Group
Ein Testplan enthält mindestens eine Thread
Group. In einer Thread Group ist beschrieben,
wie viele Threads innerhalb welcher Zeitspanne wie oft gestartet werden sollen. Dabei sind
die Threads mit Benutzern zu vergleichen, die
z. B. auf einen Webserver zugreifen. D. h. ein
Thread simuliert die Aktivitäten bzw. Aktionen
eines einzelnen Benutzers.
Abbildung 2 zeigt exemplarisch die Einstellungsmöglichkeiten einer Thread
Group. Hier werden 1000 Benutzer innerhalb von 2500 Sekunden (alle 2,5
Sekunden ein Benutzer) gestartet. Der
Test startet am 4.7.2004 um 20:00 Uhr
und endet spätestens um 0:00 Uhr, sofern der Test nicht vorher abgeschlossen ist. Liefert ein Thread einen Fehler,
so wird der komplette Test abgebrochen.
Logic Controller
Abb. 1: Der Listener „Graph Results“ zeigt die Daten des Testlaufs an.
40
Ein weiteres Element sind die Logic
Controller. Mit ihnen kann genauer bestimmt werden, wie oft und wann eine
Aktion durchgeführt wird. Der „Nur einmal Kontroller“ führt ihm untergebene
Aktionen nur ein einziges Mal aus. Dies
ist z. B. nützlich für das Aufrufen einer
Loginseite am Anfang eines Tests. Wei-
Java/XML
Dabei lässt sich mit einem FTP Request ein FTP-Server, mit einem HTTP Request ein Webserver, mit einem JDBC Request eine
Datenbank usw. mit Anfragen befeuern. Sehr interessant ist auch
der Java Request, der es erlaubt, kleine Javaprogramme als J2EEClients zu schreiben, die dann tausendmal aufgerufen werden und
so die Standhaftigkeit eines J2EE-Servers testen.
Mit Hilfe von Assertions und Configuration Elements lassen sich
Sampler noch erweitern.
Assertions und Configuration Elements
Abb. 2: Die Einstellungsmöglichkeiten einer
Thread Group.
tere Controller sind Wiederholungs-, Zufallsoder Durchsatzcontroller.
Listener
Listener sammeln die Informationen, die während eines Testdurchlaufs anfallen und stellen diese tabellarisch oder grafisch dar. Abbildung 1 zeigt den Listener „Graph Results“, der
neben den eigentlichen Daten auch Kurven
für Durchschnitt, Abweichung und Durchsatz
anzeigt. Dabei beschreibt die X-Achse die einzelnen Threads und die Y-Achse die Zeit, die
ein Thread für seinen Testdurchlauf gebraucht
hat.
Listener sammeln nur Daten für Elemente auf
gleicher Ebene oder einer Ebene tiefer im
Baum. Somit sind unterschiedliche Auswertungen und Darstellungen der Testergebnisse
leicht möglich.
Assertions erlauben es, Antworten auf einen Request auszuwerten. So lässt sich bei einem HTTP Request nicht nur feststellen,
ob die Seite erreichbar war, sondern auch, ob sie den richtigen
Inhalt zurückliefert. Die Resultate einer Assertion werden durch
einen Assertion Listener gesammelt und ausgewertet.
Configuration Elements hängen an einem Sampler und dienen
dazu, ihn zu modifizieren. Für einen HTTP Request können z. B.
Angaben über Protokoll, Servername, Pfad und Portnummer gemacht werden.
Remote testen
Sollte ein Clientrechner für die Masse an zu simulierenden Benutzern nicht ausreichen, auch um den potenziellen Flaschenhals
„Netzwerk“ zu vermeiden, besteht die Möglichkeit, JMeter auf mehrere Clients zu verteilen und von einem Client aus zentral zu steuern. Dazu wird JMeter einfach auf allen Clientrechnern entpackt
und das Skript jmeter-server im Verzeichnis /bin gestartet. Auf dem
zentralen Rechner, der die Clients verwaltet, wird eine Liste aller
IP-Adressen der Clientrechner in die jmeter.properties eingetragen und JMeter dann wie üblich gestartet. Gestartet wird der Test
über Start -> Remote start all. Somit beteiligen sich alle Rechner
an dem Lasttest und das Sammeln und Auswerten der Daten übernimmt der zentrale JMeter Client.
Testen ohne GUI
Timer
Timer ermöglichen es, eine Verzögerung zwischen der Ausführung von Threads einzubauen. Auch hier gibt es eine ganze Reihe von
Timern mit konstanten oder zufälligen Delays.
Sampler
Die Sampler bilden den Kern eines jeden Tests.
Hier wird die Aufgabe angegeben, mit der ein
Server unter Last gesetzt wird. In der aktuellen
Version 2.0.1 von JMeter lassen sich folgende Sampler wählen:
•
•
•
•
•
•
•
•
FTP Request
• BeanShell Sampler
HTTP Request
• BSF Sampler
JDBC Request
• TCP Sampler
Java Request
LDAP Request
SOAP/XML-RPC Request
WebService (SOAP) Request (Beta Code)
Tomcat Access Log Sampler
Ist ein Testplan einmal erstellt, kann er auch ohne grafische Oberfläche ausgeführt werden. Dies macht besonders auf Rechnern
ohne laufenden X-Server oder mit wenig Speicher Sinn, denn die
GUI ist sehr speicherhungrig. Gestartet wird über die Kommandozeile „jmeter –n –t <testplanname>.jmx“, wobei testplanname
den zuvor abgespeicherten Testplan bezeichnet. Dieser trägt die
Endung „.jmx“.
Fazit
Die Vorteile liegen auf der Hand. JMeter lässt sich schnell in einer
aktuellen Version aus dem Internet herunterladen. Die Bedienung
ist relativ einfach und gut dokumentiert. Anders als bei kommerziellen Tools, die mit vielen Funktionen überlastet sind, kann bei
JMeter sofort mit dem Testen begonnen werden.
Da das Programm in Java geschrieben ist, läuft es auf nahezu jedem Betriebssystem. Durch die Modularität und Erweiterbarkeit lässt
es sich individuell an die Testumgebung anpassen. Und schließlich
ist JMeter als Open Source Software ein kostenloses Tool.
Andre Dirr ([email protected]).
41
Datenbanken - Titelthema Oracle 10g
Oracle 10g (Teil II):
Tablespaces unter 10g:
größer – schneller – flexibler
Ein wesentlicher Teil der administrativen Arbeit an einer Oracle Datenbank befasst sich mit den Tablespaces.
In diesem Beitrag werden deshalb die Neuerungen vorgestellt, die Oracle 10g für die Arbeit mit Tablespaces
bietet. Ein Teil dieser Neuerungen bringt Erleichterungen in der administrativen Arbeit, der Rest hat Einfluss
auf die Performance.
SYSAUX – mehr Übersicht im System
Unter Oracle 10g gibt es neben SYSTEM einen weiteren PflichtTablespace SYSAUX, der als Ergänzung zu SYSTEM eingerichtet wird. Dieser Tablespace soll
• zu einer konsequenteren Trennung von System- und NichtSystem-Daten führen
• den Tablespace SYSTEM entlasten
• für zusätzliche systemnahe Komponenten, wie z. B. Enterprise
Manager Repository, LogMiner, Oracle Text etc., der Speicherort sein
• Daten an einem zentralen Ort zusammenführen. Hierdurch wird
eine Reduktion der Anzahl der Tablespaces angestrebt.
Der Tablespace SYSAUX hat die folgenden fixen Attribute:
•
•
•
•
Permanent
Read Write
Extent Management Local
Segment Space Management Auto
Diese Zuweisung ist eine Erweiterung der
Befehle CREATE DATABASE:
SQL> CREATE DATABASE TEST
…
DEFAULT TABLESPACE \
test1 DATAFILE …;
und ALTER DATABASE:
SQL> ALTER DATABASE TEST
…
DEFAULT TABLESPACE test2;
DEFAULT_PERMANENT_TABLESPACE ist die
Spalte der View DATABASE_PROPERTIES,
über die der Default Permanent Tablespace
ausgelesen werden kann.
Der Tablespace kann weder umbenannt noch gelöscht werden.
Tablespaces umbennen
Sollen als Teilschritt einer Migration die Objekte etwa von Oracle
Text, Oracle interMedia u. ä. in den Tablespace SYSAUX verschoben werden, stellt Oracle dafür Prozeduren zur Verfügung. Die View
V$SYSAUX_OCCUPANTS kann hierfür zu Rate gezogen werden.
Mit der Klausel RENAME TO des Befehls ALTER TABLESPACE bietet Oracle jetzt die Möglichkeit, Tablespaces umzubenennen:
DEFAULT TABLESPACE zuweisen
SQL> ALTER DATABASE ts1
RENAME TO ts2;
Seit Oracle 9i kann einer Datenbank ein Default Temporary Tablespace zugewiesen werden. Mit Oracle 10g kann der Datenbank
small
Tablespace
1:n
Datafile
Datafile
BIG
Datafile
1:1
Abb. 1: Smallfile- und Bigfile Tablespaces.
42
jetzt ein Default Permanent Tablespace zugewiesen werden – bisher stand dieser Default
grundsätzlich auf SYSTEM.
Auf die Tablespaces SYSTEM und SYSAUX
kann dieser Befehl nicht angewendet werden.
Wird der aktive UNDO-Tablespace umbenannt, wird diese Aktion automatisch in der
SPFILE nachgetragen – sofern vorhanden.
Diese Funktion kann beim Import über transportable Tablespaces nützlich werden.
Bigfile Tablespaces
Datafile
Mit Version 10g wird ein neuer TablespaceTyp eingeführt, das Bigfile Tablespace (BFT),
das die Verwaltung erheblich größerer Datenmengen als in früheren Versionen erlaubt. So
beträgt die maximal mögliche Datenmenge
nun 8 Exabyte, das entspricht 8 Millionen Te-
Datenbanken
Temporary Tablespace Groups
ROWID
Smallfile Tablespaces
Object#
File#
Block#
Row#
000000
FFF
BBBBBB
RRR
Für die TTGs gelten folgende Grundregeln:
Bigfile Tablespaces
Object#
000000
Encoded Block#
LLL
Oracle 10g bietet jetzt die Möglichkeit, Temporary Tablespace
Groups (TTG) anzulegen. Bei paralleler Sortierung über mehrere
Partitionen und bei einer Single-SQL auf einem Bigfile Tablespace
kann das Arbeiten mit einer TTG sinnvoll sein.
LLLLLL
Row#
RRR
•
•
Abb. 2: Änderungen bei der ROWID.
rabyte. Das bedeutet allerdings nicht, dass es
für Oracle nur noch diesen Typ von Tablespace
gibt. Der bisher bekannte Typ besteht weiter
unter der Bezeichnung Smallfile Tablespace.
Eine Oracle Datenbank kann beide Typen von
Tablespaces gleichzeitig nutzen.
•
•
Zu einer Tablespace-Gruppe gehört mindestens ein TEMPORARY Tablespace.
Die maximale Anzahl von TEMPORARY Tablespaces, die zu
einer Gruppe gehören können, ist nicht ausdrücklich definiert.
TTGs werden nicht explizit verwaltet, also angelegt, geändert
und gelöscht, sondern immer implizit erstellt.
Die Namen der Gruppen dürfen weder für eine andere Gruppe noch für ein Tablespace bereits vergeben sein.
Syntax für Temporary Tablespace Groups
Mit dem CREATE Befehl kann eine TTG implizit erzeugt und ein
TEMPORARY Tablespace zugewiesen werden:
Konnten die bisherigen Tablespaces aus maximal 1022 Datafiles bestehen, besteht ein BFT
aus genau einem Datafile (siehe Abbildung
1). Dieses Datafile hat eine Kapazität von maximal 4 Billionen Blöcken und kann somit bis
zu 128 TB groß werden (bei 32K Blocksize).
SQL> CREATE TEMPORARY TABLESPACE temp1
TEMPFILE ‘/oradata/db/temp1_1.tmp’ SIZE 10M \
TABBLESPACE GROUP group1;
Da ein BFT nur aus einer einzigen Datei besteht, ändert sich die Struktur der ROWID: der
Teil der ROWID, der die Datendatei bezeichnete, kann jetzt genutzt werden, um die erheblich größere Anzahl an Datenblöcken eindeutig zu identifizieren (siehe Abbildung 2).
Mit dem Befehl ALTER DATABASE kann eine Tablespace-Gruppe auch zum DEFAULT TEMPORARY TABLESPACE gemacht
werden. Dabei ersetzt der Name der Gruppe den sonst genutzten
Namen des einzelnen Tablespaces:
Verwaltung der Bigfile Tablespaces
Default beim Anlegen von Datenbanken ist der
Smallfile Tablespace. Dieser Standard kann
mit CREATE oder ALTER DATABASE übersteuert werden. Mit der Option BIGFILE im
Befehl CREATE TABLESPACE wird ein Bigfile
Tablespace angelegt, ohne OPTION wird als
Default ein Smallfile Tablespace angelegt.
SQL> CREATE BIGFILE TABLESPACE big1
DATAFILE ‘/oradata/kr/big1.dbf’ \
SIZE 1G;
Wird der einzige Tablespace einer Gruppe gelöscht oder herausgenommen, wird implizit auch die TTG gelöscht.
SQL> ALTER DATABASE test
SET DEFAULT TEMPORARY TABLESPACE group1;
Informationen über die Tablespace-Gruppen einer Datenbank
enthält die View DBA_TABLESPACE_GROUPS.
Fazit
Steigerungen der Performance bringen die Neuerungen nur in sehr
extremen und speziellen Einsatzbereichen einer Oracle Datenbank. Die administrativen Erweiterungen bringen einiges an Erleichterung und die Einführung des Tablespace SYSAUX sollte
eine Oracle Datenbank in Zukunft auf der Ebene der Datenobjekte
übersichtlicher strukturieren.
Ein Bigfile Tablespace muss immer „locally
managed“ sein und „Automatic Segment Space
Management“ muss eingeschaltet sein.
Um welchen Typ von Tablespace es sich handelt, kann aus der Spalte BIGFILE der View
DBA_TABLESPACES ausgelesen werden.
Ein Bigfile Tablespace sollte immer dann eingesetzt werden, wenn die Datenbank die bisher möglichen 512 PetaByte ausgereizt hat.
Uwe Rübesamen ([email protected]).
43

Podobné dokumenty