Skip to content

Chaos...

Isolation: Chaos Am Wochenende waren meine Frau und ich im Kino, und konnten uns schön die Vorstellung von Chaos (verursacht durch Dark Phoenix) in den Köpfen eines CGI Gestalters ansehen. Und dann stolpere ich am Abend doch glatt schon wieder im SQLCode Blog über ein halbwegs On-Topic Bild zum Thema Chaos (und Microsoft SQL Server).

Oracle SQL Developer

In der Software Entwicklung von DB verbundenen Systemen hat man immer die Notwendigkeit auch manuell mit der Datenbank Verbindung aufzubauen, SQL Statements abzusetzen oder auch mal in den DB Objekten zu browsen. Oftmals kommen hier Tools zum Einsatz. Im Oracle Umfeld dürfte TOAD hier am bekanntesten sein.
Oracle SQL Developer
Integrierte Entwicklungsumgebungen wie Eclipse oder Oracle JDeveloper haben eigene Funktionen für den Zugriff auf Datenbanken. Diese sind aber nicht immer sehr effizient und komplett zu nutzen. Oracle hat den SQL Developer veröffentlicht. Es ist eine Entwicklungsumgebung reduziert auf die Manipulation von SQL insbesondere auch PL/SQL Statements und Packages. Ein Teil der SQL Developer Funktionen wurden auch in den Oracle JDeveloper übernommen. "Oracle SQL Developer" vollständig lesen

When I am sixty-four

Die Beatles Zeile war auch der Titel einer Blog-Post im SAP Developer Network. Deswegen möchte ich hier auch noch mal berichten, dass so langsam der 64-bit Durchbruch stattfindet. 32-bit Kernel für AIX auf Power oder Solaris auf Sparc sind schon lange ein Seltenheit, jetzt ziehen auch Anwendungen und weitere Betriebsysteme nach: Durch den starken Support der Platform Hersteller und interpretierten code (.NET, Java oder ABAP) ist der 64-bit Übergang einfacher und schmerzloser als erwartet. Aktuell allerdings bedeutet es für Administratoren und Entwickler aber zusätzlichen Support und Test Aufwand. Wie sieht denn die Zukunft bei Oracle aus? Mit 10.2 gibt es jedenfalls keine 32-bit Versionen des Datenbank Servers für die POWER oder UltraSPARC Architektur. Inwzischen ist auch die Solaris x64 Lücke geschlossen: seit dem 23. März sind die AMD64 Binaries in 64-bit Breite erhältlich. Somit bleibt nur Windows und Linux auf x86 - was für eine Neuinstallation ohnehin keinen Sinn mehr macht.

OCFS2 certified for Oracle 10g RAC

Gerade kommt über die OCFS2 User Mailingliste die Ankündigung herein, dass OCFS2 1.2.1 released wurde, und im Zusammenspiel mit RHEL4 auf x86 Linux von Oracle Database 10gR2 für den Produktiveinsatz freigegeben wurde. Gerade in letzter Zeit häuften sich Probleme mit instabilen Treibern (SAN, Firewire, iSCSI), so dass es ziemlich klar ist, dass es sehr leichtsinnig wäre ein OCFS2 Cluster zu betreiben ohne sich strikt an zertifizierte Kernels (und Hardware) zu halten. In vielen Fehlersituationen schaltet OCFS2 Knoten ab um den Konflikt zu lösen (z.B. wenn die Netzwerkverbindung abbricht, oder kein konstanter Kontakt mit den Platten vorhanden ist). Dieses Fencing (abtrennen vom Zugriff auf das Shared Storage durch Shutdown) macht das Debuggen nicht einfacher. Es empfiehlt sich also bei sporadischem Shutdown eine Netconsole zu betreiben, um Post-Mortem die Diagnose-Meldungen der Kernel Module zu erhalten. Update: Interessanterweise ist in den Oracle Blogs nichts zu dem Thema zu finden: Search: ocfs2, auch die Blogsphere ist sehr verhalten: Technorati: ocfs2

(in)Secure Magazin: Enterprise Database Security

Das Online Magazin (IN)SECURE 1.6 ist erschienen. Die Ausgabe steht als PDF zum freien Download bereit. Einer der Leitartikel beschäftigt sich mit Enterprise Datenbanken. Best Practise Tipps aus der "Praxis": http://www.insecuremag.com/ Ulf Mattson schreibt darin wie die Vertraulichkeit und Integrität von Enterprise Datenbanken sichergestellt werden können. Ich persönliche halte den Artikel etwas missglückt, da die üblichen Verfahren etwas kurt kommen, und dem Thema Verschlüsselung und externe Schutzsysteme zu viel Bedeutung zugemessen wird. Das dürfe wohl darin begründet sein dass Mattson der CTO von Protegrity ist. Dieses Unternehmen verkauft Software Lösungen für diese Aufgaben. In weiteren Artikeln findet man Informationen über Security Zertifizierungen, die Kosten von Spyware in Unternehmen, Buch Reviews oder News über Security Produkte und drei Beiträge über Web Sicherheit: Authentifizierte Sessions und PHP/SQL Sicherheit. und Apache Deny of Service Absicherung. Desweiteren gibt es ein Interview mit Prof. Kenny Paterson (Information Security Group, Royal Holloway, University of London) und einen Artikel über den Einsatz von Metriken mit der Open Source Security Testing Methodology (OSSTM) und einen Bericht über War Driving auf der CeBIT 2006.

IBM DB2 UDB Express-C

Download DB2 Express-CNach Microsoft und Oracle bietet nun auch IBM seine Enterprise Datenbank DB2 UDB 8.2 für Distributed Systems (Linux, Unix, Windows) als kostenfreie DB2 Express-C an. Interessant bei der Sache ist, dass im Gegensatz zu Oracles oder Microsofts Express Editionen keine Größenlimits für die Datenfiles existieren. Lediglich RAM Nutzung ist auf 4GB und CPU Nutzung auf 2 Dual-Core Prozessoren limtiert. Verfügbar ist die Software für x86, x64, IA64 und PPC64 Linux Systeme, als auch für x64 und IA64 Windows. IBM verwirrt ein klein wenig mit "Express-C, Express Edition und Express Runtime", aber das sind wir ja von IBM gewöhnt: No charge data server for the community
IBM DB2 Express-C is a version of DB2 UDB Express Edition designed for the community. It is a no-charge data server for use in development and deployment. It provides the same database server features, API support and system limits as DB2 Express in a smaller package. Ich habe die kostenlose Express Discovery CD bestellt, und parallel dazu läuft grade der 382MB Download für die Win32 Version. Hier kann ich nur empfehlen den Download Director zu benutzen. Mit HTTP Downloads kam bei mir nur ein defektes ZIP an. Der Download Direktor überträgt mit 100-420KB/s, HTTP hingegen nur mit 50 KB/s. Leider brachte das Download Director Applet meinen Windows Firefox zum Absturz, mit dem IE6 und Java 5 Plugin lief es aber problemlos. Update: Zwei Stunden später: nachdem das Setup 450MB Programmfiles auf meine Festplatte geschaufelt hat bin ich leider mit meinem Latein am Ende: DB29501E DB hat eine inkonsistente Umgebung festgestellt. Untersuchen Sie folgendes: DB2INSTANCE : -2029059915 Unter einer einfachen, schnellen und Problemlosen Installation stelle ich mir was anderes vor. Mal sehen welche Hilfe ich im Express Forum bekomme. Update2: Dem Hinweis im Forum folgenden (dass es defintiv ein Problem beim Anlegen der Instanz (=Exemplar in IBMisch) ist, habe ich mehrere Installationsversuche gemacht, um an die Logfiles ranzukommen (My Documents\DB2LOGS*) aber da ging es dann auch schon wie von Geisterhand :( Nun ja, war ja zu erwarten dass so eine Menge an Code nicht mehr stabil funktionieren kann. Auch das Anlegen einer Datenbank mittels Verwaltungsgui klappte erst, als ich die Sample Datenbank benutzt habe.... verwirrend. Und Morgen lesen Sie, wie viele JDBC Treiber es für die drei DB2 Produktlinien gibt...

JDBC Treiber für den Microsoft SQL Server

Mit dem Microsoft SQL Server bin ich sehr zufrieden. Er ist ziemlich intelligent was das Selbst-Tuning angeht, gerade in einem Umfeld in dem kein Vollzeit-DBA zur Verfügung steht. Im Vergleich zu Oracle Datenbanken ist die Lernkurve deutlich geringer, Entwickler sind produktiver. Jedoch war schon immer eine Schwäche des Produktes die Unterstützung von Java (also der JDBC Treiber): der Microsoft JDBC Treiber für den SQL Server ist nur eingeschränkt frei verwendbar, die neusten Feature und Performance Verbesserungen finden sich grundsätzlich nur in Beta Versionen. Dieses Problem haben auch einige kommerzielle Anbieter von JDBC Treibern erkannt (z.B. i-net Merlia oder JNetDirect). Wir haben in unseren Produkten lange Zeit den JSQLConnect Treiber von JNetDirect eingesetzt. Jedoch ist es für einen ISV schwer für einfache Infrastruktur Komponenten eine Beziehung mit einem Lieferanten aufrecht zu erhalten, die neben den Lizenzkosten auch Einschränkungen bei der Installation und Verteilung macht. Deswegen hat der Ablauf unseres Lizenzkontingentes und auch dazu bewogen uns nach Alternativen umzusehen. FreeTDS stand bei uns unter Beobachtung, war aber nicht befridigend. Es ist eine Open Source Implementierung des Tabular Data Stream Protokolls, das sowohl von Sybase als auch Microsoft für die Datenbank Produkte eingesetzt wird. Erst seit der JDBC Type-4 Treiber in einem eigenen Projekt weiterentwickelt wurde, hat er sich aber als Alternative herausgestellt. jTDS ist seitdem ohne Zweifel einer der schnellste und stabilsten JDBC Treiber für den MS SQL Server, der noch dazu als Open Source (LGPL) erhältlich ist, und alle Features unterstützt die wir bisher in unseren J2EE Anwendungen (Tomcat und JBoss) benötigt haben.

Oracle 10g Express Edition

OracleXEOracle bietet seine Datenbank 10g R2 in einer eingeschränkten Freeware Version an. Das ist sicherlich eine lange überfällige Reaktion auf die ebenfalls kostenfreie Microsoft Desktop Engine (bzw. SQL Server 2005 Express). Und natürlich auf den Mittbewerb aus dem Open Source Lager. Zur Zeit ist eine Beta für 32bit x86 unter Windows oder Linux verfügbar. Die Datenbank, mit eigener HTML Administrationsoberfläche, aber ansonsten basierend auf den traditionellen Oracle Komponenten wie RDBMS, Listener, htmldb, xmldb ist beschränkt auf die Nutzung einer CPU und 1G Ram. Die Datenfiles der Benutzer Tablespaces können maximal 4GB groß werden, und es ist nur die Installation einer Instanz pro Server vorgesehen. Im Gegensatz zu Open Source Datenbanken wie MySQL, PostgreSQL, MaxDB oder Firebird handelt es sich aber bei der Oracle 10g Express Edition nicht um Open Source. Es ist lediglich eine eingeschränkte Version mit einem praktischen und einfachen Installer. Oracle Datenbanken zu installieren war noch nie so einfach und super schnell! Die aktuelle 10.2 Beta installiert sich mittels Windows Installer in meinem Versuch problemlos auf einem Windows XP. Außer dem Admin Passwort das für sys und system verwendet wird sind keine Angaben notwendig. Automatisch wird ein Listener eingerichtet, eine Instanz XE mit dem primären USER Tablespace. Durch geschickte Sparmassnahmen (z.b. keine Java-VM in der DB) belegt die Installation knapp über einem Gigabyte. Für die wichtigsten administrativen Funktionen liefert Oracle eine neue Web Konsole mit. Diese basiert auf HTMLDB und ist einfach und leichtgewichtig zu bedienen. Nach dem Download der XE kann man sich an dem sonst unsichtbaren XE Forum anmelden, dies ist unbedingt empfehlenswert. Denn dort kann man schnell Problemlösungen und Erfahrungen finden. Mir selbst sind nur wenige Dinge negativ aufgefallen: Die Anzahl der Sessions ist relativ gering voreingestellt. Wenn man viele Verbindungen öffnet und schließt, so kann es zu einem Ora-12519 kommen. Abhilfe schafft das erhöhen der Datenbankparameter "processes" und "sessions". Dies wird von der Lizenz auch nicht verboten. Dadurch dass die eingebaute JVM in der Datenbank nicht ausgeliefert wird kann man mit den JDBC OCI Treibern keine XA Transaktionen benutzen. Oracle hat in der R2 die Rollen etwas aufgeräumt, das führt wie bereits berichtet zu Problemen. Außerdem kann man im Forum einige Probleme bei der Installation sehen, das hängt wohl aber größtenteils mit bereits installierter Oracle Software zusammen, oder mit falschen Versionen von Shared libs unter Linux. Das 4GB Limit führt übrigens zu einem Ora-12952 Fehler, auch in Situationen in denen man dies nicht erwartet (z.B. beim Löschen von Records, wenn dabei der Index neu strukturiert wird was mehr Platz benötigt). Man sollte also auf keinen Fall die DB an der 4GB Grenze betreiben. Für Oracle Entwickler, oder wenn Sie sich das RAD Tool htmldb für einfache Datenbank-Anwendungen ansehen wollen ist die XE unbedingt empfehlenswert. Durch die starken Einschränkungen würde ich keine neuen Produkte im ausschließlichen Zusammenspiel mit der Freeware erstellen.

Oracle 10g R2 CREATE VIEW: ORA-01031

Falls Sie sich über Fehler wie diesen wundern:
SQL*Plus: Release 10.2.0.1.0 - Beta on Wed Nov 9 03:16:53 2005
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> connect OWNER/secret@xe;
Connected.
SQL> create view vtest as select * from dual;
create view vtest as select * from dual
            *
ERROR at line 1:
ORA-01031: insufficient privileges

so könnte dabei eine (missglückte) Aufräumaktion von Oracle Schuld sein. Mit der Version 10.2 wurde die überladene System Rolle CONNECT entschlackt, diese enthält jetzt nur noch das Recht sich am System anzumelden (CREATE SESSION).

"Oracle 10g R2 CREATE VIEW: ORA-01031" vollständig lesen