Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Welche Systemtabellen/Variablen.. mit Perfromance-/Zustands-daten MSSQL u.Oracle

Empfohlene Antworten

Hallo Leute,

für ein kleines Datenbankmonitoringprogramm, welches bei uns in ein größeres Programm eingebunden werden soll, soll ich eine Recherche machen (für Oracle und MSSQL):

Also interessant wären im Allgemeinen so Sachen, Übersicht der Systemtabellen und Variablen bzw. im speziellen möchte ich halt wissen, wo ich Informationen auslesen kann, sowas wie gesamter Speicherplatz der Datenbank/freier Speicherplatz, Fragementierungszustand, gesamte Anzahl an Zeilen, Anzahl Threads ..eventuelle sowas wie CPU Nutzung und Arbeitspeicherbeanspruchung, falls sowas möglich ist.

Halt alle Informationen, die mir kurz und knapp einen mometanen "Gesundheitszustand der Datenbank angeben"

bzw. nehme auch gerne Vorschläge an, was noch sinnvoll ist zu beobachten.

Vielen Dank schon Mal,

Mfg Chris

Übersicht der Systemtabellen

Was meinst Du mit Übersicht? Oracle hat je nach version hunderte bzw. tausende Systemtabellen und Systemviews. Sollen die nur angezeigt werden das sie da sind oder was genau?

und Variablen

select * from v$parameter
Fragementierungszustand
Lokal organisiere Tablespaces fragmentieren nicht. Solltet ihr noch Datadictionary managed Tablespaces verwenden, dann wär es an der Zeit diese zu migrieren.
gesamte Anzahl an Zeilen
Ist immer abhängig davon, wann die DB das letzte mal mittels dem DBMS_STATS Package analysiert wurde. Die Werte stehen dann in der ALL_TABLES View.
und Arbeitspeicherbeanspruchung
SELECT * FROM V$SGASTAT

Ansonsten sind auch Die Views V$SESSION,V$SYSSTAT,V$STATNAME,V$SESSTAT deine Freunde. Infos darüber findest Du in der Oracle Doku.

Dim

Erstmal herzlichen Dank für die ausführliche Antwort:

Was meinst Du mit Übersicht? Oracle hat je nach version hunderte bzw. tausende Systemtabellen und Systemviews. Sollen die nur angezeigt werden das sie da sind oder was genau?

Das meinte ich unabhängig von der Anwendung, sondern so allgemein als Reference im Netz...damit ich halt selber nach den passenden Views usw suchen kann

Ist immer abhängig davon, wann die DB das letzte mal mittels dem DBMS_STATS Package analysiert wurde. Die Werte stehen dann in der ALL_TABLES View.

Wie macht man das mit dem DBMS_STATS Package? Ist das nicht sehr Rechenaufwendig, ich würde dies gerne relativ häufig/genau auslesen wollen

Ansonsten sind auch Die Views V$SESSION,V$SYSSTAT,V$STATNAME,V$SESSTAT deine Freunde. Infos darüber findest Du in der Oracle Doku.

Dim

Die Schau ich mir mal an, jemand noch ähnliche nützliche Tipps für MSSQL?

Grüße Chris

Das meinte ich unabhängig von der Anwendung, sondern so allgemein als Reference im Netz...damit ich halt selber nach den passenden Views usw suchen kann

Da wär natürlich die Oracle Doku im allgemeinen und der Performance Tuning Guide im speziellen zu nennen.

Allerdings solltest Du dir schon bewußt sein, dass Du einiges an Detailwissen über die Datenbank brauchst (und nicht nur allgemein, sondern auch speziell auf deine Version bezogen) um zum einen so ein Tool zu entwickeln (das dann auch wirklich anzeigt was es soll) und zum anderen um die Zahlen auch zu interpretieren.

Beachte auch, dass das Auslesen diverse Performanceviews (Stichwort ADDM) lizenzpflichtig ist.

Ist das nicht sehr Rechenaufwendig, ich würde dies gerne relativ häufig/genau auslesen wollen

Zumindest eine Oracle-DB ist so gebaut möglichst performant Queries und DML Statements zu verarbeiten und nicht um möglichst genau anzuzeigen wieviele Datensätze in den Tabellen vorhanden sind.

DBMS_STATS ist für den Optimizer wichtig, da ehierdurch weiß wie die Datenverteilung aussieht, welche Kardinalitäten in den Spalten vorhanden sind etc. Um die Laufzeiten so gering wie möglich zu halten, kann man die entsprechenden Proceduren auch anweisen nur einen kleinen Teil der Tabellen/Indieces zu prüfen und den rest dann hochzurechnen.

Anders ausgedrück: Diese Anforderung wirst Du so nicht 100%ig implementieren können.

Die Ergebnisse eines Statistiklaufs kannst Du natürlich sooft auslesen wie Du willst, die gehen ja nicht verloren.

Dim

Vielen Dank für deine netten und informativen Antworten. Ich soll ja das Tool erst ein mal nicht schreiben, sondern nur die Datenbankseitigengrundlagen dafür raussuchen, bzw. rausfinden, was alles möglich wäre.

Wie finde ich heraus, welche Views Zusatzlizenzen erforden?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.