Einführung

Eine Standard-Anwendung stellt in der Regel bestimmte Anforderungen an die Konfiguration ihrer Oracle-Datenbank. Je enger die Anwendung an die Datenbank gebunden ist, desto spezieller sind diese Anforderungen. Dabei beschränkt sich der Begriff Konfiguration nicht nur auf die Parametrisierung der Datenbank, sondern umfasst darüber hinaus:

  • System- und Objektprivilegien sowie Rollen des Anwendungs-Schemas
  • Java-Policies
  • Standard-Benutzer und -rollen
  • Standard-Profile
  • Optionen für die Berechnung der Optimizer-Statistiken

Diese Konfiguration ändert sich mit den Versionen der Datenbank- und/oder der Anwendung. Diese Änderungen werden dokumentiert – ob und wie sie in die laufenden Installationen übertragen werden, ist jedoch unsicher.

Mit der integrierten Oracle-Lizenz (Embedded Software License – ESL) kommt dazu, dass die notwendigen Werkzeuge für die Kontrolle und Pflege der Konfiguration so nicht zur Verfügung stehen.

Der quasiDBA-Konfigurator adressiert genau diese Herausforderungen.

quasiDBA-Konfigurator

quasiDBA-Konfigurator

Im Folgenden betrachte ich ausgewählte Funktionen und die korrespondierenden Inhalte der Konfigurationsdatei näher.

Konfigurations-Datei

Da die Konfiguration versionierbar und mit der Anwendungs-Software gemeinsam ausgeliefert werden soll, wird sie als Datei publiziert. Dabei handelt es sich um ein XML-Dokument, das zu jedem Aspekt der Konfiguration einen Unterknoten enthält. Beim ersten Starten einer Funktion aus dem Konfigurator wird der Anwender aufgefordert, die Konfigurations-Datei auszuwählen – sie ist dann für die gesamte Sitzung gültig.

Die Konfigurations-Datei muss durch Partner, die quasiDBA in ihre Lösung einbetten, natürlich entsprechend ihren Vorgaben gepflegt und ausgeliefert werden.

Der Konfigurator implementiert auch zwei Funktionen, die aus Sicht des Administrators hierher gehören, jedoch die Konfigurations-Datei nicht benötigen:

<configurationFile
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="configfile.xsd">

<dbParameters_10g>
...
</dbParameters_10g>

<dbParameters_11g>
<!-- wie 10g, ohne multiblock_read_count und ohne _complex_view_merging -->
<!-- default parameters, must not be set -->
<dbParameterToReset>_optimizer_push_pred_cost_based</dbParameterToReset>

<!-- parameters must have exact this given value -->
<dbParameter>
<!-- working around a bug -->
<name>_b_tree_bitmap_plans</name>
<dbParameterValue> <value>FALSE</value> </dbParameterValue>
</dbParameter>

<dbParameter>
<name>db_block_size</name>
<dbParameterValue> <value>8192</value> </dbParameterValue>
</dbParameter>

<!-- parameters, with strongly recommended minimal values -->
<dbParameter>
<name>job_queue_processes</name>
<dbParameterValue type="min"> <value>10</value> </dbParameterValue>
</dbParameter>

<!-- tuning parameters, must have this value at least -->
<dbParameter>
<name>open_cursors</name>
<dbParameterValue type="min"> <value>1200 </value> </dbParameterValue&amp;gt
</dbParameter>

<dbParameter>
<name>session_cached_cursors</name>
<dbParameterValue type="min" dependingOnParameter="true"> <value>open_cursors</value> </dbParameterValue>
</dbParameter>
</dbParameters_11g>

 

  • Support-Shell (siehe unten)
  • Code-Runner

Datenbank-Parameter

Die Datenbank-Parameter können unter der Funktion DB-Administration prinzipiell eingesehen werden. Ändern kann der Administrator dort jedoch nur eine definierte Menge an Parametern – nämlich alle die, die sich auf die konkrete Maschine bzw. Instanz beziehen – alle anderen Parameter können nur über den Konfigurator manipuliert werden. Nach dem Starten der Funktion „Datenbank-Parameter“ im Konfigurator, ist zunächst die aktuelle Konfigurations-Datei auszuwählen (falls nicht bereits zuvor geschehen). Unmittelbar danach wird die aktuelle Parametrisierung der Instanz gegen die vorgegebene Parametrisierung verglichen:

quasiDBA-DB-Parameter

quasiDBA-DB-Parameter

Der Administrator kann also die Änderungen an seinem System erst prüfen, bevor sie ausgeführt werden – dazu muss der Button „ausführen“ im Toolbar ausgewählt werden.

Der zugehörige Abschnitt der Konfigurationsdatei kann wie folgt aussehen:

Es werden also entweder konkrete Parameter-Werte (db_block_size), Minimalwerte (job_queue_processes) oder Relationen (session_cached_cursors) angegeben.

Der Konfigurator setzt voraus, dass die Datenbank mit einem SPFILE konfiguriert ist, anderenfalls korrigiert er das.

Support-Shell

Da im Rahmen des Supports teilweise auch SQL-Statements durch den Administrator auszuführen sind, im Rahmen ESL das SQL*Plus jedoch dem Administrator nicht zur Verfügung steht, implementiert der Konfigurator auch eine „Support-Shell“:

quasiDBA-Support-Shell

Unser Support liefert nun ggf. ein SQL-Script aus, das der Administrator beim Kunden hier lädt und ausführt. Dieses Script darf alle SQL-Statements sowie SQL*Plus-Kommandos enthalten; die Ausgabe wird im unteren Teil des Arbeitsbereiches dargestellt und kann wiederum in eine Datei gespeichert und ggf. dem Support übergeben werden.

Für das Starten wird eine dedizierte Datenbank-Verbindung geöffnet – der Benutzer muss sich also extra anmelden – so dass dafür alle notwendigen Accounts genutzt werden können.

Standardrollen und -benutzer

Um Standard-Accounts und/oder -rollen zu konfigurieren, werden in der Konfigurations-Datei folgende Objekte verwaltet:

  • Rollen
  • Profile (Name, Passwort-Lebensdauer, keine weiteren Attribute)
  • User (Name, initiales Passwort, Profile)
  • Grants Rolle zu Rolle
  • Systemprivilegien zu Rollen und Benutzern
  • Objektprivilegien zu Rollen und Benutzern

Dabei werden grundsätzlich nur Objekte bzw. Berechtigungen hinzugefügt (nicht entzogen), bei den Grants kann die Grant Option angegeben werden.

Statistikoptionen

Die folgenden Optionen für das Sammeln der Optimizer-Statistiken werden konfiguriert:

  • CASCADE
  • ESTIMATE_PERCENT
  • GRANULARITY
  • AUTOSTATS_TARGET
  • NO_INVALIDATE
  • METHOD_OPT

Da PARELLEL_DEGREE abhängig vom Server ist, wird dieser nicht durch den Konfigurator eingestellt.

Erfahrungen

Mit dem quasiDBA-Konfigurator wurden zwei Aufgaben gelöst:

  • Als Software-Hersteller liefern wir die Standard-Konfiguration versioniert und bequem anwendbar aus
  • Administratoren haben ein zuverlässiges Werkzeug, ihre Datenbank korrekt zu konfigurieren

Weitere Informationen im quasiDBA-Handbuch bzw. bei der SIV.A&T GmbH.

Teile diesen Artikel:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *