Zum Inhalt springen

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


chrisLB

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ü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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...