PROCEDURE |
BY ACCESS BY ACCESS |
TRIGGER |
BY ACCESS BY ACCESS |
ROLE |
BY ACCESS BY ACCESS |
Проверим включенные опции.
Connect ch_cert/ch_cert@orcl CREATE ROLE r1;
CREATE USER user1 IDENTIFIED BY user1; CREATE OR REPLACE PROCEDURE pr1 AS BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr1 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
Alter system set nls_language=’RUSSIAN’; Alter system set nls_language= RUSSIAN; Connect sys/sys@orcl as sysdba
401
SELECT userid,name name_for_audit,obj$name FROM
aud$,audit_actions |
|
|
WHERE aud$.action#=audit_actions.action; |
|
|
USERID |
NAME_FOR_AUDIT |
OBJ$NAME |
------------------ |
---------------------------- |
--------- |
CH_CERT |
CREATE ROLE |
R1 |
CH_CERT |
CREATE USER |
USER1 |
CH_CERT |
CREATE PROCED |
URE PR1 |
CH_CERT |
CREATE TRIGGER |
TR1 |
CH_CERT |
CREATE TRIGGER |
TR2 |
CH_CERT |
CREATE TRIGGER |
TR2 |
CH_CERT |
ALTER SYSTEM |
|
CH_CERT |
ALTER SYSTEM |
|
Несмотря на то, что отдельные действия выполнялись с ошибкой, аудит зарегистрировал все действия пользователя «ch_cert»/ Соединимся теперь пользователем «scott» и выполним те же действия, что и пользователь «ch_cert».
Connect scott/scott@orcl CREATE ROLE r2;
CREATE USER user2 IDENTIFIED BY user2; CREATE OR REPLACE PROCEDURE pr1 AS BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr1 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL
402
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
Alter system set nls_language=’RUSSIAN’; Alter system set nls_language= RUSSIAN;
Connect sys/sys@orcl as sysdba
SELECT userid,name name_for_audit,obj$name FROM
aud$,audit_actions |
|
|
WHERE aud$.action#=audit_actions.action |
|
|
ORDER BY userid; |
|
|
USERID |
NAME_FOR_AUDIT |
OBJ$NAME |
------------------ |
-------------------------- |
--------- |
CH_CERT |
CREATE ROLE |
R1 |
CH_CERT |
ALTER SYSTEM |
|
CH_CERT |
ALTER SYSTEM |
|
CH_CERT |
CREATE PROCEDURE |
PR1 |
CH_CERT |
CREATE TRIGGER |
TR2 |
CH_CERT |
CREATE TRIGGER |
TR1 |
CH_CERT |
CREATE USER |
USER1 |
CH_CERT |
CREATE TRIGGER |
TR2 |
SCOTT |
CREATE USER |
USER2 |
SCOTT |
CREATE ROLE |
R2 |
SCOTT |
ALTER SYSTEM |
|
SCOTT |
CREATE TRIGGER |
TR2 |
SCOTT |
CREATE TRIGGER |
TR2 |
SCOTT |
CREATE TRIGGER |
TR1 |
SCOTT |
ALTER SYSTEM |
|
SCOTT |
CREATE PROCEDURE |
PR1 |
Выше мы установили параметр «audit_sys_operations» в значение «TRUE». После этого мы не раз делали пользователем «SYS» запросы к словарю. Полезно при выполнении лабораторных работ
403
использовать консоль «Oracle Enterprise Manager Console» пользо-
ватетем «sys», так как в этой консоли удобно просматривать содержимое таблиц и представлений аудита без того, чтобы набирать соответствующие команды в окне SQL*Plus. Все действия ползова-
теля «sys», в том числе и в консоли «Oracle Enterprise Manager Console», можно увидеть в окне просмотра событий ОС.
На рис. 15.2. приведен снимок окна программы «Просмотр событий» со строками событий.
Рис. 15.2. Окно просмотра событий
На рис. 15.3 представлен снимок окна, соответствующего одной из строк в окне просмотра событий на рис. 15.2 запросу, который выполнял пользователь «sys». В окне представлен текст запроса, представлены дата и время запроса, указано с какого компьютера запрос выполнялся.
При включении аудита с опцией «OS»:
ALTER SYSTEM SET audit_trail= OS SCOPE=SPFILE;
Информация аудита будет писаться в журнал событий операционной системы вместо журнала базы данных (таблица «aud$»). Например, если пользователь «ch_cert» выполнит команду «alter user
404
user1 identified by user1;»
в программе «Просмотр событий» появится новая строка, которой соответствует окно на рис. 15.4.
Рис. 15.3. Окно просмотра конкретного события (появляется при двойном клике мышки на строке в окне программы просмотра событий)
Рис. 15.4. Регистрация события в журнале событий ОС
405