Montag Okt. 10, 2005

APACHE: SSL-Probleme

Es ist schon witzig, was passiert, wenn man auf dem SSL-Port 443 (wo er standardmäßig normalerweise ja liegt) beim Apache gar kein SSL konfiguriert hat ;-) Firefox meinte dazu, das zwar was angekommen sein, aber nur so halb - oder auch nicht... Und curl sagt dazu:

curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

Wenn diese Meldung kommt, hat man wahrscheinlich etwas bei den Apache <VirtualHost>-Direktiven etwas falsch gemacht. Da ja hostbasierende virtuelle Host's mit SSL prinzipbedingt schon nicht funktionieren, klappt das nur mit IP basierenden virtuellen Host's z.B. so:

Listen 80
Listen 443
NameVirtualHost 213.146.120.238:80
NameVirtualHost 213.146.120.238:443

Und für jeden virt. Host dann noch z.B.:
<VirtualHost 213.146.120.238:80>
  ServerName meinservername.de
</VirtualHost>

<VirtualHost 213.146.120.238:443>
  ServerName meinzweiterservername.de
</VirtualHost>

Bei mir kam die Meldung, weil ich die virt. Hosts Konfiguration in eine separate Datei ausgelagert hatte. Leider habe ich aber eine andere Datei eingebunden und da waren ganz andere virt. Hosts konfiguriert ;-) Es fehlten also sämtliche <VirtualHost>-Einträge für die oben definierten Listen- und NameVirtualHost-Parameter. Tja... Blöde Sache sowas ;-)

Samstag Okt. 08, 2005

VDR: Wie kann ich die Liste der Aufzeichnungen erneuern?

Man platziert einfach eine Datei ".update" im Video-Verzeichnis. Etwa so:

touch .update

Dienstag Okt. 04, 2005

ORACLE: 8.1.7.0 -> 8.1.7.4

Ich liebe Oracle... Da will man eine Oracle 8.1.7.0 Datenbank endlich mal auf 8.1.7.4 upgraden, geht Schritt für Schritt nach dem Readme vor, will die Datenbank wieder hochfahren und ... Nix is! Kommt 'ne tolle Fehlermeldung. Und warum? Weil man den glibc-Stubs Patch nochmal einspielen muß vorher. Echt toll! Hätte man ja vielleicht auch im Readme erwähnen können. Na ja. Mehr dazu findet man in Oracle Metalink.

Mittwoch Sep. 21, 2005

NFSd: Wieviele NFS-Server sind nötig?

Wie checkt man, ob man genügend NFS-Server am Laufen hat? Die Standard-Einstellung ist meistens 8 NFS-Prozesse zu starten (z.B. bei Debian/Ubuntu zu sehen unter /etc/default/nfs-kernel-server). Zuerst guggt man sich mal folgende Datei an:

cat /proc/net/rpc/nfsd

Dort sucht man dann nach einer Zeile, die mit th beginnt z.B.:

th 8 0 353.362 357.800 54.900 0.000 51.517 0.038 0.000 0.000 0.000 0.000

Hier ist noch alles im Lot. Wenn allerdings die Zahlen ab der vierten Position immer größer werden, sollte man die Anzahl der NFS-Prozesse erhöhen. Solange noch welche dabei sind, die bei 0 liegen, muß man sich bezgl. der Anzahl der NFS-Prozesse noch keine Sorgen machen.


Dienstag Sep. 20, 2005

Oracle Betriebssystem Zertifizierung

Welche Oracle-Version mit welchem Betriebsystem zusammen arbeitet, seht hier.

Donnerstag Sep. 15, 2005

ORACLE: Welche View's zeigen den Indexstatus an?

Wenn man wissen will, ob ein Index korrupt ist, gibt es unter Oracle die View's DBA_INDEXES, ALL_INDEXES, USER_INDEXES und USER_IND_PARTITIONS für partitionierte Indizies. Die Spalte STATUS zeigt jeweils an, ob ein Index VALID/INVALID oder USABLE/UNUSABLE ist. Um z.B. zu guggen, ob die partitionierten Indizies i.O. sind, gibt man unter SQLPlus ein:

SELECT index_name, partition_name, status FROM user_ind_partitions;

Ein paar weitere Info's zum Thema Indizies:
Ask Tom: Rebuilding Indexes
Ask Tom: Index rebuild
Ask Tom: Valid/unusable indexes

Mittwoch Aug. 24, 2005

Wie ändert man den Zeitstempel einer Datei unter Linux/UNIX?

Ganz einfach mit touch -t [[CC]YY]MMDDhhmm[.ss] DATEINAME.

Dienstag Aug. 23, 2005

ORACLE: SQLPlus in der Kommandozeile

Wenn man SQLPlus auf der Kommandozeile benutzt, um sich z.B. alle Parameter der Datenbank rauszulassen, den könnte event. das ganze "Drumrum" noch stören, wie z.B. die Headlines, Seitenabstände und die Anzahl der gefunden Datensätze. Um die gefundenen Datensätze schön in einem Skript verarbeiten zu können, sollte das ganze unnütze Zeugs also weg, damit man die Daten sauber verarbeiten kann. Wenn man also die View v$parameter auslutschen möchte, würde das Skript dann z.B. so aussehen:

set linesize 200
set heading off
set newpage none
set feedback off
column name format a40
column value format a40
SELECT name, value, isdefault FROM v$parameter ORDER BY name;
exit

Und damit dann SQLPlus auch noch ruhig ist, ruft man es mit der Option -S auf z.B. so:

sqlplus -S "/ as sysdba" @YOUR_SCRIPT.sql

Dienstag Aug. 09, 2005

Linux Sicherheit

Ist es einem durchschnittlicher User möglich, sein Linux-System abzusichern und sicher zu halten, fragt dieser Artikel. Bob Toxen meint ja und erklärt, wie man in 5 Schritten sein System "abdichten" kann.

Montag Aug. 08, 2005

ORACLE: dbms_stats.gather_schema_stats

Im Gegensatz zur Oracle 8i verläßt sich der CBO (Cost Based Optimizer) in der 9i oder 10g noch viel mehr auf die Statistiken über Tabellen, Indizies, usw. Deshalb sollten die auch immer möglichst aktuell sein bzw. aktuallisiert werden, wenn sich viel geändert hat, damit die Ausführungspläne möglichst optimal berechnet werden können, was natürlich der Performance zu Gute kommt.. In der 8i hat sich immer wieder mal die Frage gestellt: "Welchen Wert nehm ich jetzt für estimate_percent, welchen für das, usw.?". Seit der 9i kann man diese Fragen nun z.T. der Datenbank überlassen. Möchte man z.B. ganzes Schema samplen, kann man folgende Prozedur ausführen:

exec dbms_stats.gather_schema_stats(ownname => '<SCHEMANAME>',estimate_percent => dbms_stats.auto_sample_size,method_opt=>'for all columns size auto', cascade=>true);

<SCHEMANAME> natürlich durch das zu analysierende Schema ersetzen. Mehr dazu: Oracle9i Optimizer Statistics Collection Enhancements

Das Ganze funkt natürlich auch mit einzelnen Tabellen:

exec dbms_stats.gather_table_stats(ownname=>'<SCHEMANAME>', tabname=>'<TABELLENNAME>',estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,cascade=>true);

Donnerstag Aug. 04, 2005

SAMBA: "does not exist or is not a directory"

Wenn man im Samba Log auf folgende Fehlermeldung stößt

[2005/08/04 14:57:36, 0] smbd/service.c:make_connection_snum(615)
  '<VERZEICHNIS>' does not exist or is not a directory, when connecting to [<SHARENAME>]

liegt's u.U. einfach an den Verzeichnisrechten. Der Pfad <VERZEICHNIS> hat dann eventl. zu wenige Rechte, als dass sie für den User/Gruppe in der smb.conf ausreichen würden. Wenn <VERZEICHNIS> oder ein darüber liegendes Verzeichnis z.B. die Rechte drwx------ (700) hat und in der smb.conf unter dem Share ein anderer User steht, als der dem das Verzeichnis gehört, dann kommt obige Meldung. Also in diesen Fall einfach den Owner des Verzeichnisses ändern (soweit möglich) oder die Rechte auch auf die Gruppe ausdehnen und den User in die Gruppe aufnehmen.

Mittwoch Juli 27, 2005

Windows ohne Services?

Kann man Windows ganz ohne Services laufen lassen? Es geht. Mark Russinovich von Sysinternals hat es ausprobiert.

Dienstag Juli 26, 2005

PERL: Wie findet man raus, welche Perl-Module installiert sind?

Die CPAN-FAQ gibt Anwort: How do I find out what modules are already installed on my system?

Samstag Juli 23, 2005

SQL Code Beautifier

Wenn man mal wieder ein chaotisches SQL-Skript vor sich hat, kann man sich das hier durchformatieren lassen.

Freitag Juli 22, 2005

LINUX: I/O Scheduler ändern

Unter Linux mit Kernel 2.6 hat man eine relativ elegante Möglichkeit, soz. online den I/O Scheduler zu verändern. Vorallem bei USB- und Firewire-Festplatten sollte man durchaus mal den CFQ-Scheduler probieren:

echo "cfq" > /sys/block/<FESTPLATTE>/queue/scheduler

Wenn also die erste Firewire-Platte unter /dev/sda reingehängt wird, schreibt man also bei obigen Befehl bei <FESTPLATTE> sda einsetzen. Wenn es interessiert, mit welchen Scheduler gerade seine Platten laufen, kann sich folgendes Skript downloaden: show_io_scheduler.sh. Es zeigt alle Platten im System an und welchen Scheduler jede einzelne Platte verwendet. Das Skript wurde mal auf der Firewire-Mailingliste gepostet.