Anlegen und Löschen des Enterprise Managers

03.
September
2010
Veröffentlicht von: Matthias Meyer

Wer kennt das Problem nicht:
Sie wollen nur "mal schnell" einige Informationen zu Ihrer Datenbank abfragen oder "schnell" einen Ihrer Tablespaces erweitern.
In welcher View stehen die Informationen gleich wieder? War das jetzt ein ALTER TABLESPACE oder ein ALTER DATABASE-Befehl??
An der Stelle kommt Ihnen vielleicht der Gedanke:

Wer kennt das Problem nicht:

Sie wollen nur "mal schnell" einige Informationen zu Ihrer Datenbank abfragen oder "schnell" einen Ihrer Tablespaces erweitern.
In welcher View stehen die Informationen gleich wieder? War das jetzt ein ALTER TABLESPACE oder ein ALTER DATABASE-Befehl??

An der Stelle kommt Ihnen vielleicht der Gedanke:
Das ist doch die richtige Gelegenheit, um dem Enterprise Manager mal wieder eine Chance zu geben. Sie starten also Ihren Browser, geben Ihre Database Control-Adresse ein und ...

... Verbindung fehlgeschlagen ...

Möglicherweise schaffen Sie es aber auch bis zum Anmeldefenster, geben erwartungsvoll Ihre Benutzerkennung ein und ...

... java.lang.<...>Exception-Fehler ...

So ein Mist ...

Und somit kann aus dem "Nur mal schnell"-Versuch eine recht langwierige und frustrierende Suche nach möglichen Ursachen für das (erneute?) "Versagen" des Enterprise Manages werden.

Natürlich werden auch für den Database Control entsprechende Log-Dateien gepflegt, die einem (viele) Informationen liefern können. Aber leider, wie so häufig bei Log- oder Trace-Dateien, nicht unbedingt ein wirkliche Hilfestellung leisten.

Stellt sich also die grundsätzlich Frage, was machen Sie, wenn es massive Probleme mit dem Enterprise Manager gibt?

Dazu sollen Ihnen im folgenden Beitrag zwei Lösungsansätze vorgestellt werden.

Neukonfiguration des Database Control ohne Löschen und Neuerzeugung des Repositories

Diese Methode stellt die "sanfte" Variante dar, bei der lediglich eine Neukonfiguration des Database Control durchgeführt wird. Vorteil hierbei ist, dass der Produktivbetrieb nahezu unbetroffen ist und das Ganze innerhalb von Minuten vollzogen ist. Nachteil ist, dass sich damit leider nicht sämtliche Enterprise Manager Probleme lösen lassen.

Zur Durchführung starten Sie die Kommandozeile, wechseln in das richtige ORACLE_HOME-Verzeichnis und rufen das EMCA-Tool auf.

C:\>emca -config dbcontrol db

STARTED EMCA um 24.09.2010 11:32:31
EM-Konfigurationsassistent, Version 11.2.0.0.2 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved. Alle Rechte vorbehalten.

Geben Sie folgende Informationen ein:
Datenbank-SID: o11g2
Database Control ist schon für die Datenbank o11g2 konfiguriert
Sie haben beschlossen, Database Control zur Verwaltung der Datenbank o11g2 zu konfigurieren
Dadurch werden die bestehende Konfiguration und die Standardeinstellungen entfernt und wird eine neue Konfiguration vorgenommen.
Möchten Sie fortfahren? [ja(Y)/nein(N)]: y
Listener ORACLE_HOME [ E:\oracle\product\11.2.0\dbhome_1 ]:
Kennwort für SYS-Benutzer:
Kennwort für DBSNMP-Benutzer:
Kennwort für SYSMAN-Benutzer:
E-Mail-Adresse für Benachrichtigungen (optional):
Server für ausgehende Mails (SMTP-Server) für Benachrichtigungen (optional):
-----------------------------------------------------------------

Sie haben die folgenden Einstellungen angegeben

ORACLE_HOME von Datenbank ................ E:\oracle\product\11.2.0\dbhome_1

Lokaler Host-Name ................ SPEEDY.muniqsoft.de
Listener ORACLE_HOME ................ E:\oracle\product\11.2.0\dbhome_1
Listener-Port-Nummer ................ 1521
Datenbank-SID ................ o11g2
E-Mail-Adresse für Benachrichtigungen ...............
Server für ausgehende Mails (SMTP-Server) für Benachrichtigungen ..............

-----------------------------------------------------------------
Möchten Sie fortfahren? [ja(Y)/nein(N)]: y

Hinweis:

Stoppen Sie vorher am Besten den Agenten und den DBConsole-Dienst.

C:\>emctl stop agent
C:\>emctl stop dbconsole

Löschen der Konfiguration und des Repositories

Die zweite Methode ist die "Holzhammer"-Variante, bei der zunächst die gesamte Database Control Konfiguration inklusive Repository gelöscht und anschließend wieder neu erzeugt wird.

Der große Nachteil dieser Variante liegt an der dramatischen Beeinflussung des laufenden Betriebs. Die Datenbank wird beim Löschen des Repositories in den Quiesce-Modus versetzt, der laufende Benutzeraktionen zwar noch zu Ende führt aber sämtliche neue Benutzeraktivitäten (Ausnahme SYS) mit der Sperrung der Session quittiert. Somit ist dieser Modus noch einschneidender als der "Restricted"-Modus. (Vielen Dank für die Anmerkung Herr Volknant!!)

Warum dies gemacht wird, bleibt wohl Oracle's Geheimnis ...

Aus diesem Grund ist der Einsatz von OEM Grid Control zu empfehlen, da hier die Repository-Daten getrennt von der Produktivumgebung gehalten werden und diese somit nicht beeinflusst.

C:\> emca -deconfig dbcontrol db -repos drop

STARTED EMCA um 13.08.2010 12:15:34
EM-Konfigurationsassistent, Version 11.2.0.0.2 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved. Alle Rechte vorbehalten.

Geben Sie folgende Informationen ein:
Datenbank-SID: o11g2
Listener-Port-Nummer: 1521
Kennwort für SYS-Benutzer:
Kennwort für SYSMAN-Benutzer:

Möchten Sie fortfahren? [ja(Y)/nein(N)]: y

Hinweis:

Die Durchführung wird um einiges länger dauern, als die erste Methode, da nun u.a. das gesamte Schema SYSMAN zu löschen ist. Bedenken Sie dabei immer die damit vebundene Einschränkung Ihrer Produktiv-Datenbank.

  • In Version 10.2.0.4 enthält das SYSMAN-Schema 1341 Objekte.
  • In Version 11.1.0.7 enthält das SYSMAN-Schema 3360 Objekte.
  • In Version 11.2.0.1 enthält das SYSMAN-Schema 3491 Objekte.

Parallel können Sie kontrollieren, ob der Löschvorgang noch läuft.

SQL> SELECT COUNT(*) FROM dba_objects
      WHERE owner='SYSMAN';   

Der zurückgegebene Wert sollte immer niedriger werden und schließlich bei 0 enden. Die Benutzer SYSMAN und MGMT_VIEW sollten nun komplett gelöscht worden sein.

Bitte überprüfen Sie unter Windows immer, ob der entsprechende Dienst OracleDBConsole<sid> auch wirklich gelöscht worden ist. Falls nicht, müssen Sie in der Registry nach dem Dienst suchen und die Einträge manuell entfernen.

Achtung:

Falls Sie über den Enterprise Manager einen täglichen Backup-Job eingerichtet haben, wird dieser ebenfalls gelöscht. Fragen Sie vor dem Löschen die Tabelle SYSMAN.MGMT_JOB ab und sichern Sie sich deren Inhalt.

Anlegen der Konfiguration und des Repositories

Zur Erzeugung wird nun folgender Befehl abgesetzt:

C:\> emca -config dbcontrol db -repos create

STARTED EMCA um 13.08.2010 13:00:42
EM-Konfigurationsassistent, Version 11.2.0.0.2 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved. Alle Rechte vorbehalten.

Geben Sie folgende Informationen ein:
Datenbank-SID: o11g2
Listener-Port-Nummer: 1521
-- (ab 11.2) Listener ORACLE_HOME [ E:\oracle\product\11.2.0\dbhome_1 ]:
Kennwort für SYS-Benutzer:
Kennwort für DBSNMP-Benutzer:
Kennwort für SYSMAN-Benutzer:
E-Mail-Adresse für Benachrichtigungen (optional):
Server für ausgehende Mails (SMTP-Server) für Benachrichtigungen (optional):
-----------------------------------------------------------------

Sie haben die folgenden Einstellungen angegeben

ORACLE_HOME von Datenbank ................ E:\oracle\product\11.2.0\dbhome_1

Lokaler Host-Name ................ SPEEDY.muniqsoft.de
Listener ORACLE_HOME ................ E:\oracle\product\11.2.0\dbhome_1
Listener-Port-Nummer ................ 1521
Datenbank-SID ................ o11g2
E-Mail-Adresse für Benachrichtigungen ...............
Server für ausgehende Mails (SMTP-Server) für Benachrichtigungen .........

-----------------------------------------------------------------
Möchten Sie fortfahren? [ja(Y)/nein(N)]: y

Hier können Sie analog zum Löschen kontrollieren, ob das Schema SYSMAN erzeugt und gefüllt wird. Ist das Erstellen erfolgreich abgeschlossen, erhalten Sie zum Abschluss den Database Control URL. Achtung, ab Version 10.2.0.4 wird standardmäßig https verwendet. Seit Version Version 11.1 erhalten Sie darüber hinaus noch folgende Warnung:

************************  WARNING  ************************

Das Management-Repository wurde in den sicheren Modus versetzt, in dem Enterprise Manager-Daten verschlüsselt werden. Der Verschlüsselungsschlüssel wurde in der Datei E:/oracle/product/11.2.0/dbhome_1/SPEEDY.muniqsoft.de_o11g2/sysman/config/emkey.ora gespeichert. Erstellen Sie ein Backup dieser Datei, da die verschlüsselten Daten nicht mehr benutzt werden können, wenn diese Datei verloren geht.

***********************************************************

Im Idealfall ist die Konfiguration somit erfolgreich abgeschlossen und Sie können Ihre webbasierte Administrationsoberfläche starten, um endlich an die gewünschten Informationen zu kommen. Falls die Konfiguration des Database Control auf Fehler lief, dekonfigurieren Sie nur den Dienst und legen Sie ihn neu an. Das Repository können Sie bestehen lassen.

Nun noch ein paar weitere Anwendungsfälle für das EMCA-Utility. Die komplette Syntax-Übersicht erhalten Sie übrigens über:

C:\> emca -help

Änderung der Listener Port-Nummer

Muss der Listener Port nachträglich umgestellt werden, ist eine Neukonfiguration des Database Control notwendig, mittels:

C:\> emca -config dbcontrol db

Änderung des Hostnamens oder der IP-Adresse des Datenbank Servers

Änderungen am Hostnamen (inklusive Domänen-Name) oder an der IP-Adresse des Datenbank Servers erfordern ein Löschen des Repositories und der Database Control Konfiguration und anschließend eine komplette Neuerzeugung.

Übergabe der Parameter in einem Response-File

Praktisch ist die Möglichkeit beim EMCA-Aufruf ein Response-File mit den Übergabe-Parametern anzugeben. Die -silent Option unterdrückt die Nachfrage, ob man den Vorgang fortsetzen möchte. Ein Beispiel-Aufruf kann folgendermaßen aussehen.

C:\> emca -config dbcontrol db -repos recreate -silent -respFile c:\oem_o11g2.rsp

Der Inhalt des Response-Files

SID=o11g2
PORT=1521
SYS_PWD=<sys_passwd>
DBSNMP_PWD=<dbsnmp_passwdt>
SYSMAN_PWD=<sysman_passwd>
LISTENER_OH=
EMAIL_ADDRESS=
MAIL_SERVER_NAME=

Änderung der HTTP- und Agent-Portnummern des Database Control

Ist es notwendig, die Ports für die DB Konsole oder den Agenten nachträglich zu ändern, geben Sie die -reconfig ports Option an.

C:\> emca -reconfig ports -DBCONTROL_HTTP_PORT <port_nr> -AGENT_PORT <port_nr>

STARTED EMCA um 13.08.2010 15:06:42
EM-Konfigurationsassistent, Version 11.2.0.0.2 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved. Alle Rechte vorbehalten.

Geben Sie folgende Informationen ein:
Datenbank-SID: o11g2

Im Verlauf des Aufrufs werden nachfolgende Schritte durchlaufen

  1. Herunterfahren des Database Control-Dienstes
  2. Aktualisierung der Portnummer in der Datei %ORACLE_HOME%\oc4j\j2ee\OC4J_DBConsole_<host>_<sid>\config\http-web-site.xml
  3. Aktualisierung der Portnummern in der Datei %ORACLE_HOME%\install\portlist.ini
  4. Aktualisierung der Portnummern in den Dateien %ORACLE_HOME%\<host>_<sid>\sysman\config\emoms.properties und emd.properties
  5. Starten des Database Control-Dienstes

Hinweis:

Sie können auch gleich beim Konfigurieren die Portnummern bestimmen, in dem Sie sie im Response-File mitangeben.

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.