Oracle - logowanie

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: 0000"

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

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

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?

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

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

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.

0

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

0

Taki z grubsza automat, tylko w typie "armaty", więc pewnie będzie trochę zabaw z konfiguracją:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sutil/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.

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.

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