DOAG Datenbank Kolumne: Template oder "from Scratch"

  • Erstellt von Johannes Ahrends
  • Datenbank Kolumne, Datenbank

Eine Frage stellt sich immer wieder, wenn es darum geht, wie man eine neue Datenbank aufbaut.

Nehmen wir ein von Oracle mitgeliefertes Datenbank-Template ("Data Warehouse" oder "General Purpose or Transaction Processing") oder bauen wir die Datenbank aus Skripten aus?
Für mich ist die Antwort ganz einfach: Ich lasse mir mit dem dbca die Skripte erstellen, schaue mir an, was sie machen, editiere sie gegebenenfalls und lasse dann die Datenbank damit erstellen. Damit weiß ich ziemlich gut, was alles in der Datenbank installiert ist und was nicht (zum Beispiel OJVM oder "Size unlimited" für die Datafiles).
Die Skripte können auch noch Jahre später als Vorlage für neue Datenbanken dienen und sind als Dokumentation gut geeignet. Die mitgelieferten Templates sind immer eine "Black Box" und ich weiß nicht genau, was alles installiert wurde.
Kleine Info am Rande: Die beiden Templates sind identisch, sie unterscheiden sich (zumindest bei der von mir getesteten Version 19.3) um gerade einmal einen Parameter (star_transformation_enabled).

Natürlich muss man beachten, dass das Erstellen der Datenbank über Skripte länger dauert, als wenn man die Datenbank aus dem Template einfach kopiert (so wie es bei Pluggable Databases der Fall ist). Aber man kann natürlich sein eigenes Template erstellen und dann die weiteren Datenbanken aus diesem aufbauen. Somit ist die zusätzliche Zeit beim ersten Mal gut investiert.

Hier einmal eine Gegenüberstellung für den Aufbau einer Datenbank auf einem Linux-Server mit zwei Cores und 16 GB Memory:

dbca:
- Typical Configuration mit Template         = 00:21 Minuten
- Advanced Configuration mit Template    = 00:18 Minuten
- Advanced Configuration ohne Template = 00:52 Minuten

Skript:
- Advanced Configuration mit Template     = 00:13 Minuten
- Advanced Configuration ohne Template  = 01:21 Stunden

Auch wenn die Advanced Configuration ohne Template als Skript am langsamsten ist, lohnt sich der Aufwand.
 

Johannes Ahrends

Datenbank Themenverantwortlicher Datenbankadministration

 

Bild von Arek Socha auf Pixabay