Technik

Oracle Database recovery

29. August 2009 · Anwendungen · andreas · Kein Kommentar

Stellt sich Oracle beim Datenbank-Recovery etwas umständlich an, so muß man etwas tiefer in die Trickkiste greifen:

Erfahrungsgemäß läuft ein

RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;

meist damit gegen die Wand, daß Oracle versucht, auf ein nicht existierendes, archiviertes Logfile zuzugreifen. Ergebnis sind in der Regel der Fehler

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: '<woauchimmer>system01.dbf'

was aber nicht unbedingt bedeutet, daß sich das Problem tatsächlich auf die eine Datei beschränkt.

Sollte dies der Fall sein, muß für ein erfolgreiches Recovery noch das aktuelle Redo-Log verwendet werden. Hierzu ist zuerst das aktuelle Log zu ermitteln

SELECT member FROM v$logfile , v$log WHERE v$log.status='CURRENT' AND v$logfile.group# = v$log.group#;

anschließend nochmals ein Recovery zu starten, hierbei allerdings weder ‘AUTO’ noch ‘CANCEL’ zu wählen sondern das soeben ermittelte Logfile anzugeben.

RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;

Hat alles geklappt, sollte ein

ALTER DATABASE OPEN RESETLOGS;

zum gewünschten Erfolg führen.


Apache & PHP & MySQL = Application Error !?!

11. Juli 2009 · Programmierung · andreas · Kein Kommentar

Nachdem monatelang Apache 2.0.63, PHP 5.2.6 und MySQL 5.0.51 in trauter Einigkeit gewerkelt haben, wurde - never change a running System - zeitgleich mit einem Hardware-Upgrade auch eine Betriebssystem-Neuinstallation sowie ein Update der installierten Software auf die jeweils aktuellen Versionen vorgenommen.

Der Apache blieb bei der alten Version, PHP auf 5.2.9 modernisiert und auch MySQL auf die Version 5.1.35 angehoben. Die Installation lief problemlos und auch der obligatorische Aufruf eines phpinfo(); zeigte im Browser das erwartete Ergebnis.

Weniger erwartet war aber, daß sich beim Aufruf fast jeder lokalen PHP-Seite der Webserver mit einem “Application Error” verabschiedete und Windows gerne einen Bericht an Microsoft schicken wollte. Die einzige Gemeinsamkeit an den nicht funktionierenden Seiten waren Zugriffe auf die Datenbank, immerhin eine Spur.

Nachdem ein testweises Downgrade von PHP keine Änderung (= Linderung) des Problems brachte, hat der Rückschritt auf den 5.0’er MySQL die Symptome wie von Geisterhand kuriert

Die Ursache? Wahrscheinlich irgendwo im Zusammenhang mit “MySQLs PHP-API”, aber nachdem es weder in den Windows-Protokollen (daß Apache abgeschmiert ist, weiß ich selbst) noch in den Apache-Logs (die “error.log” ist eben kein Crash-Log) einen brauchbaren Anhaltspunkt zur Fehlersuche gibt, wird die Lösung erstmal vertagt.


Skript beim Herunterfahren von Windows XP ausführen

04. Juli 2009 · Betriebssysteme · andreas · 1 Kommentar

Um beim Start von Windows ein eigenes Skript automatisiert starten zu lassen gibt es verschiedene Möglichkeiten, aber selbst die Funktion “Geplante Tasks” bietet nur die Möglichkeit, einen Task entweder “Beim Starten des Computers” oder “Beim Anmelden” auszuführen:

geplante_tasks

Um jedoch beim Herunterfahren des PCs einen eigenen Befehl ausführen zu lassen, muß man etwas tiefer in der Werkzeugkiste kramen:

Unter “Start / Ausführen” mittels Eingabe von “gpedit.msc” den Gruppenrichtlinieneditor aufrufen. Anschließend kann wahlweise entweder unter “Computerkonfiguration” oder “Benutzerkonfiguration” der Punkt “Windows-Einstellungen” geöffnet werden und bei “Skripts (Start/Herunterfahren)” der gewünschte Eintrag angelegt werden.

Hierzu einfach “Herunterfahren” doppelklicken und mittels “Hinzufügen” einen eigenen Eintrag anlegen.


Grafikkarten-Lüfterregelung mit RivaTuner

19. Juni 2009 · Hardware · andreas · Kein Kommentar

Zwar ist die Palit GTX260 Sonic 216SP dank des vom Referenzdesign abweichenden Kühlers halbwegs leise, im 2D-Betrieb nervt der Lüfter mit seiner Standardeinstellung von 40% aber trotzdem deutlich mehr, als er eigentlich müsste.

Wird die Lüftergeschwindigkeit mittels RivaTuner auf 25% gedrosselt, so bleibt selbst im Sommer die Core-Temperatur bei normaler Desktop-Arbeit unter 50°C und die Karte ist fast unhörbar - das Problem ist nur, den Lüfter im Bedarfsfall wieder automatisch auf die benötigte Geschwindigkeit zu beschleunigen.

Während bei den älteren RivaTuner-Versionen die Steuerung über den “Launcher” mit Hilfe von Schwellenwerten noch wunderbar funktionierte, tritt bei der neuen Steuerung über den “Scheduler”, bei der Temperaturbereiche angegeben werden, folgendes Verhalten auf:

  • Die Karte wird belastet und die GPU erwärmt sich.

  • Die Temperatur steigt in den nächsthöheren Temperaturbereich, der Lüfter dreht schneller und die GPU-Temperatur sinkt.

  • Die Temperatur sinkt in den nächst niederen Bereich und der Lüfter dreht langsamer.

  • Die Temperatur steigt wieder an und das Spiel beginnt von vorne.

Zwar kann mit Hilfe der “Data sampling period” und “Task freezing period” einem ständigen Hin- und Herschalten etwas entgegenwirkt werden - zur nervenschonenden Funktion sind aber eine Menge Tasks in kleinen Abständen notwendig, was jede Menge Handarbeit und Fehlerquellen bedeutet.

Bei RivaTuner handelt es sich um ein mächtiges Werkzeug, mit dessen Hilfe tiefgreifende Manipulationen möglich sind, die - wenn falsch eingesetzt - durchaus auch zu einer Beschädigung der Hardware führen können!

Glücklicherweise gibt es eine Alternative, denn unter “Low-level sytem tweaks” bietet RivaTuner auch eine direkte, temperaturabhängige Lüftersteuerung.

Weiterlesen


mod_mostread übergeht Beiträge

30. Mai 2009 · Anwendungen · andreas · Kein Kommentar

Nach der Aktivierung von mod_mostread (“Meistgelesene Beiträge”) war die Verwunderung groß, denn die Liste stimmt nicht mit denen unter “Popular” im Kontrollzentrum überein.

Das Problem liegt in der Auswahl der Beiträge - während “Popular” eine Übersicht über alle vorhandenen Beiträge bietet, werden bei mod_mostread nur solche gezählt, die einem Bereich und einer Kategorie zugeordnet sind. Nicht kategorisierte Beiträge werden von mod_mostread übergangen.