Man sollte vielleicht grundsätzlich 2 Arten von Tuning unterscheiden.
1. Datenbank Tuning: Das RDBMS inkl
OS, Hardware so einrichten, dass es unter den gegebenen Anforderungen optimal läuft.
2. Anwendungstuning: Indexoptimierung, Statistikaufbau, ...
M.E. ist nur das Datenbanktuning eine zentrale Aufgabe eines Admin. Ein
DB Setup an sich erfolgt idR. mit default Einstellungen, die je nach Bedarf angepasst werden sollten. Auch eine Adminaufgabe. Die Konfiguration bspw. für ein DWH sieht anders aus, als bei einer Online Transaktion Processing
DB.
Ein Entwickler, der ein komplexes Select Statement baut, darf und soll sich auch ruhig Gedanken machen, wie das mit der vorhandenen oder fehlenden Indizierung, dem Mengengerüst usw. läuft und natürlich in jedem Fall, ob es nicht noch eleganter, sprich einfach, kürzer, kompakter geht. Das ist nicht unbedingt eine Adminaufgabe.
Für beide, Entwickler und Admins gilt:
Insbesondere das Thema Indizes, also im Endeffekt Ausführungspläne sind ja kein Geheimnis. Ein
SQL Aufruf und die Datenbank zeigt den Ausführungsplan. Das ist erstmal keine Hexerei. Spannend wird es u.U., wenn selbst mittels Optimizer Hints nicht der gewünschte Index genutzt wird. Hier verhält sich nach meiner Erfahrung kein System deterministisch. Es sind von Menschen kreierte "Optimizer"-Algorithmen, die man versucht zu beeinflussen.
Ein (beliebig) schlecht formuliertes
SQL, fehlende oder falsche Indizes können durch Admin oder Entwickler oft um Faktor 10,100,1000 verbessert werden. Das sehen wir ja hier im Forum ab und zu. Dazu genügt oft ein Blick auf den
Query Plan. Da sehe ich auch keinen unterschiedlichen Bedarf an Schulung zwischen den verschiedenen Systemen.
Dies gilt für jedes RDBMS, das ansatzweise einen Queryoptimizer einsetzt.
Der Instantclient ist m.E. problemlos.
Administrationskosten:
Ich habe mal in einem Rechenzentrum gearbeitet, wo eine 3-4 stellige Anzahl von Orcale
DB durch 1,5 festangestellte Admins betreut wurden. Zugegeben, die waren überm Limit. Aber lass es 2, 4 oder 10 Stellen sein. Fänd ich ok, egal für welches System.
Administrationskosten2:
Ich habe mal gelesen, dass der Oracle Optimizer bei der Optimierung die physikalische Lage der Tablespaces berücksichtigt. Ich habe es nie überprüft, aber das wäre ein Punkt, wo ein Admin seine Qualifikation zeigen könnte.
Klar ist, wenn ein System sehr komplexe Eingriffsmöglichkeiten bietet, wird auch die Administration komplexer und teurer. Offenbar ist das bei Oracle so.