Ü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.
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.
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:
- Wählen Sie in der Seitenleiste der Benutzeroberfläche von „ Instana “ die Option „Infrastruktur“ aus.
- 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.