Suche…


Bemerkungen

Mit Firebird 2.1 und Datenbanken mit ODS 11.1 (und höher) bietet Firebird die Möglichkeit, serverseitige Aktivitäten in einer bestimmten Datenbank zu überwachen.

Eine vollständige Datenbanküberwachung steht SYSDBA und dem Datenbankbesitzer zur Verfügung. Normale Benutzer sind nur auf die Informationen zu ihren eigenen Anhängen beschränkt. Andere Anhänge sind für sie nicht sichtbar.

Verfügbare Überwachungstabellen seit Firebird 2.1 und ODS 11.1:

  • MON $ DATABASE (verbundene Datenbank)
  • MON $ ATTACHMENTS (verbundene Anhänge)
  • MON $ TRANSACTIONS (gestartete Transaktionen)
  • MON $ STATEMENTS (vorbereitete Anweisungen)
  • MON $ CALL_STACK (Aufrufstack aktiver PSQL-Anforderungen)
  • MON $ IO_STATS (E / A-Statistiken)
  • MON $ RECORD_STATS (Statistik auf Datensatzebene)

Referenz: Firebird 2.1 Versionshinweise

Mit Firebird 2.5 und Datenbanken mit ODS 11.2 (und höher) fügt Firebird die folgenden neuen Monitortabellen hinzu

  • MON $ MEMORY_USAGE (aktuelle Speichernutzung)
  • MON $ CONTEXT_VARIABLES (bekannte Kontextvariablen)

Referenz: Versionshinweise zu Firebird 2.5

Abrufen von Informationen zu Anhängen in der verbundenen Datenbank

Informationen zu den Datenbankverbindungen

SELECT
       a.mon$attachment_id as Attachment_ID,
       a.mon$server_pid as Server_PID, 
       case a.mon$state 
          when 1 then 'active'
          when 0 then 'idle'
       end as State, 
       a.mon$attachment_name as Database_Name, 
       a.mon$user as User_Name, 
       a.mon$role as Role_Name, 
       a.mon$remote_protocol as Remote_Protocol, 
       a.mon$remote_address as  Remote_Address, 
       a.mon$remote_pid as Remote_PID, 
       cs.rdb$character_set_name as Connection_Character_Set, 
       a.mon$timestamp as Established_At,
       case a.mon$garbage_collection 
          when 1 then 'allowed'
          when 0 then 'not allowed'
       end as Garbage_Collection, 
       a.mon$remote_process as Remote_Process, 
       a.mon$stat_id as Statistics_ID
    FROM
       mon$attachments a, rdb$character_sets cs
    where 
       (a.mon$character_set_id = cs.rdb$character_set_id)

Ergebnisse:

Geben Sie hier die Bildbeschreibung ein

Speziellere Beispiele

Informationen zu den verbundenen Clients.

SELECT
   a.mon$remote_protocol as Remote_Protocol,
   a.mon$remote_address as  Remote_Address,
   a.mon$remote_pid as Remote_PID,
   a.mon$timestamp as Established_At,
   a.mon$remote_process as Remote_Process
FROM
   mon$attachments a

PIDs aller Serverprozesse abrufen, die gerade CPU laden

SELECT
   MON$SERVER_PID
FROM
   MON$ATTACHMENTS
WHERE
   MON$STATE = 1

Rufen Sie Informationen zu den verbundenen Benutzern, Arbeitsstationen und Clientanwendungen ab

SELECT
   mon$attachment_name as Database_Name,
   mon$user as User_Name,
   mon$role as Role_Name,
   mon$remote_process as Client_Application,
   mon$remote_address as Client_IP,
   mon$remote_pid as Client_Application_PID
FROM
   mon$attachments

Referenz:



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow