Donnerstag 11. Februar 2010 von mha
Der Horror jedes DB-Admins,
plötzlich startet die Datenbank nicht mehr.
/etc/init.d/mysql start [failed]
Ganz richtig sollte man erst mal im Error Log (meißt unter /var/log/mysql/<hostname>.err zu finden) nachsehen.
Steht da dann der Spruch wie im Titel drinn, heißt das eigentlich:
Hilfe ich kann die ibdata nicht lesen, weil ich es nicht darf.
Also prüfen ob der mysql Prozess zugrif auf das Dataverzeichnis hat (chown + chmod)
ABER:
Bei uns kam jetzt schon zwei mal dieser Fehler vor. Die Permissions waren richtig gesetzt.
Einzig und allein ein kleiner reboot löste das Problem beide male. Warum wissen wir noch nicht.
Aber wenn nicht mehr hilft, einfach mal rebooten.
Kategorie: Allgemein |
Keine Kommentare »
Mittwoch 6. Mai 2009 von mha
Kopiert man eine VM mit Ubuntu (bei uns Ubuntu 8.04 Server LTS) ist plötzlich die Netzwerkkarte weg.
Mit ifconfig sieht man nur noch ‘lo’ also den Loopback.
Das liegt daran das sich Ubuntu die Geräte merkt und in der neuen VM aufgrund neuer MAC-Adresse (UUID) eine neue Netzwerkkarte anlegt.
Somit gibt es dann zwei Netzwerkkarten: Eth0 mit alter MAC Adresse die ja gar nicht mehr angeschlossen ist und eth1 welche richtig konfiguriert ist, aber in /etc/network/interfaces nicht gestartet wird.
Das einfachste ist die alte Netzwerkkarte rauszuschmeißen und die neu erkannte auf eth0 umzuändern.
Das findet sich dann in der Datei:
/etc/udev/rules.d/70_persistent-net.rules
Hier einfach den ersten Eintrag mit eth0 löschen und den zweiten Eintrag von eth1 auf eth0 ändern.
Ein Eintrag sieht ungefähr so aus:
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5c:5f:d2", ATTR{type}=="1", KERNEL=="eth*", NAME=”eth0″
Neustarten und das Netzwerk ist wieder da.
Kategorie: Linux, Ubuntu |
Keine Kommentare »
Samstag 7. Februar 2009 von mha
Unter Windows Vista ist ja das Administrator Konto standartmäßig deaktiviert. Bei Vista Business oder Ultimate reicht kann man das über die Oberfläche machen:
Startleiste –> rechtsklick auf Computer –> Verwalten –> Benutzer und Gruppen –> Benutzer –> rechtsklick auf Administrator –> Eigenschaften –> Haken bei deaktivert raus.
Bei Vista Home ist der Bereich Benutzer und Gruppen abgeklemmt….schönen dank nach Redmond an dieser Stelle…
Aber das ist nicht weiter schlimm. Man öffnet eine Kommandozeile mit einem User der Administratorrechte hat (Ausführen: cmd <Enter>) und gibt folgendes ein:
net user Administrator /active
Danach kann man sich abmelden und als Administrator wieder anmelden. Aber Achtung entweder dem Administrator sofort ein Kennwort verpassen oder ihn wieder deaktivieren über:
net user Administrator /active:no
Kategorie: Windows |
Keine Kommentare »
Dienstag 3. Februar 2009 von mha
Unter Windows ist JMX remote eigentlich kein Problem man muß lediglich die nötigen Parameter übergeben und schon läuft es:
-Dcom.sun.management.jmxremote (schaltet JMX überhaupt erst mal ein)
-Dcom.sun.management.jmxremote.port=2307 (Der Port der verwendet werden soll...kann natürlich geändert werden)
-Dcom.sun.management.jmxremote.ssl=false (schaltet SSL ab)
-Dcom.sun.management.jmxremote.authenticate=false (schaltet die Benutzerprüfung ab)
Ich gehe hier nicht auf die Verwendung von SSL und Authentifikation ein. Das findet man recht übersichlich auch auf der Sun Seite und für Testzwecke kann man es der Einfachkeit halber auch mal deaktivieren.
Unter Ubuntu reicht diese Konfig NICHT aus.
Man muß IPTABLES zähmen das es den Port durchläßt mit:
iptables -I INPUT -s {Hostname oder IP des eigenen Rechners} -p tcp --destination-port {jmxremote-port} -j ACCEPT
Alternativ kan man für den Hostnamen auch 0/0 angeben dann darf jeder.
Entscheidend ist dann noch die Hostsdatei. Der Hostname darf nicht nach 127.0.0.1 auflösen weil damit RMI irgendwie nicht klarkommt.
Als einfach die /etc/hosts abändern auf:
{Server-IP} {Hostname}
127.0.0.1 localhost
alles andere kann man mit ‘#’ auskommentieren.
Dann sollte es eigentlich funktionieren.
Kategorie: Linux, Ubuntu, java |
Keine Kommentare »
Donnerstag 8. Januar 2009 von mha
Dieser Fehler kommt wenn man nicht als Administrator angemeldet ist und den Service über Jetty-Service.exe –install jetty-service.conf installieren möchte.
Aus irgendwelchen Gründen MUSS man als Administrator angemeldet sein (es reicht nicht wenn der Benutzer in der Gruppe Administratoren ist). Standartmäßig ist das Konto Administrator bei Vista deaktiviert. Also Startleiste –> rechtsklick auf Computer –> Verwalten –> Benutzer und Gruppen –> Benutzer –> rechtsklick auf Administrator –> Eigenschaften –> Haken bei deaktivert raus.
Wer Windows Vista Home benutzt schaut hier: http://labs.scireum.de/?p=24
Wer es sauber machen möchte dem Admin gleich ein Kennwort verpassen. Abmelden, als Admin anmelden. Service reinhauen und fertig.
Kategorie: Windows, java |
Keine Kommentare »
Donnerstag 8. Januar 2009 von mha
Als Netzwerkkarte für Windows 7 in VirtualBox sollte die Intel PRO 1000 MT Desktop verwendet werden. Diese wird direkt nach der Installation auch ohne Guest Additions erkannt.
Kategorie: Virtualbox |
Keine Kommentare »
Donnerstag 8. Januar 2009 von mha
Die Virtualbox Gasterweiterungen (Guest Additions) unterstützen eigentlich nur Windows Vista, daher bricht der Installer wenn er normal unter Windows 7 gestartet wird ab. Als Minimum Version wird “unknown” ausgegeben. Der Trick ist die Gasterweiterung im Vista Kompatibilitätsmodus zu installieren. D.h. in das CD-Rom (bzw. gemoutetes ISO) schauen. (Rechtsklick auf das CD-ROM und dann öffnen
)
Dann ein Rechtsklick auf VBoxWindwosAdditions-x68 bzw. VBoxWindwosAdditions-amd64 für die 64-bit Versio. Ich habe lediglich x86 getestet.
Eigenschaften auswählen, dann auf Kartenreiter “Kompatibilität“.
Unter Kompatibilitätsmodus einen Haken setzen bei “Programm im Kompatibilitätsmodus ausführen für:”
Windows Vista wählen. Übernehmen und OK.
Danach einfach die Datei starten und fertig!
Kategorie: Virtualbox |
Keine Kommentare »
Freitag 2. Januar 2009 von mha
Noch in den letzten Zügen des alten Jahres haben wir ein OpenSource Projekt gegründet. Bei JOFC2 handelt es sich um eine Java API für OpenFlashChart 2 (kurz OFC). OFC bietet einem die Möglichkeit relativ unkompliziert Daten in Diagrammen auf Basis von Flash darzustellen. OFC steht seit der Version 2 unter der LGPL Lizenz und ist somit auch für kommerzielle Entwickler interessant. Die Daten übergibt man per JSON an OFC. Genau hier setzt unsere Bibliothekt an. Mit der API von JOFC2 kann man ein Chartobjekt erstellen, dieses mit Daten füttern (Linien, Balken, X- und YAchsen, Titel usw.) und dann über die toString() Methode alles als JSON String ausgeben.
Links:
OpenflashChart: http://teethgrinder.co.uk/open-flash-chart-2/
jOFC2 (Java API): http://code.google.com/p/jofc2/
weitere Infos über JSON: http://de.wikipedia.org/wiki/JSON
Kategorie: Java EE, Reporting, java |
Keine Kommentare »
Sonntag 16. März 2008 von mha
Oftmals bekommt man Daten unterschiedlichster Art in Tabellenform geliefert und möchte schnell prüfen, ob die Daten keine Duplikate beinhalten.
Gegeben sei eine Artikeltabelle products mit den Feldern:
supplier | supplier_aid | Description | usw. usw.
Sollte selbstverständlich über den Schlüssel supplier, supplier_aid (Lieferant und Werksnummer) eindeutig sein.
Dies prüft man mit folgendem Ausdruck:
SELECT supplier, supplier_aid from products GROUP BY supplier, supplier_aid HAVING count(supplier_aid) >1
WICHTIG! Man muß die Bedingung in die HAVING Klausel stecken und nicht in die WHERE Klausel, da diese vor dem Gruppieren greifen würde.
Ist das Resultset leer, sind alle Datensätze eindeutlig, ansonsten werden die Duplikate angezeigt.
Kategorie: Datenbanken, SQL, Stammdaten |
1 Kommentar »
Dienstag 11. März 2008 von mha
Eine Unix Timestamp ist eine Intergerzahl die, die Anzahl der Sekunden nach dem 01.01.1970 (Beginn des UNIX Zeitalters) enthält. Daher kann man diese Zahl auch recht einfach mit der Access Funktion DateAdd() in ein Datumsobjekt konvertieren.
DateAdd() erfordert drei Operatoren:
Das Intervall (in unserem Fall “s” für Sekunde)
Die Anzahl (in unserem Fall das Feld das die Timestamp enthält)
Das Startdatum (hier natürlich “01.01.1970″)
Der ganze Befehl (der im Feldnamen stehen muß) könnte so aussehen:
Datum: DateAdd("s";[timestamp];"01.01.1970")
Kategorie: Datenbanken, MS Access |
Keine Kommentare »