[ Pobierz całość w formacie PDF ]
.z b³êdem sk³adniowym).Obserwowanie poleceñMo¿liwe jest wybiórcze obserwowanie powi¹zanych grup poleceñ, które mieszcz¹siê w dwóch kategoriach.Kategorie obserwowanych poleceñObserwacja poleceñ DDL odnosz¹cych siê do pewnego typu struktur bazy danych lubobiektów.Obserwacja poleceñ SELECT i DML odnosz¹cych siê do pewnego typu struktur bazydanych lub obiektów.Wskazówki:Polecenia SQL wewn¹trz bloków PL/SQL s¹ obserwowane osobno w czasie wykonywaniabloku.Instancja bêdzie obserwowa³a polecenia bezpoœrednio powi¹zane z u¿ytkownikami –nie bêd¹ mog³y byæ obserwowane akcje w bazie odleg³ej.Do zapamiêtania wartoœci zmiennej w tabeli nale¿y wykorzystaæ wyzwalacz.Wykonanie polecenia zakoñczone niepowodzeniem mo¿e byæ obserwowane, jeœliniepowodzenie nast¹pi³o z powodu braku autoryzacji lub odwo³ania siê donieistniej¹cego obiektu.Wykonanie polecenia zakoñczone niepowodzeniem nie jest obserwowane jeœli samopolecenie SQL by³o niepoprawne.Specyfikowanie obserwacji poleceñObserwacje poleceñ i jej opcje specyfikuje siê poleceniem AUDITSk³adnia:gdzie:polecenie okreœla polecenia SQL, których obserwacja ma mieæ miejsce.BY u¿ytkownik okreœla, i¿ tylko polecenia SQL wydane przez podanego u¿ytkownikamaj¹ byæ obserwowane.Jeœli klauzula ta zostanie pominiêta, Serwer Oraclebêdzie obserwowa³ wszystkich u¿ytkowników.BY SESSION powoduje, i¿ Serwer Oracle bêdzie generowa³ do dziennika tylkojeden rekord dla danego obiektu bazy danych na ka¿d¹ sesjê, niezale¿nie od tegoile poleceñ SQL tego samego typu zostanie wydanych.BY ACCESS powoduje, i¿ Serwer Oracle bêdzie generowa³ do dziennika zapis zaka¿dym razem, gdy obserwowane polecenie zostanie wykonane.Jeœli podamy opcjeobserwacji poleceñ lub uprawnieñ dotycz¹cych Jêzyka Definicji Danych (DDL),Oracle bêdzie wykonywa³ obserwacjê dla wywo³añ, niezale¿nie od tego jakie by³ozlecenie.Dla poleceñ z poza grupy DDL domyœlna jest klauzula BY SESSION.WHENEVER SUCCESSFUL okreœla, i¿ obserwacja ma siê odbywaæ jedynie dla poprawniezakoñczonych poleceñ SQL.NOT okreœla, i¿ obserwacja ma siê odbywaæ jedynie dla poleceñ SQL zakoñczonychniepowodzeniem.Przyk³adObserwacja poleceñ CREATE/ALTER/DROP USER, zakoñczonych sukcesem lub nie, dlawywo³ania (by access) w celu wykrycia modyfikacji atrybutów u¿ytkownika.SQL> AUDIT user BY ACCESSW³¹czenie obserwacje poleceñ przy u¿yciu skrótu CONNECT – w celu rejestrowaniawszystkich po³¹czeñ do bazy danych.SQL> AUDIT connectZapytanie na DBA_STMT_AUDIT_OPTS.SQL> SELECT user_name, audit_option, success, failure2> FROM dba_stmt_audit_opts;USER_NAME AUDIT_OPTION SUCCESS FAILURE------------------ ---------------------------- ---------- ----------USER BY ACCESS BY ACCESSCREATE SESSION BY ACCESS BY ACCESSWszystkie opcje obserwacji poleceñ s¹ podane w perspektywieSTMT_AUDIT_OPTION_MAPObserwowanie uprawnieñZa pomoc¹ obserwacji uprawnieñ mo¿liwa jest selektywna obserwacja poleceñwydanych przez uprawnionych do ich wykonania.Obserwacja uprawnieñ mo¿e byæszeroka i obejmowaæ wszystkich u¿ytkowników bazy danych lub te¿ zogniskowana nawybranych u¿ytkownikach.Obserwacja uprawnieñ jest sk³adniowo i funkcjonalniebardzo podobna do obserwacji poleceñ.Powinna byæ bardzo wybiórcza,minimalizuj¹ca iloœæ informacji zapisywanej do dziennika obserwacji.Obserwacja uprawnieñMo¿liwa jest obserwacja ka¿dego z uprawnieñ systemowych.Istnieje ponad 80 ró¿nych uprawnieñ systemowych, które mog¹ byæ obserwowane.Specyfikowanie obserwacji uprawnieñSk³adniagdzie:przywilej_systemowy okreœla przywilej systemowy którego wykorzystanie bêdzieobserwowane.BY u¿ytkownik okreœla, i¿ tylko polecenie SQL wydane przez podanegou¿ytkownika maj¹ byæ obserwowane.Jeœli klauzula ta zostanie pominiêta SerwerOracle bêdzie obserwowa³ wszystkich u¿ytkowników.BY SESSION powoduje, i¿ Serwer Oracle bêdzie generowa³ do dziennika tylko jedenrekord na ka¿d¹ sesjê, niezale¿nie od tego ile poleceñ SQL tego samego typuzostanie wydanych.BY ACCESS powoduje, i¿ Serwer Oracle bêdzie generowa³ do dziennika zapis zaka¿dym razem, gdy obserwowane polecenie zostanie wykonane.Jeœli podamy opcjêobserwacji poleceñ lub uprawnieñ dotycz¹cych Jêzyka Definicji (DDL).Oraclebêdzie wykonywa³ obserwacjê dla wywo³añ, niezale¿nie od tego jakie by³ozlecenie.Dla poleceñ spoza grupy DDL domyœlna jest klauzula BY SESSION.WHENEVER SUCCESSFUL okreœla, i¿ obserwacja ma siê odbywaæ jedynie dla poprawniezakoñczonych poleceñ SQL.NOT okreœla, i¿ obserwacja ma siê odbywaæ jedynie dla poleceñ SQL zakoñczonychniepowodzeniem.Przyk³adyObserwacje prób scotta, udanych i nieudanych, tworzenia tabel i indeksów wew³asnym schemacie.SQL> AUDIT create table BY scott BY ACCESS;Obserwacja zakoñczonych powodzeniem prób zmiany (ALTER) tabel, procedur,funkcji lub pakietów dokonywanych przez scotta w dowolnym schemacie.SQL> AUDIT alter any table, alter any procedure2> BY scott BY ACCESS3> WHENEVER SUCCESSFUL;Zapytanie na DBA_PRIV_AUDIT_OPIS
[ Pobierz całość w formacie PDF ]