Ein Arbeitskollege hat mich auf das Flashback-SQL-Query bei Oracle Datenbanken aufmerksam gemacht. Mittels einer einfachen SQL Abfrage ist es möglich, auf alte Tabellenzustände außerhalb von Transaktionen zuzugreifen. So ist es zum Beispiel möglich, nach einer fehlerhaft formulierten UPDATE-Operation trotz Commit auf den vorherigen Tabellenzustand zurückwechseln zu können. Die Lösung ist die Verwendung des Flashback-Querys: SELECT [...]
Langsam arbeitende Prozesse und Performanceprobleme können dazu führen, dass die Verbindung zum Oracle-SQL-Client verloren geht. Normalerweise wird bei Verlust der Verbindung der in der Oracle-Datenbank gestartete Prozess abbrechen. In seltenen Fällen gibt es Oracle-Sessions, welche sich nicht aufgrund einer getrennten Verbindung nicht abgebrochen werden. Diese Sessions laufen weiter und je nach Job und Jobdauer können [...]
Facebook ist mit über 700 Millionen registrierten Benutzern eine der größten Communities im Internet. Wenn Sie Facebook schon mal verwendet haben, haben Sie sicher festgestellt, dass neben den Standardfunktionen wie Feeds, Bilder, Umfragen und Freundeslisten es viele weitere Anwendungen gibt. Die bekannteste Anwendung muss wohl die Glücksnuss sein, wenn ich die Feeds überfliege. Im Folgenden [...]
Mein aktueller Heimserver CH3MNAS stellt unter Anderem einen Samba-Dienst bereit. Dieser wird bei mir für die Netzwerkfreigaben der Drucker und Verzeichnisse eingesetzt. Die eingesetzte Samba-Version war bereits auf dem NAS vorinstalliert. Im Ursprung war Samba so eingesetzt, dass über das Webinterface die Einstellungen des CH3MNAS vorgenommen werden konnten und diese in die Config-Files geschrieben wurden, [...]
Letzte Woche war es soweit: ich musste zum ersten Mal eine SIM-Karte sperren. Und zwar handelte es sich um die SIM-Karte von meinem FONIC Surfstick. Beim Packen der Laptoptasche fiel mir auf, dass mein Surfstick sich nicht in seinem Standardfach befunden hat. Die Suche auf dem Schreibtisch war erfolglos, sodass ich mich an die letzte [...]
Ein Arbeitskollege hat mir heute einen Trick gezeigt, wie ich einige meiner bisherigen Subquerys in Oracle vereinfachen kann. Für einige spezielle Fälle bei der Ausformulierung weniger WHERE-X-IN-Bedingungen kann ich für X immer nur einen skalaren Wert angeben, welcher jedoch manchmal ein zusammengesetzter String ist, wenn ich mehrere Spalten über dieses Konstrukt auswerten möchte. Ein Beispiel [...]
Nicht gerne gesehen in einem Anwendungssystem sind Fehler in der Datenbank. Besonders gut versteckt sind meist Deadlocks, wenn mehrere Prozesse parallel in der Datenbank Daten bearbeiten. Diese Fehlerart kann in jedem guten Datenbanksystem auftreten und die Methoden zum Analysieren und Beheben der Deadlock-Ursache sind meist die Gleichen. Einen kurzen Überblick über Deadlocks und deren Auffinden [...]
Vor einiger Zeit habe ich gezeigt, wie auf einem embedded Jetty7 das Struts2 Framework verwendet werden kann. Um einen Nutzen aus der embedded Version von Webanwendungen gegenüber Applicationservern aufzuzeigen, habe ich ein kleines Beispiel erstellt, wie über die Webanwendung ein Kommandozeilenbefehl abgesetzt werden kann. Mein Beispiel hier baut auf meinen embedded Jetty7 Artikel auf. Ablauf [...]
Bisher waren in meinem Blog die Themen Java und Oracle recht getrennt voneinander dargestellt. Um diese zu verbinden, habe ich im Folgenden aufgeführt, wie Sie aus einem Java-Programm heraus eine Datenbankverbindung zu einer Oracle-Datenbank aufbauen können und eine einfache Abfrage absetzen können. Voraussetzungen Um eine Datenbankverbindung (Connection) herstellen zu können benötigen Sie einen Oracle-JDBC-Treiber. Für [...]
Ich habe einige Möglichkeiten zusammengetragen, um Tabellen in Oracle für ändernde Zugriffe zu sperren (nur Lesezugriff, Tabelle ist schreibgeschützt). Sinn dahinter soll sein, die Zugriffsbeschränkung auf Datenbankebene einzuschränken, und nicht wie allgemein üblich, dies über die Softwarelogik machen zu lassen. Die Möglichkeiten unterscheiden sich teilweise bei [...]