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.