Temat: DB2 logowanie zapytań SQL
Iwona Kołodziej:
Czy zapisywany jest cały select? Czy id usera jest rowniez logowane?
Tak, jest możliwe podejrzenie użytkownika który wykonał analizowane zapytanie w Query Patroller. Jednak samo DB2 posiada możliwość rejestrowania zdarzeń.
Wystarczy:
- połaczyć się z bazą, np:
db2 connect to sample
- stworzyć monitor zdarzeń dla połączeń i zapytań:
db2 create event monitor testmon for connections, statements write to table
Zostaną wówczas stworzone kolejne tabele z nazwą zawierającą _TESTMON (chyba że podamy inną nazwę)
- aktywować monitor:
db2 set event monitor testmon state 1
Od tej pory wszystko jest logowane. Monitor można deaktywować poleceniem:
db2 set event monitor testmon state 0
Wyniki monitorowania możemy obejrzeć w tabelach. Np. treść zapytania mamy w tabeli STMT_TESTMON w kolumnie STMT_TEXT, a użytkownika w tabeli CONNHEADER_TESTMON. Robiąc JOIN po APPL_ID uzyskamy informacje o użytkowniku zadającym to zapytanie.
Więcej informacji (np. o tworzeniu monitorów z wyjściem plikowym i strumieniowym - zamiast tabel) w
dokumentacji