Seit nun über einem Monat sitze ich an unserer Vereins-Website. Da ich es leid bin HTML zu hacken, habe ich mich für ein Content-Management-System (CMS) entschieden. Joomla, der erste Schuß, ging ja wie unten beschrieben nach hinten los.
Der nächste Versuch sollte Typo3 sein. Ok, es mag vielleicht am besten dokumentiert sein, jedoch von intuitiver Nutzerführung kann man bei diesem CMS nicht sprechen. Von allen CMSen, die ich bisher ausprobiert habe, war Typo3 das mit Abstand am schlechtesten bedienbare. Es ist nix da wo man es erwartet. Nachdem ich mich ungefähr eine Woche mit der Doku rumgeschlagen habe, konnte ich unsere rudimentäre Web-Seite zusammen bauen. Als Krönung wollte ich noch eigenen PHP-Code hinzufügen. Nachdem ich mir die Sourcen und Konzepte von Typo3 näher angeschaut hatte, verlor ich die Lust. Ich habe ja schon einigen Spagetti-Code gesehen…aber… oh je, oh je. Typo3 ist für mich der Beweis, dass Open-Source nicht immer gut ist.
Naja, nun bin ich bei Contenido angelangt. Ich muss sagen, innerhalb von 3 Tagen (ohne groß Doku zu lesen) habe ich das selbe erreicht, was ich mit Typo3 in 14 Tagen geschaft habe. Bei Contenido ist alles da wo ich es erwarte. Das Konzept von Layout, Modulen und Templates gefällt mir sehr gut. Es ist leicht verständlich und einfach zu handhaben. Eigene Module für die Webfront sind schnell entwickelt. Eine große Schwäche hat es allerdings. Für Erweiterungen im Backend muss man schon einiges mehr machen. Leider gibt es auch kein Plugin-Installer, der ein das Leben leichter machen würde. Mal sehen, wann die Seite online geht.
die TKV-Seite ist gerade mal ein halbes Jahr online und wurde schon 2 mal gehackt. Das Konzept von Joomla erfordert eine gewisse Diziplin vom Komponenten-, Modul- oder Mambots-Entwickler. Leider ist diese in der OpenSource-Szene nicht sehr verbreitet. Also liebe Joomla-Benutzer, folgende Regeln solltet ihr einhalten:
- Lese jeden Tag Heise und spiele sofort eventuelle Sicherheitsupdates ein.
- Traue keiner Komponente, keinem Modul und keinem Mambot. Diese werden nicht zentral gereviewt.
- Überprüfe den Inhalte der Erweiterung selber.
Im Zuge meiner Verantwortlichkeit bezüglich Locking in unserer Firma habe ich mir das Package DBMS_LOCK genauer angeschaut. Mein Resumee: einfach und genial. Mit diesem Package ist es ganz einfach, die Read- bzw. Write-Locks zu implementieren.
Man benötigt drei Methoden:
- DBMS_LOCK.ALLOCATE_UNIQUE: Mit dieser Prozedur wird ein eindeutiges Lock-Handle generiert. Dieses hängt vom übergebenen Namen ab (symbolisiert eine benannte Ressource, die gelockt werden soll). Das erzeugte Handle sollte nicht über Session-Grenzen übergeben werden. Es genügt, diese Prozedure vor Nutzung der REQUEST- bzw. RELEASE-Methode zu benutzen.
- DBMS_LOCK.REQUEST: Ein Lock für eine Named-Resource wird mit dieser Prozedur angefordert. Dabei werden vier Parameter übergeben. Ersterer beinhaltet das Lock-Handle, dass wir uns mit der ALLOCATE_UNIQUE-Prozedur erhalten haben. Mit ‘lockmode’ können wir bestimmen, welcher Lock-Typ acqueriert werden soll (nähreres weiter unten). ‘timeout’ definiert, wie lange der Aufrufer maximal warten soll, um den Lock zu bekommen. Der letzte Parameter ‘release_on_commit’ definiert, ob der Lock durch ein COMMIT bzw. ROLLBACK oder durch den expliziten Aufruf von RELEASE freigegeben werden soll.
- DBMS_LOCK.RELEASE: Der acquirierte Lock wird, wenn nicht duch ‘release_on_commit’ anders definiert, durch diese Prozedur freigegeben.
Wie implementiert man nun aber Read- bzw. Write-Locks?
Ganz einfach: Man verwendet die entsprechenden Lock-Typen. Es bietet sich für den Read-Lock der ‘lockmode’=4 an. Mehrere Locks von diesem Typ können auf eine Named-Resource zugreifen. Für Write-Locks sollte man ‘lockmode’=6 verwenden. Dieser stellt sicher, dass nur er allein Zugriff auf die gelockte Resource hat.
Mein Beispiel-Package demonstriert die Aufrufe.
Als nächstes Projekt haben wir uns das/der/die Oracle Application Express (Früher: Oracle Express Edition mit HTMLDB) installiert. Diesmal auf Windows. Dauer: 10min. Das spricht für sich. Eine wirklich einfache Installation mit der man in kürzester Zeit viel Datenbank bekommt.
- Als oracle mit Target-Host verbinden
- Das Download-Skript vom Grid-Control-Host herunterladen:
http://:4889/agent_download/(mit Slash) - Das Download-Skript (
agentDownload.linux) als Oracle-User ausführen. - Den Anweisungen folgen. -> Man muß noch ein
root.shausführen. - Danach muss sich sich der neue Agent beim Grid-Control anmelden. Dazu folgendes ausführen:
$AGENT_HOME/bin/emctl secure agent. - Im Grid-Control auf die Target-Database gehen und das entsprechende Sys-Passwort eingeben (Nutzung der Konfiguration).
Nach einigen Startschwierigkeiten mit der Konfiguration der Netzwerkkarte, haben wir es endlich geschafft. Die SLES9 ist zwar leicht zu bedienen, man weiß aber nicht, was genau passiert, wenn man das yast2 benutzt. Effekt war, das sich die Reihenfolge der Netzwerkkarten auf dem einen Rechner geändert hatte. Dadurch schlug die CRS-Installation fehl, die sich über SSH auf die anderen Nodes verbindet. Nach manuellem Ändern des Hostnames in /etc/HOSTNAME und einem Reboot, lief die Installation “fast” fehlerfrei durch.

…begeben sich unruhige und wissensbegierige Oracle-DBAs, -Entwickler als auch -Anwender sich zu einem Wochenende der Extraklasse, dem Oracle Hackers-Weekend:

Dort bekommt man Gelegenheit, die neuen Oracle-Feature nicht auf einer Powerpoint-Präsentation, sondern wirklich live zu erleben und zu testen. Auch wir sind dabei. Der Bericht folgt….
Da gibt es mehrer Möglichkeiten:
ALTER SESSION SET SQL_TRACE=TRUEALTER SESSION SET EVENTS '10046 trace name context forever, level 4'
Wobei der User das Recht ‘ALTER SESSION’ haben muss. Ab der 10g muss dieses Recht explizit vergeben werden. Die Trace-Dateien landen dann im User-Dump Verzeichnis der Datenbank-Installation. Das ‘level’ gibt die Ausführlichkeit der Trace-Datei an. Im Standard-Fall reicht 4.
Wie schaltet man die Autotrace-Funktion im SQL*Plus ein?
- Als sys:
@?/sqlplus/admin/plustrce GRANT plustrace to $user$- Als $user$ neu einloggen!!!
SET AUTOTRACE ON
Bei manchen Hostern ist die PHP-Einstellung ’safe_mode’ in der php.ini-Datei auf ‘On’ gestellt. Das führt dazu, dass keine Komponenten, Module, Mambots und Templates installiert werden können.
Ist ’safe_mode’ aktiviert, prüft PHP, ob der Eigentümer des PHP-Skripts dem Eigentümer der zu bearbeitenden Datei/Verzeichnis entspricht. Damit wird verhindert, dass zum Beispiel mit:
readfile('/etc/passwd');
auf Dateien zugegriffen wird, die vom ausführenden Nutzer nicht zu bearbeiten sind.