Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle Audit export и datapump / 8 сообщений из 8, страница 1 из 1
13.10.2017, 23:43
    #39536217
dvasya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
Привет, необходимо получить записи о резервном копировании базы данных, которые сделаны с помощью команд exp.exe или expdp.


При команде expdp удалось вычислить записи запросом:
select * from dba_audit_trail where ACTION = 1 and OBJ_NAME like 'SYS_EXPORT%' order by TIMESTAMP desc;

А вот команде exp.exe, ничего кроме LOGON LOGOFF нету.

Кто знает как отслеживать события бэкапа базы (схемы или нескольких таблиц), которые делаются программой exp.exe?
...
Рейтинг: 0 / 0
14.10.2017, 02:27
    #39536234
orac_list
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
dvasya,

Стандартно никак. Если только не писать on-logon триггер.
...
Рейтинг: 0 / 0
14.10.2017, 23:05
    #39536376
Nobody1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
dvasya,

в 12с можно. У сессий exp наверняка(не помню, но уверен) выставляются поля module или(и) action.
Можно создать unified audit policy, например, на select any table, используя audit_condition с sys_context('USERENV','MODULE') или sys_context('USERENV','ACTION'). Результат смотреть в unified_audit_trail.
Но:
1) фиксируется только факт выборок такой сессией безотносительно успешности ее завершения,
2) module и action может задавать фактически кто угодно произвольно.

В более ранних версиях оракла можно использовать сходным образом dbms_fga, только any не задашь, придется все таблицы поименно ставить на fga-аудит.
...
Рейтинг: 0 / 0
15.10.2017, 07:42
    #39536407
kinky cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
Nobody1111,
в 12с с Unified audit можно и без костылей
CREATE AUDIT POLICY policy_name
ACTIONS COMPONENT=DATAPUMP [EXPORT | IMPORT | ALL];
...
Рейтинг: 0 / 0
15.10.2017, 08:07
    #39536412
kinky cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
пардон, не заметил что речь про старый exp/imp
...
Рейтинг: 0 / 0
16.10.2017, 09:02
    #39536692
dba123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
dvasya,

Может пригодится внутренний счетчик, правда недокументированный и не для всех утилит, c 11g2r
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select UTLNAME, USECNT, COMPRESSCNT, LAST_USED from SYS.KU_UTLUSE;

UTLNAME                                                USECNT COMPRESSCNT LAST_USED
-------------------------------------------------- ---------- ----------- -------------------------
Oracle Utility Datapump (Export)                            0           0
Oracle Utility Datapump (Import)                            0           0
Oracle Utility SQL Loader (Direct Path Load)                0           0
Oracle Utility Metadata API                                 8           0 10.10.17 11:28:52,002012
Oracle Utility External Table (ORACLE_DATAPUMP)             0           0
Oracle Utility External Table (ORACLE_LOADER)              18           0 09.10.17 02:03:23,397392
Oracle Utility External Table (ORACLE_BIGSQL)               0           0
...
Рейтинг: 0 / 0
16.10.2017, 09:30
    #39536706
Nobody1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
Да, у олдскульного exp выставляется module, для виндового клиентского он ='exp.EXE'. Action остается пустой.

То есть audit_condition будет :
sys_context('USERENV','MODULE')='exp.EXE'

.... и, конечно, не на select any table, а просто на select. Или вообще на любое действие.
Например, так:
Код: plsql
1.
2.
3.
create audit policy old_exp_policy 
actions all 
when 'sys_context(''userenv'',''module'')=''exp.EXE''' evaluate per statement;



Для FGA пример по таблице TABLE1 пользователя USER1 (это придется по всем таблицам, представляющим интерес для контроля):

Код: plsql
1.
exec dbms_fga.add_policy('USER1','TABLE1','old_exp_fga_policy','sys_context(''userenv'',''module'')=''exp.EXE''',audit_trail=>DBMS_FGA.DB)
...
Рейтинг: 0 / 0
16.10.2017, 09:46
    #39536711
Nobody1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Audit export и datapump
Nobody1111Например, так:
Код: plsql
1.
2.
3.
create audit policy old_exp_policy 
actions all 
when 'sys_context(''userenv'',''module'')=''exp.EXE''' evaluate per statement;




Да, потом надо включить:
Код: plsql
1.
audit policy old_exp_policy;
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle Audit export и datapump / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]