Überwachung der mandantenfähigen Datenbank „ Oracle “ (öffentliche Vorschau)

Nach der Installation des Host-Agenten für „ Instana “ wird der Datenbanksensor für „ Oracle Multitenant“ automatisch installiert; Sie müssen den Sensor jedoch gemäß den Anweisungen im Abschnitt „Konfiguration“ konfigurieren. Nachdem Sie den Sensor konfiguriert haben, können Sie sowohl die Container-Datenbank (CDB) als auch mehrere pluggable Datenbanken (PDBs) überwachen und deren Metriken in der Benutzeroberfläche von „ Instana “ anzeigen.

Hinweis: Um die „ Oracle “-Multitenant-Datenbank in einem „ Kubernetes “- oder „ Red Hat OpenShift “-Cluster zu überwachen, installieren Sie den „ Instana “-Host-Agenten nicht auf jedem Knoten des Clusters. Installieren Sie die Hostagenten auf dedizierten Hostmaschinen.

Zusätzliche Informationen

Unterstützte Versionen

Instana unterstützt die folgenden Versionen der Datenbank „ Oracle “ für Metriken und Konfigurationsdaten:

  • Oracle Database 18c (18.1.0 // 12.2.0.2)
  • Oracle Database 19c (19.1.0 // 12.2.0.3)
  • Oracle Database 21c (21.1.0)
  • Oracle Database 23ai (23.4.0)

Unterstützte Zeichensätze

Der Oracle Multitenant-Datenbanksensor unterstützt alle Zeichensätze, die von Oracle unterstützt werden, um Metriken aus der Oracle -Datenbank abzurufen. Weitere Informationen zu den Zeichensätzen, die die Datenbank „ Oracle “ unterstützt, finden Sie unter „Zeichensätze “.

Erkennung

Verwenden Sie die Option zur Fernkonfiguration, um den „ Instana “-Agenten anzuweisen, die „ Oracle “-Multitenant-Datenbanken (CDB und PDBs) zu ermitteln und zu überwachen, die auf demselben Host oder auf anderen Hosts laufen, auf denen der Agent aus irgendeinem Grund nicht installiert werden kann.

konfigurieren

Erforderliche Datenbankberechtigungen

Um den Sensor mit Oracle zu verbinden und die Metriken und Konfigurationsdaten zu überwachen, benötigen Sie die Berechtigung read für die folgenden Tabellen:

#Create a role
create ROLE INSTANAROLE;

#Note: For Oracle Container Database (CDB), common roles must follow the naming convention C##<role_name>
#Example for CDB: create ROLE C##INSTANAROLE;#Grant privileges to this role for following tables and viewes

V_$SESSION, V_$BGPROCESS, V_$ACTIVE_SESSION_HISTORY, V_$SYSSTAT, V_$SGASTAT, V_$LIBRARYCACHE,
V_$LATCH, V_$ROWCACHE, V_$STATNAME, V_$SESSTAT, V_$PROCESS, V_$SQLAREA,
V_$PARAMETER, V_$SQL, V_$VERSION, V_$RESOURCE_LIMIT, V_$SYS_TIME_MODEL, V_$SYSTEM_WAIT_CLASS, V_$INSTANCE,
V_$LOCK, DBA_HIST_SQLTEXT, DBA_HIST_SQLSTAT, DBA_HIST_SNAPSHOT, DBA_HIST_ACTIVE_SESS_HISTORY,
DBA_USERS, DBA_OBJECTS, DBA_TABLESPACE_USAGE_METRICS, DBA_DATA_FILES, DBA_TEMP_FILES, V_$LOG, DBA_FREE_SPACE

eg. GRANT SELECT ON V_$SESSION to INSTANAROLE;

#Assign this role to a user. Same user needs to be configured in the configuration yaml (see sensor configuration section).
GRANT INSTANAROLE to <user>;

#The following tables/views require the Oracle Diagnostic Pack license.
V$ACTIVE_SESSION_HISTORY, DBA_HIST_SNAPSHOT, DBA_HIST_SQLSTAT, DBA_HIST_SQLTEXT, DBA_HIST_ACTIVE_SESS_HISTORY
 

Sensor konfigurieren

Instana unterstützt die Fernüberwachung der mandantenfähigen Datenbank „ Oracle “.

Um eine „ Oracle “-Multitenant-Datenbank zu überwachen, müssen Sie die Anmeldedaten in der *instanaAgentDir*/etc/instana/configuration.yaml Agent-Konfigurationsdatei angeben.

Fernüberwachung

Informationen zum Konfigurieren der Fernüberwachung der Oracle Multitenant-Datenbank finden Sie in den folgenden Konfigurationen:

com.instana.plugin.oracledb:
  remote: # we support listing multiple DBs here, both CDB's and PDB's!
    - host: '<ORCL_HOST_1>'
      port: '<ORCL_PORT>'
      user: '<ORCL_USER>' # default is 'sys as sysdba'
      password: '<ORCL_PASSWORD>'
      databaseSID: '<ORCL_DB_SID>' # either databaseSID or databaseServiceName is allowed
      databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
      availabilityZone: 'Remote Monitoring'
      enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
      poll_rate: 20
    - host: '<ORCL_HOST_2>'
      port: '<ORCL_PORT>'
      user: '<ORCL_USER>' # default is 'sys as sysdba'
      password: '<ORCL_PASSWORD>'
      databaseSID: '<INSERT_DB_SID>' # either databaseSID or databaseServiceName is allowed
      databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
      availabilityZone: 'Remote Monitoring'
      enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
      poll_rate: 5
 

Die Abfragerate definiert, wie oft der Sensor die Metriken der Oracle Multitenant-Datenbank in Sekunden abfragt. Der Standardwert ist 1 Sekunde.

Hinweis: Auf der Infrastrukturkarte wird die Remote- OracleDB -Instanz als separates Feld mit dem Namen angezeigt, der im availabilityZone Schlüssel in der configuration.yaml Datei angegeben ist. Um die Instanz zu finden, geben Sie entity.type:oracleDB in die Suchleiste von „ Instana “ ein.

Individuelle Umfragen

Die folgende Tabelle enthält die Messwerte, für die Sie maximal drei angepasste Polling-Raten ungleich null konfigurieren können. Standardmäßig sind Messwerte mit einer Polling-Rate kleiner oder gleich null inaktiviert. Um eine Metrik zu inaktivieren, entfernen Sie diesen Metrikeintrag aus der Konfigurationsdatei *instanaAgentDir*/etc/instana/configuration.yaml .

Name Beschreibung
TOP_ELAPSED_TIME_ABFRAGEN Liste der Abfragen mit der höchsten abgelaufenen Zeit.
SQL_ID_VERBRAUCHT_MEHR_CPU Liste der SQLs, die mehr CPU verwenden.
BENUTZERVORDERGRUND_SITZUNGEN Zeigt aktive Vordergrundsitzungen an.
TOP_10_SQL_HIGH_IO_LAST_1_HR Liste der höchsten SQL-Anweisungen mit hoher Ein-/Ausgabe in der letzten Stunde. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können.
TOP_TEN_DER_SITZUNGEN_MIT_HÖCHSTEM_CPU-VERBRAUCH Liste der Sitzungen mit dem höchsten CPU-Verbrauch.
TOP_CPU_CONSUMING_SESSION_LAST_10_MIN Liste der Sitzungen mit der höchsten CPU-Auslastung in den letzten 10 Minuten. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können.
AKTUELLE BLOCKIERUNGSSITZUNGEN Dient zum Anzeigen von Informationen zu den blockierenden Sitzungen.
LIBRARY_CACHE_HIT_RATIO Das Verhältnis gibt die Anzahl der Pin-Anforderungen an, die zu Pin-Treffern führen.
ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS Alle aktiven Sitzungen, die länger als 10 Minuten aktiv sind, in der Oracle -Datenbank
ACTIVE_SESSION_HISTORY (ACTIVE_SESSION_HISTORY Stichprobensitzungsaktivität in der Datenbank. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können.
TOP_10_SQL_HIGH_IO_LAST_24_HR Liste der höchsten SQL-Anweisungen mit hoher Ein-/Ausgabe in den letzten 24 Stunden. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können.
TOP_CPU_QUERIES_LAST_24_HRS Liste der CPU-verbrauchenden Abfragen in den letzten 24 Stunden. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können.
QUERIES_NOT_USING_BINDING_VARIABLEN Liste der Abfragen, die die Bindevariable im Code nicht verwenden
Fernüberwachung

Sehen Sie sich die folgende Konfiguration für die Fernüberwachung für angepasstes Polling an:

com.instana.plugin.oracledb:
  remote: # we support listing multiple DBs here, both CDB's and PDB's!
    - host: '<ORCL_HOST_1>'
      port: '<ORCL_PORT>'
      user: '<ORCL_USER>' # default is 'sys as sysdba'
      password: '<ORCL_PASSWORD>'
      databaseSID: '<ORCL_DB_SID>' # either databaseSID or databaseServiceName is allowed
      databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
      availabilityZone: 'Remote Monitoring'
      enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
      poll_rate: 20
      customPolling: # Restricted to maximum 3 nonzero poll rates
        - poll_rate: 30 # in seconds
          metrics:
            - TOP_CPU_CONSUMING_SESSION_LAST_10_MIN
            - ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS
            - LIBRARY_CACHE_HIT_RATIO
            - CURRENT_BLOCKING_SESSIONS
        - poll_rate: 60 # in seconds
          metrics:
            - TOP_ELAPSED_TIME_QUERIES
            - TOP_TEN_CPU_CONSUMING_SESSION
            - SQL_ID_CONSUMING_MORE_CPU
            - USER_FOREGROUND_SESSIONS
            - TOP_10_SQL_HIGH_IO_LAST_1_HR
            - ACTIVE_SESSION_HISTORY
        - poll_rate: 3600 # in seconds
          metrics:
            - TOP_10_SQL_HIGH_IO_LAST_24_HR
            - TOP_CPU_QUERIES_LAST_24_HRS
            - QUERIES_NOT_USING_BINDING_VARIABLES
 

Metriken anzeigen

Führen Sie die folgenden Schritte aus, um Metriken für die Oracle Multitenant-Datenbank anzuzeigen:

  1. Wählen Sie in der Seitenleiste der Benutzeroberfläche von „ Instana “ die Option „Infrastruktur“ aus.
  2. Klicken Sie auf einen bestimmten überwachten Host.

Sie können ein Host-Dashboard mit allen erfassten Metriken und überwachten Prozessen anzeigen.

Konfigurationsdaten

Der „ Oracle “-Sensor für mandantenfähige Datenbanken erfasst die folgenden Konfigurationsdaten:

Konfigurationselement Beschreibung
Version Oracle Versionsnummer der Datenbank
SID System-ID (SID): Eindeutiger Name für die Datenbankinstanz „ Oracle “
Servicenamen Netzwerkdienstnamen, die für die Verbindung zur Datenbank verwendet werden
Startzeit Zeitstempel des Starts der Datenbankinstanz
CPU-Anzahl Anzahl der CPUs, die der Datenbankinstanz zur Verfügung stehen
Max. Sitzungen Maximal zulässige Anzahl gleichzeitiger Sitzungen
DB-Blockgröße Größe der Datenbankblöcke
Port TCP Portnummer, auf der der Listener der Datenbank „ Oracle “ Verbindungen annimmt (Standard: 1521)

Leistungsmetriken

Metrik Beschreibung Granularität
Anzahl der aktiven Prozesse Die Anzahl der aktiven Prozesse. 1 Sekunde
Aktive Sitzungen (mehr als 10 Minuten) Alle aktiven Sitzungen in der Oracle -Datenbank, die länger als 10 Minuten ausgeführt werden. 30 Sekunden
DB-Zeit pro Sekunde Die abgelaufene Zeit, die für die Ausführung von Aufrufen auf Datenbankbenutzerebene aufgewendet wird. 1 Sekunde
DB-CPU-Zeit Die CPU-Zeit, die für die Ausführung von Aufrufen auf Datenbankbenutzerebene aufgewendet wird. 1 Sekunde
SQL-Ausführungszeit Die abgelaufene Zeit, in der die SQL-Abfrageanweisungen ausgeführt werden 1 Sekunde
Analysezeit Die abgelaufene Zeit, die für das Parsing der SQL-Abfrageanweisungen benötigt wird. Sie enthält sowohl die Soft-als auch die Hard-Parsing-Zeit. 1 Sekunde
Datenbank-CPU-Zeitverhältnis Die Menge der CPU, die in der Datenbank verwendet wird, um die Menge der gesamten Datenbankzeit. 1 Sekunde
Wartezeit pro Sekunde Wartezeit pro Sekunde für Benutzerein-/-ausgabe, Andere, Systemein-/-ausgabe, gemeinsamer Zugriff, Scheduler, Anwendung, Commit, Konfiguration, Verwaltung, Netz und Warteschlangensteuerung. 1 Sekunde
Trefferquote des Bibliothekscache (Pin-Treffer) Das Verhältnis gibt die Anzahl der Pin-Anforderungen an, die zu Pin-Treffern führen. 30 Sekunden
SGA-Gesamtspeicher Der Gesamtspeicher im System Global Area (SGA) in MB. 1 Sekunde
Belegter SGA-Speicher Der vom SGA belegte Speicher in MB. 1 Sekunde
Freier SGA-Speicher Freier Speicher in SGA in MB. 1 Sekunde
SGA-Poolname Der Poolname des System Global Area (SGA). 1 Sekunde
Gesamtspeicher des SGA-Pools Der Gesamtspeicher im SGA-Pool in MB. 1 Sekunde
Belegter Speicher des SGA-Pools Der belegte Speicher im SGA-Pool in MB. 1 Sekunde
SQL-Ausführungszähler Die Gesamtzahl der SQL-Abfragen, die ausgeführt wurden. 1 Sekunde
Durchschnittliche Zeit für SQL-Ausführung Durchschnittliche SQL-Ausführungszeit. 1 Sekunde
Anzahl der SQL-Analysen Die Anzahl der festen und gesamten Parsingoperationen. 1 Sekunde
SQL-Analyse-Verhältnisse Das Verhältnis der SQL-Ausführungen, die mit Soft-Parsing und ohne Parsing ausgeführt werden. 1 Sekunde
Benutzeraufrufe Anzahl der Aufrufe, Commits und Rollbacks. 1 Sekunde
Pufferchachetrefferquote Der Prozentsatz der Seiten, die im Puffercache gefunden werden, ohne von der Platte gelesen zu werden. 1 Sekunde
Physische und logische Sitzungslesevorgänge Anzahl der physischen und logischen Lesevorgänge. 1 Sekunde
Sitzungen Anzahl der Benutzersitzungen (aktiv und inaktiv) und Anzahl der Hintergrundsitzungen. 1 Sekunde
Tabellenbereichsbelegung Tabellenbereichsbelegung (permanent, temporär und rückgängig) in GB, Tabellenbereichsbelegung in Prozent, maximale Größe des Tabellenbereichs und Markierung für automatische Erweiterung. 1 Sekunde
Höchste CPU-Abfragen (letzte 24 Stunden) Liste der höchsten CPU-Abfragen in den letzten 24 Stunden mit CPU-Zeit in Millisekunden, Anzahl der Plattenlesevorgänge und Gesamtzeit, während der die Abfrage ausgeführt wurde. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können. 1 Stunde
Abfragen, die keine Bindevariablen verwenden Liste der Abfragen, die keine Bindevariablen im Code verwenden, mit der Anzahl der Abfragekopien, der Anzahl der Abfrageausführungen und dem Gesamtspeicher, der von der SQL-Abfrage verwendet wird, in MB. 1 Stunde
Wichtigste Abfragen mit abgelaufener Zeit Liste der am häufigsten abgelaufenen Abfragen mit SQL-ID, SQL-Abfrage und Ausführungszeit in Minuten. 60 Sekunden
Protokoll der aktiven Sitzung (letzte 1 Std.) Stichprobensitzungsaktivität in der Datenbank für die letzte Stunde mit SQL-ID, Ladeprozentsatz und Sitzungsanzahl. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können. 60 Sekunden
Höchste 10 verbrauchende CPU-Sitzungen Liste der zehn CPU-verbrauchenden Sitzungen mit Sitzungs-ID, Seriennummer, CPU-Zeit in Minuten und Name des Betriebssystemprogramms. 60 Sekunden
Sitzungen mit höchster CPU-Belegung (letzte 10 Min.) Liste der Sitzungen mit dem höchsten CPU-Verbrauch in den letzten zehn Minuten mit Sitzungs-ID, Seriennummer und Gesamtzeit, in der die Abfrage ausgeführt wird Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können. 30 Sekunden
Höchste 10 SQL-Anweisungen mit hoher Ein-/Ausgabe (letzte 1 Std.) Liste der höchsten 10 SQL-Abfragen mit hoher Ein-/Ausgabe während der letzten Stunde mit SQL-ID, Benutzername und Gesamtwartezeit in Millisekunden. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können. 60 Sekunden
Aktuelle blockierende Sitzungen Informationen zu den blockierenden Sitzungen 30 Sekunden
Vordergrundsitzungen Aktive Vordergrundsitzungen. 60 Sekunden
SQL verbraucht mehr CPU Liste der SQL-Abfragen, die mehr CPU belegen. 60 Sekunden
Höchste 10 SQL-Anweisungen mit hoher Ein-/Ausgabe in den letzten 24 Stunden Liste der höchsten 10 SQL-Abfragen mit hoher Ein-/Ausgabe während der letzten 24 Stunden. Für diese Metrik ist die Lizenz für das „ Oracle “ Diagnostic Pack erforderlich, um die im Abschnitt „Erforderliche Datenbankberechtigungen“ angegebenen Ansichten aufrufen zu können. 1 Stunde

Signaturen für Allgemeinzustand

Für jeden Sensor wird eine kuratierte Wissensbasis mit Statussignaturen kontinuierlich anhand der eingehenden Metriken ausgewertet und verwendet, um Probleme oder Vorfälle auszulösen, die sich auf den Benutzer auswirken.