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);

Today's Links

Top Ten DTRACE Scripts
Wer mit Solaris 10 arbeitet, wird früher oder später über DTRACE stolpern. Diese Skripte hier, sollte jeder Sysadmin draufhaben. Man brauch sie einfach :-)

KiXtart
KiXtart ist eine Skriptsprache speziell für Systemadmin's unter Windows und eignet sich hervoragend für Logon-Skripte. Mehr Info' hierzu auch hier.

Third-party Komponenten in Geronimo
Wie man eigene Komponeten in Apache's Java-Applikationserver Geronimo einfügt, beschreibt dieser Artikel.