Was Cloud Control über Ihre installierte Software berichten kann Martin Obst Oracle Deutschland Potsdam Schlüsselworte: Enterprise Manager 12c, Cloud Control, Discovery, Asset Management, Software Einleitung In der letzten Zeit häufen sich die Anfragen und Gespräche darüber, wie man den Enterprise Manager als Asset Management System benutzen kann. Hauptsächlich handelt es sich dabei um Unternehmen mit einer etwas komplexeren Oracle Infrastruktur. Allerdings interessieren sich viele IT Leiter auch von Firmen mit wenigen Oracle Datenbanken oder Application Servern sehr genau dafür, dass die vorhandenen Installationen auch den Verträgen mit Oracle entsprechen. Mit Cloud Control hat sich das Bild im Vergleich zu Grid Control oder dessen Vorgängern stark gewandelt, indem Oracle Installationen mittels Port Scan auf IP Adressbereiche automatisiert erkannt werden können. Man muss also nicht im Vorfeld wissen, auf welchen Servern tatsächlich Oracle Software betrieben wird. Das ist ein gewaltiger Vorteil gerade für gewachsene IT Landschaften, an denen viele Administratoren, Entwickler oder auch andere Rollen mitgearbeitet haben bzw. mitarbeiten. Wer von Ihnen arbeiten in einer solchen komplexeren Umgebung? In diesem Vortrag wird es darum gehen, wie Sie in Ihrer Umgebung vorgehen können, damit Ihnen Cloud Control Auskunft darüber gibt, wo in Ihrer Infrastruktur Oracle Software läuft und welche Funktionen oder Optionen in Betrieb sind. Das fängt mit der Konfiguration des Scans an und befasst sich letztlich mit der Bereitstellung von verschiedenen Berichten. Was Cloud Control über Ihre installierte Software berichten kann Sammlung der Konfigurations-Information Die Oracle Agenten sammeln kontinuierlich Konfigurations-Information der ihnen zugeordneten Server. Diese Server können physikalische oder virtuelle Server sein. Auf einer Server Homepage stellt Cloud Control folgende Information zur Verfügung: Daraus lässt sich leicht schließen, wie diese Prozessoren lizenztechnisch zu behandeln sind. In den Screenshots oben handelt es sich um einen einer Virtualbox VM zugeordneten Intel-Prozessor bzw. einen SPARC T4 Prozessor mit 4 Kernen und jeweils 8 Threads pro Kern (= 32 erkannte CPU) . Die Detailiertheit der gesammelten Information ist allerdings noch wesentlich höher. Im Repository sind zum Beispiel außer der Anzahl von Prozessoren auch die Anzahl der Steckplätze pro Server sowie die Anzahl der Kerne pro Prozessor gespeichert. Doch dazu später. Im nächsten Bild sieht man die Aufschlüsselung für eine etwas ältere Sun Fire V490 mit 4 Steckplätzen und 4 darauf implementierten Dualcore-Prozessoren mit je 1 Thread pro Prozessor-Kern. Network Scan Discovery Ein wesentlicher Vorteil von Cloud Control ist die mögliche vollständige Erfassung der Infrastruktur und insbesondere der installierten und laufenden Oracle Software, denn damit erst entsteht die Chance zur Nutzung des Enterprise Managers als Asset Management System. Diese Erfassung erfolgt per automatisiertem Netzwerk-Scan. Bei der „Network Scan Discovery“ handelt es sich im eine Basis-Funktion des EM Frameworks. Voraussetzung für die erfolgreiche Erfassung ist die Berechtigung für den Port-Scan auf den ZielSystemen: „Konfigurieren Sie zur Ausführung des Netzwerkscan-Discoverys die Hosts des ScanningAgents mit Sudo-Berechtigungsdelegierung, und verwenden Sie die Zugangsdaten, für die das Attribut "Als Root ausführen" festgelegt ist.“. Als Ziel-Systeme können alle Server im IP Bereich des Unternehmenns betrachtet werden. Auf die so erkannten Maschinen werden Oracle Agenten deployed, so dass diese dort die tatsächliche Konfiguration erfassen und regelmäßig Änderungen an den Oracle Management Server melden. Ab sofort hat man also eine kontinuierlich aktualisierte Information über den Betrieb von Oracle Software im Unternehmen. Diese Information liegt im Repository des Enterprise Managers und kann somit gezielt abgerufen werden. Zu diesem Zweck können Sie die entsprechenden Tabellen bzw. Views des MGMT_TABLESPACE abfragen. Welche Tabellen bzw. Views jeweils die Richtigen sind, wird durch die konkrete Fragestellung bestimmt. Eine Frage ist zum Beispiel, ob die als Standard Edition installierten Datenbanken auf Servern laufen, die zur Nutzung der Standard Edition berechtigen. Wichtige Views dafür sind SYSMAN.MGMT$DB_CPU_USAGE und SYSMAN.MGMT$DB_DBNINSTANCEINFO Damit kann man die folgende Abfrage bauen: select b.DATABASE_NAME, b.HOST_NAME, b.EDITION, a.CPU_SOCKET_COUNT from SYSMAN.MGMT$DB_CPU_USAGE a, SYSMAN.MGMT$DB_DBNINSTANCEINFO b where a.TARGET_GUID=b.TARGET_GUID; Achtung! Der Oracle Agent misst die Anzahl der Steckplätze und Prozessoren, die der Maschine zugeordnet sind, auf der er installiert ist. Das kann auch eine virtuelle Maschine sein, so dass die Bewertung des Ergebnisses nicht allein aus den gelieferten Zahlen heraus erfolgen darf. Die Abfrage kann über SQLPlus oder SQL Developer an die Datenbank geschickt oder natürlich für einen Bericht im Enterprise Manager genutzt werden. Erstellung von Berichten Im Enterprise Menü finden Sie den Punkt Berichte und darunter Publisher-Informationsberichte sowie BI Publisher Enterprise Berichte. (Anmerkung: Der BI Publisher darf zu diesem Zweck kostenfrei installiert und genutzt werden.) Diese Berichte können anschließend beliebig genutzt werden: für die Adhoc-Abfrage, für regelmäßigen Versand usw. Zur Erstellung einer neuen Berichtsdefinition klickt man auf „Create“. Alternativ schafft die Erstellung einer neuen Berichtsdefinition auf Basis eines existierenden Berichtes einen einfachen Einstieg in das Thema. Aus der Bibliothek sucht man sich dazu in einer der Kategorien einen ähnlich gestalteten Bericht aus und erstellt mit Hilfe der „Create like“ Funktion eine neue Definition. Man kann Berichte für einzelne Ziele oder für Zieltypen erzeugen. Spezifische Ziele können auch direkt beim Aufruf des Berichtes definiert werden. Da ich einen Bericht über alle Datenbanken erzeugen möchte, wähle ich die Möglichkeit „Use the specified target“, lasse aber das Feld zur Bezeichnung des Ziels leer. Den Inhalt des Berichtes bestimmt man im zweiten Reiter „Elements“. Es gibt 41 verschiedene zieltypspezifische Elemente. Diese sind jeweils bzgl. des angezeigten Inhalts beschrieben. Verschiedenen Elemente können in einem Bericht kombiniert werden. In diesem Fall wähle ich das Element „Table from SQL“. Es ermöglicht die Eingabe einer SQL Abfrage, deren Ergebnis als Tabelle ausgegeben wird. Diese Abfrage lässt sich erweitern, so dass auch Berichte im Sinne einer Compliance-Bewertung erstellt werden können. Als Kriterium in diesem Beispiel nehme ich die Regel, dass die Datenbank Standard Edition ausschließlich auf Servern bzw. RAC Clustern genutzt werden darf, die maximal 4 Steckplätze besitzen. Man könnte sich also die Systeme, die der Regel entsprechen, getrennt von denen anzeigen lassen, die der Regel nicht entsprechen. Passend installierte Systeme findet man also zum Beispiel mit der Abfrage select b.DATABASE_NAME, b.HOST_NAME, b.EDITION, a.CPU_SOCKET_COUNT from SYSMAN.MGMT$DB_CPU_USAGE a, SYSMAN.MGMT$DB_DBNINSTANCEINFO b where a.TARGET_GUID=b.TARGET_GUID and a.CPU_SOCKET_COUNT < 8 and b.EDITION is null und unberechtigt installierte Systeme entsprechend mit select b.DATABASE_NAME, b.HOST_NAME, b.EDITION, a.CPU_SOCKET_COUNT from SYSMAN.MGMT$DB_CPU_USAGE a, SYSMAN.MGMT$DB_DBNINSTANCEINFO b where a.TARGET_GUID=b.TARGET_GUID and a.CPU_SOCKET_COUNT >= 8 and b.EDITION is null . Repository-Views Wie findet man (im Enterprise Manager) die oben erwähnten Tabellen bzw. Views? Der Enterprise Manager legt sein Repository im Schema SYSMAN ab. Man verbindet sich also auf die Repository Datenbank und geht ins Schema SYSMAN. Dort sucht man nach Views mit „MGMT$“. Weitere Einschränkungen existieren, mit „MGMT$DB“ wird die Liste zum Beispiel auf die Views für Datenbank-Ziele beschränkt. Die auf Basis dieser Views erstellten Berichte lassen Auswertungen auf der Repository-Ebene bzw. der Ebene aller Datenbanken zu. Wenn Information auf Objekt-Ebene innerhalb von Datenbanken benötigt wird, muss man mehrstufig vorgehen. D.h. man erfasst die Liste der Ziele (Datenbanken) mit einer bestimmten Eigenschaft und wertet anschließend weitere Details auf den ermittelten Zeilen aus. Überprüfung von Optionen Ein Bespiel dafür ist die Feststellung der Nutzung der Partitioning Option. Als ersten Schritt berichtet man über das Repository alle Datenbanken, bei denen Partioning im Einsatz ist. Diese Information liefert die View SYSMAN.MGMT$DB_FEATUREUSAGE: SELECT HOST, DATABASE_NAME, INSTANCE_NAME, NAME, CURRENTLY_USED, DETECTED_USAGES, DESCRIPTION FROM SYSMAN.MGMT$DB_FEATUREUSAGE WHERE NAME=’Partitioning (user)’ AND DETECTED_USAGES > 0; Im nächsten Schritt kann man dann auf den so ermittelten Datenbanken die tatsächliche Partitionierung überprüfen. Dafür kann man zum Beispiel die Views DBA_FEATURE_USAGE_STATISTICS oder DBA_TAB_PARTITIONS nutzen. Wichtig ist dabei, ob die Objekte vom System oder von Usern partitioniert wurden. Einschränkungen Aktuell kann Cloud Control noch nicht als abschließendes Werkzeug für die Feststellung der korrekten Lizenzierung geutzt werden. Dafür gibt es verschiedene Gründe. Zum einen gehört zu einer solchen Bewertung auch unbedingt die Betrachtung der vorhandenen Lizenzen. Dies kann durch den Enterprise Manager nicht geleistet werden. Die Funktionalitäten, die zum Beispiel in der View DBA_FEATURE_USAGE_STATISTICS erfasst sind, haben innerhalb dieser View keine Zuordnung zur Enterprise Edition Datenbank oder zu einer Option oder einem Management Pack hinterlegt. Das heisst, es müßte eine Bewertung jeder einzelnen Zeile erfolgen. Das ist realisierbar, wird aber nicht vom Enterprise Manager abgedeckt. Letztlich kann eine abschließende Beurteilung niemals durch eine Software erfolgen, in der potentiell veraltete Regeln hinterlegt sein könnten. Eine abschließende Bewertung zu einem bestimmten Zeitpunkt kann letztendlich ausschließlich der Licence Management Service (LMS) von Oracle vornehmen. Kontaktadresse: Martin Obst Oracle Deutschland B.V. & Co. KG Schiffbauergasse 14 D-14467 Potsdam Telefon: Fax: E-Mail Internet: +49 (0) 331 2007 224 +49 (0) 331 2007 559 [email protected] www.oracle.de