select * from user_audit_object where PRIV_USED = 'DROP USER';Работает только при включенном "audit_trail" (http://beepings.blogspot.ru/2015/03/oracle.html)
Показаны сообщения с ярлыком audit. Показать все сообщения
Показаны сообщения с ярлыком audit. Показать все сообщения
четверг, 28 декабря 2017 г.
Кто сделал "DROP USER"?
Как узнать, кто удалил схему в Oracle?
понедельник, 2 марта 2015 г.
Информация о крайнем подключении к БД Oracle
Реализован скрипт, который показывает дату крайнего подключения к базам Oracle:
Пример:
/* bash-вариант */:
----
Необходимо, чтобы заполнялась таблица dba_audit_session, для этого:
alter system set audit_trail=true scope=spfile; --включение параметра
audit connect; --либо аудит любого подключения
audit create session whenever successful; --либо аудит только успешно созданных сессий (сейчас указано это)
create pfile from spfile; - сохранить параметры
Перезапустить экземпляр Oracle.
select du.username||case when du.account_status='OPEN' then '' else ' ('||du.account_status||')' end USERNAME, to_char(max(da.TIMESTAMP),'DD.MM.YYYY') LASTLOGON
from dba_users du left join dba_audit_session da on da.username=du.username
where du.default_tablespace='USERS'
and du.username not in ('APEX_PUBLIC_USER','ORACLE_OCM','SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR') --Исключаем из выборки пользователей, которые создаются по-умолчанию в процессе установки и конфигурирования Oracle
and du.username like '%=_%' escape '=' -- Включаем в выборку только тех пользователей, у которых в имени есть символ подчеркивания (мы только так схемы и называем)
group by du.username||case when du.account_status='OPEN' then '' else ' ('||du.account_status||')' end
order by 1 asc;
Пример:
[oracle@dbserver playground]$ ./olastlogon.sh
USERNAME                                                      LASTLOGON
----------------------------------------------------------------- ----------
F_ANGARSK_150218                                              04.03.2015
F_BRATSK_150218
F_IRKOBL_150129                                                   06.03.2015
3 rows selected.
/* bash-вариант */:
cat olastlogon.sh
#!/bin/bash
# Selecting usernames and their statuses from dba_users with last logon info from dba_audit_session (ORACLE)
daScr=/tmp/osu_140829.sql
echo SET LINESIZE 150\;>$daScr
echo SET PAGESIZE 300\;>>$daScr
echo select du.username\|\|case when du.account_status=\'OPEN\' then \'\' else \' \(\'\|\|du.account_status\|\|\'\)\' end USERNAME, to_char\(max\(da.TIMESTAMP\),\'\DD.MM.YYYY'\) LASTLOGON>>$daScr
echo from dba_users du left join dba_audit_session da on da.username=du.username>>$daScr
echo where du.default_tablespace=\'USERS\'>>$daScr
echo and du.username not in \(\'APEX_PUBLIC_USER\',\'ORACLE_OCM\'\,\'SPATIAL_CSW_ADMIN_USR\',\'SPATIAL_WFS_ADMIN_USR\'\) --Исключаем из выборки пользователей, которые создаются по-умолчанию в процессе установки и конфигурирования Oracle>>$daScr
echo and du.username like \'%=_%\' escape \'=\' -- Включаем в выборку только тех пользователей, у которых в имени есть символ подчеркивания \(мы только так схемы и называем\)>>$daScr
echo group by du.username\|\|case when du.account_status=\'OPEN\' then \'\' else \' \(\'\|\|du.account_status\|\|\'\)\' end>>$daScr
echo order by 1 asc\;>>$daScr
echo exit\;>>$daScr
if [ $USER == root ]
then
su - oracle -c "sqlplus / as sysdba @$daScr"
else
sqlplus / as sysdba @$daScr
fi
rm $daScr
if [[ -n $DISPLAY ]]; then read -p 'Press ENTER key to exit.'; fi
----
Необходимо, чтобы заполнялась таблица dba_audit_session, для этого:
alter system set audit_trail=true scope=spfile; --включение параметра
audit connect; --либо аудит любого подключения
audit create session whenever successful; --либо аудит только успешно созданных сессий (сейчас указано это)
create pfile from spfile; - сохранить параметры
Перезапустить экземпляр Oracle.
Подписаться на:
Сообщения (Atom)
Архив
-
►
2019
(44)
- декабря (2)
- октября (6)
- сентября (9)
- августа (1)
- июля (1)
- июня (2)
- мая (2)
- апреля (2)
- марта (2)
- февраля (9)
- января (8)
-
►
2018
(54)
- декабря (4)
- ноября (3)
- октября (6)
- сентября (4)
- августа (2)
- июля (2)
- мая (3)
- апреля (4)
- марта (11)
- февраля (6)
- января (9)
-
►
2017
(55)
- декабря (4)
- ноября (14)
- октября (1)
- сентября (3)
- августа (10)
- июля (2)
- июня (5)
- мая (2)
- апреля (3)
- марта (4)
- февраля (4)
- января (3)
-
►
2016
(111)
- декабря (12)
- ноября (4)
- октября (14)
- сентября (7)
- августа (7)
- июля (14)
- июня (12)
- мая (8)
- апреля (5)
- марта (16)
- февраля (10)
- января (2)
-
►
2015
(96)
- декабря (2)
- ноября (4)
- октября (3)
- сентября (6)
- августа (2)
- июля (2)
- июня (2)
- мая (11)
- апреля (14)
- марта (24)
- февраля (21)
- января (5)
-
►
2014
(72)
- декабря (18)
- ноября (16)
- октября (2)
- сентября (7)
- августа (4)
- июля (1)
- июня (4)
- мая (5)
- апреля (3)
- марта (3)
- февраля (6)
- января (3)
-
►
2013
(33)
- декабря (3)
- ноября (2)
- октября (3)
- сентября (2)
- августа (1)
- июля (1)
- июня (2)
- мая (5)
- апреля (2)
- марта (2)
- февраля (1)
- января (9)
-
►
2012
(181)
- ноября (6)
- октября (11)
- сентября (6)
- августа (5)
- июля (6)
- июня (25)
- мая (24)
- апреля (14)
- марта (20)
- февраля (38)
- января (26)
