Seit dem Release von Version 12c hat sich die Architektur von Oracle Database stark verändert: Anstelle einer Single-Tenant-Struktur nutzt Oracle nun Multitenant-Datenbanken. Letztere beinhalten integrierbare Container („pluggable“ Datenbanken, PDB) mit Tabellen und Daten im Zusammenhang mit der für die Verbindung genutzten Anwendung, sowie Root-Container in Form von Containerdatenbanken (CDB), in denen sämtliche Informationen zur Datenbank-Health und -Performance abgelegt sind. Auf diese CDBs haben Datenbank-Admins Zugriff, während PDBs für Anwendungsteams relevant sind. 

Dieser Wandel der Datenbankarchitektur hat New Relic zur Anpassung seiner Monitoring-Integration veranlasst, um die fortgesetzte Kompatibilität zu gewährleisten. Durch diese Änderungen können wir sicherstellen, dass Anwendungsteams alle erforderlichen Metriken für das Monitoring und dass Datenbank-Admins die nötigen Observability-Daten zur Hand haben. Seit der Einführung von Container-Datenbanken wie Exadata Cloud at Customer (ExaCC) von Oracle haben wir entsprechende Anpassungen an der On-Host-Integration für das Oracle-Database-Monitoring vorgenommen. In diesem Blogpost erfahren Sie, welche Änderungen wir im Hinblick auf die Datenbanklandschaft vorgenommen haben und welche Verbesserungen an der On-Host-Integration (OHI) durchgeführt wurden, um nicht nur anhaltende Kompatibilität, sondern auch dasselbe Maß an Monitoring wie bei früheren Datenbankversionen zu gewährleisten.

Datenbankspezifische Änderungen

Container-Datenbanken beinhalten Informationen zu containerspezifischen Systemtabellen und -indizes. Zuvor bestand über gv_$sysmetrics Zugriff auf die spezifischen Informationen für die Anwendungsdatenbank. Mit Oracle 12c wurde dies auf gv$con_sysmetric umgestellt. Dort finden sich nun Informationen wie z. B. „Session Count“, „Active Parallel Sessions“, „Physical Write Bytes per Sec“ usw. 

Was hat New Relic in OHI geändert?

Das Oracle-Monitoring wurde mithilfe der Flag „SYS_METRICS_SOURCE“ in der Konfigurationsdatei für die Nutzung mit Single- und Multitenant-Datenbanken umgestaltet. Für das Anwendungsteam muss diese Konfiguration auf „PDB“ eingestellt werden, damit sichergestellt ist, dass die Integration eine Verbindung zu gv$con_sysmetric herstellen kann. Datenbank-Admins können die Konfiguration auf „CDB“ einstellen, sodass die Interaktion mit gv$sysmetric erfolgen kann. Das gelingt allerdings nur, wenn Benutzer:innen Zugriff auf die Container-Indizes (siehe nächsten Abschnitt) erhalten. 

Vorherige Oracle-Database-Integration von New Relic:

Verlaufsdiagramm für die Übertragung von Metriken von Oracle an New Relic

Neue Oracle-Database-Integration von New Relic:

Verlaufsdiagramm für die neue Verbindung von Oracle mit OHI und New Relic

Schrittweise Anleitung zur Einrichtung der Oracle Database OHI für Containerdatenbanken

  1. Provisionierung eines Datenbankbenutzers/einer Datenbankbenutzerin, der bzw. die von der OHI für die Verbindung mit der Datenbank verwendet werden kann. Der Containerzugriff dieser Person (PDB- bzw. CDB-Berechtigungen) wird vom Admin bei der Benutzererstellung festgelegt.
  2. Bereitstellung der SELECT-Berechtigung für die in Schritt 3 in diesem Link genannten Indizes/Ansichten und zusätzliche Bereitstellung für gv$con_sysmetric.
  3. Deployment von OHI-Integration und oracledb-config.yml an den Server mit den korrekten Einstellungen. Sicherstellen, dass „SYS_METRICS_SOURCE“ den abgefragten Daten gemäß eingestellt ist (Performance der Anwendungsdatenbank bzw. des Gesamtsystems).

Sobald die Integration mit den richtigen Zugriffs- und Konfigurationseinstellungen bereitgestellt wurde, sind die Daten auf der New Relic Plattform verfügbar. Alle gesammelten Metriken stehen dann zur Verfügung und werden in den folgenden Event-Typen aufgezeichnet:

  • OracleDatabaseSample
  • OracleTablespaceSample

Nächste Schritte

Nach Abschluss der Einrichtung können sich Benutzer:innen bei der New Relic Plattform anmelden. Sobald die Anmeldung erfolgt ist, ist die instrumentierte Oracle-Datenbank auf der Seite „All Entities“ unter „Oracle databases“ sichtbar. Klicken Sie auf den entsprechenden Namen der Datenbank, um direkt zu den kuratierten Ansichten zu gelangen, in denen die Performance-Metriken für die Datenbank zu sehen sind. Darüber hinaus können Sie die Metriken im Bereich „Data Explorer“ einsehen oder sie sogar mittels New Relic Query Language (NRQL) abfragen.

Fazit

Wir arbeiten unablässig an der Weiterentwicklung unserer Integrationen zur Bereitstellung der Instrumentierungsfunktionen, die unsere Kundschaft für Full-Stack-Observability braucht. Die Veränderungen der Datenbankarchitektur sollen Zugriff auf Metriken gewähren, die für die jeweiligen Zuständigkeiten der Anwendungsteams bzw. Datenbank-Admins relevant sind, und gleichzeitig die Metriken sauber trennen, sodass nur Zugriff auf autorisierte Daten besteht.