Oracle - logowanie

Odpowiedz Nowy wątek
2020-03-13 23:16

Rejestracja: 6 lat temu

Ostatnio: 8 godzin temu

0

Witam wszystkich,

Chciałbym zrobić pewien "automat logujący" a mianowicie
każda operacja na tabeli/tabelach ma powodować wpis do innej, konkretnej, dedykowanej tabeli.
Np: "insert new record table: xxxxx date_time: 00:00:00"

można to rozwiązać triggerami ale nie chcę mieć dodatkowego triggera dla każdej tabeli
w której powstają zmiany.

Może ktoś ma pomysł ?
Pozdrawiam

Pozostało 580 znaków

2020-03-13 23:49

Rejestracja: 1 rok temu

Ostatnio: 34 minuty temu

0

Możesz zrobic procedury do operacji typu insert update delete i tam robić wpisy do tej tabeli audytowej albo trigger na każdej talbeli. Można zrobić prosty skrypt generujacy taki triggery

Pozostało 580 znaków

2020-03-13 23:54

Rejestracja: 6 lat temu

Ostatnio: 8 godzin temu

0
Tomek Pycia napisał(a):

Możesz zrobic procedury do operacji typu insert update delete i tam robić wpisy do tej tabeli audytowej albo trigger na każdej talbeli. Można zrobić prosty skrypt generujacy taki triggery

no tak, trigger do każdej tabeli a w zasadzie to kilka insert/update/delete to rozumiem, ale jak to zrobić z procedurą ? możesz trochę rozwinąć myśl?

Pozostało 580 znaków

2020-03-14 09:24

Rejestracja: 1 rok temu

Ostatnio: 34 minuty temu

0

Robisz procedury które odpowiadają za insert i update i delete i tam robisz logowanie oraz jakieś dodatkowe sprawdzania i walidacje i w aplikacji używasz tylko tych procedur A nie robisz operacji insert update itp

Pozostało 580 znaków

2020-03-14 09:28

Rejestracja: 6 lat temu

Ostatnio: 8 godzin temu

0

no właśnie - w aplikacji - ja chcę zrobić całą obsługę w bazie danych ale nie chcę dodawać triggera do każdej tabeli z osobna, chciałbym zrobic to "jakoś" globalnie

Pozostało 580 znaków

2020-03-14 09:29

Rejestracja: 1 rok temu

Ostatnio: 34 minuty temu

0

Jest też jakiś system audytów wbudowany w bazę. Nigdy tego nie testowałem https://oracle-base.com/articles/8i/auditing
To jak ten wbudowany system nie zadziała to raczej nie ma globalnego sposobu monitorowania zmian w bazie.

edytowany 1x, ostatnio: UglyMan, 2020-03-14 09:31

Pozostało 580 znaków

2020-03-14 09:36

Rejestracja: 6 lat temu

Ostatnio: 8 godzin temu

0

no i to może właśnie być to o co mi chodzi, dziękuję za podpowiedź

Pozostało 580 znaków

xy
2020-03-14 10:04
xy

Rejestracja: 1 rok temu

Ostatnio: 8 godzin temu

0

Taki z grubsza automat, tylko w typie "armaty", więc pewnie będzie trochę zabaw z konfiguracją:
https://docs.oracle.com/en/da[...]/oracle-logminer-utility.html
A jakby chodziło tylko o zgrubne ilości modyfikacji danych za jakiś czas, to są takie w bazie do celów decydowania, czy powinny zostać przeliczone statystyki (dla optymalizatora) dla poszczególnych tabel.

Pozostało 580 znaków

2020-03-14 11:50

Rejestracja: 6 lat temu

Ostatnio: 8 godzin temu

0

Jeszcze raz dziękuję za pomoc. Jak "ogarnę" temat podzielę się wiedzą. Niemniej jednak zastanawiam się nad szerszym rozwiązaniem.
Mianowicie mamy tabelę EVENTS_TYPES w której są zapisane możliwe typy zdarzeń po jakiejkolwiek ingerencji użytkownika
w dane generowany jest zapis w tabeli LOG_DB. Prawdopodobnie moja koncepcja logowania skończy się na triggerach i procedurach.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0