Zoeken…


Opmerkingen

Met Firebird 2.1 en databases met ODS 11.1 (en hoger) introduceert Firebird de mogelijkheid om activiteit aan de serverzijde in een bepaalde database te controleren.

Volledige databasebewaking is beschikbaar voor SYSDBA en de database-eigenaar. Regelmatige gebruikers zijn beperkt tot de informatie over hun eigen bijlagen - andere bijlagen zijn onzichtbaar voor hen.

Beschikbare bewakingstabellen sinds Firebird 2.1 en ODS 11.1:

  • MON $ DATABASE (verbonden database)
  • MON $ ATTACHMENTS (verbonden bijlagen)
  • MON $ TRANSACTIES (gestarte transacties)
  • MON $ STATEMENTS (voorbereide verklaringen)
  • MON $ CALL_STACK (call-stack van actieve PSQL-aanvragen)
  • MON $ IO_STATS (I / O-statistieken)
  • MON $ RECORD_STATS (statistieken op recordniveau)

Referentie: release-opmerkingen Firebird 2.1

Met Firebird 2.5 en databases met ODS 11.2 (en hoger) voegt Firebird de volgende nieuwe monitortabellen toe

  • MON $ MEMORY_USAGE (huidig geheugengebruik)
  • MON $ CONTEXT_VARIABLES (bekende contextvariabelen)

Referentie: Firebird 2.5 Release Notes

Ontvang informatie over bijlagen in de verbonden database

Informatie over de databaseverbindingen

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)

resultaten:

voer hier de afbeeldingsbeschrijving in

Meer specifieke voorbeelden

Informatie over de verbonden 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

PID's ophalen van alle serverprocessen die op dit moment CPU laden (interessant met een klassieke serverarchitectuur)

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

Informatie ophalen over de verbonden gebruikers, werkstations en de clienttoepassingen

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

Referentie:



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow