|
dba |
Im Rahmen der durchgeführten Projekte haben wir oft DBA-Rollen übernommen.
Dabei haben wir sowohl DBA-Tätigkeiten selber ausgeführt, als auch DBAs betreut und den
Rechenzentrumsbetrieb unterstützt. Die Schwerpunkte unserer DBA-Tätigkeiten sind:
- Überwachung der Datenbanken hinsichtlich Prozesse, Performance,
Tablespaces etc. Dies kann je nach Fall mit Tools wie Oracle Enterprise Manager
oder TOAD, oder mit eigenen Skripten, Ad-hoc Queries und DML-Statements erfolgen.
- Backup & Recovery - eine der wichtigsten Aufgaben eines DBAs,
insbesondere bei kritischen Systemen (bzgl. Datenintegrität oder Verfügbarkeit).
Es gibt viele Methoden, den Backup einer Datenbank durchzuführen; es muß im
konkreten Fall entschieden werden, welche Strategie am besten geeignet ist:
- Offline (Cold Backup) oder Online (Hot Backup)
- Kopieren der Tablespaces und ggf. der (Archived) Redo Logs oder Export/Import
- direkt, mit eigenen Skripten oder mit Hilfe eines Tools, z.B. RMAN
- Verwaltung der Tablespaces und Datafiles; Zuordnung der Objekte
(Tabellen und Indizes) zu Tablespaces
- Verwaltung der User und Schemata, Zuordnung der Tablespaces zu
User, Zuweisung von Quotas etc.
- Verwaltung der Rechte und Rollen:
- minimales und möglichst redundanzfreies Erteilen von Rechten
- korrekte Strukturierung der Rechte innerhalb von Rollen und korrekte
Verschachtelung
der Rollen
- Einstellung der Datenbank-Parameter und Optimierung der
Datenbank-Konfiguration
(bzgl. pfile/spfile, Optimizer etc.)
- Export und Import einer Datenbank, einzelner Schemata oder
einzelner Objekte; Migration von Datenbanken auf andere
Plattformen
- Upgrade der Datenbank-Software, Einspielen von optionalen
Paketen sowie von Patches und Hotfixes
- Betrieb von Stand-By Datenbanken / Data Guards
- Behebung oder Workarounds bei technischen Problemen,
Zusammenarbeit mit dem Oracle Technical Support
- Release Deployment (Development => QA => Prod)
- . . .
DBA-Kenntnisse können durchaus auch im Entwicklungsprozeß nützlich sein.
So führt die gleichzeitige Beherrschung der Datenbank-Administration und der
Datenbank-Entwicklung zur Verbesserung der Ergebnisse und zur Erhöhung der Effizienz.
Grund hierfür ist die Bündelung der Kompetenzen auf allen Ebenen, von der Logik, die in
PL/SQL-Packages implementiert ist, bis zu den Parametern der Tablespaces, dem
Parallelitätsgrad oder dem Einfluß der High Water Mark auf die Effizienz bestimmter
Abfragen. Dadurch wird ein einheitliches Design, eine Reduzierung der Anzahl der
Iterationen im Entwicklungsprozeß und eine durchgehende Performance-Optimierung ermöglicht.
Inbesondere Performance-Tuning sollte im Datenbank-Umfeld nicht als ein
"Add-On", das von jemand anderem - also, von dem DBA - nach Abschluß der Entwicklung
durchgeführt wird; vielmehr muß es mit der Entwicklung und weitestgehend bereits mit der
Design-Phase eng verzahnt sein.
Dabei ist auch die Kenntnis des Inhaltes und der Semantik des Data
Dictionaries wichtig und hilfreich. Zum einen liefert das Data Dictionary
Informationen über die Objekte in der Datenbank und ermöglicht dadurch u.a. die
generische Erzeugung von Objekten oder von Code. Zum anderen stellt es Informationen über
die Datenbank selbst - wie Benutzung von Ressourcen, Performance etc. - bereit und
ermöglicht dadurch die zeitnahe Überwachung der laufenden Prozesse sowie ein einfacheres
Nachvollziehen der Verbindung zwischen Ursache und Effekt.
|
|
|