Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Запрет на удаление  [new]
-2-
Member

Откуда:
Сообщений: 14114
MirnyiAtom
Создать системный триггер на drop table?
Если в базе работают вредители, обойдут без проблем.
5 окт 18, 08:34    [21695967]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5922
SAS2014
база производственная информация привязана к схеме и таблицы

И все ходят под владельцем схемы, явно знают его пароль и имеют возможность выполнить произвольный запрос в БД?

Ах как вы себе заботливо грабли разложили-то! А вот и дробовичок для выстрела в свою ногу рядышком лежит.
5 окт 18, 11:43    [21696151]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1419
env,

для создания "системного триггера" не нужны особые права?

.....
stax
5 окт 18, 12:06    [21696218]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5922
Stax,

-2- уже ответил. Если есть желание навредить, то и это обойдут.
Подойдёт в качестве защиты от дурака-разработчика, выдавшего объектные права в доступные рядовому пользователю.
5 окт 18, 12:12    [21696227]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1419
env,

я б не смог обойти

.....
stax
5 окт 18, 12:19    [21696237]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5149
-2-
MirnyiAtom
Создать системный триггер на drop table?
Если в базе работают вредители, обойдут без проблем.
В общем случае? Как?
5 окт 18, 14:24    [21696408]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
-2-
Member

Откуда:
Сообщений: 14114
dbms_photoshop
-2-
Если в базе работают вредители, обойдут без проблем.
В общем случае? Как?
Если триггер на схема.drop, именно дропнуть не получится. Получить схожий результат можно через rename, alterом удалить поля и накрыть truncateом.
Может быть получится создать партиционную таблицу, сделать exchange и дроп партиции.
5 окт 18, 15:30    [21696498]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9235
-2-,

Оригинальный (ооочень древний) вопрос был про запрет удаления данных таблицы а вот сегодняшний про запрет удаления самих таблиц. Конечно, с точки зрения бизнеса те же яйца, но с технической...

SY.
5 окт 18, 15:52    [21696536]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром продолжается. КЯЗ
Сообщений: 28493
SY
Оригинальный (ооочень древний) вопрос был про запрет удаления данных таблицы а вот сегодняшний про запрет удаления самих таблиц. Конечно, с точки зрения бизнеса те же яйца, но с технической...
Виной тому, в немалой степени, косноязычие продолжателя:
SAS2014
удалять таблицу
5 окт 18, 15:59    [21696545]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5149
-2-
Может быть получится создать партиционную таблицу, сделать exchange и дроп партиции.
Ну да, 12.2 вроде позволяет ковертировать в секционированную
alter table ... modify partition by ... online
Так что, наверное, можно подропать секции и даже транкейт не пригодится.
5 окт 18, 16:13    [21696561]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9235
dbms_photoshop
Так что, наверное, можно подропать секции и даже транкейт не пригодится.


Последнюю сигарету не стреляют

SQL> select partition_name from user_tab_partitions where table_name = 'LIST_PART_TAB';

PARTITION_NAME
---------------------------------------------------------------------------------------
PART_AA

SQL> alter table list_part_tab drop partition part_aa;
alter table list_part_tab drop partition part_aa
                                         *
ERROR at line 1:
ORA-14083: cannot drop the only partition of a partitioned table


SQL> 


SY.
5 окт 18, 16:29    [21696587]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2657
столько слов столько много, а толку нет
и ни один из типа "экспертов" так и не написал команду, которую я просил.

А просил я просто, мне надо запретить определенному пользователю удалять таблицы

пробовал не работает
revoke drop any table from test
8 окт 18, 09:51    [21697728]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2657
причем любые таблицы
8 окт 18, 09:51    [21697730]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
-2-
Member

Откуда:
Сообщений: 14114
SAS2014
столько слов столько много, а толку нет
и ни один из типа "экспертов" так и не написал команду, которую я просил.

А просил я просто, мне надо запретить определенному пользователю удалять таблицы
Чтобы дать команду кому-то, важны не конкретные слова, а командный голос.
8 окт 18, 10:05    [21697742]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5922
SAS2014
и ни один из типа "экспертов" так и не написал команду, которую я просил.

Берёшь доку и внимательно читаешь про права владельца схемы.

Решение тебе уже дали - синонимов вполне хватит. Но, т.к. думать ты не желаешь, и продолжаешь ждать чуда в виде волшебной заплатки для кривой архитектуры, то окромя стёба дать тебе практически нечего.
Вариант с системным триггером, защищающим от кривых рук разработчика, тоже уже предложили.
8 окт 18, 11:01    [21697799]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 9235
SAS2014
причем любые таблицы


Чужие таблицы удалить можно только имея DROP ANY TABLE (хаки не обсуждаем). Свою таблицу мoжно грохнуть всегда. Поэтому таблицы которые юзер не должен грохать должны быть чужими таблицами. Можно конечно создать триггер (при уcловии юзер не имеет ADMINISTER DATABASE TRIGGER) или, например, создать дочернюю таблицу в другой схеме если таблицы которые юзер не должен грохать имеют PK/UK но все это плохая архитектура.

SY.
8 окт 18, 16:30    [21698345]     Ответить | Цитировать Сообщить модератору
 Re: Запрет на удаление  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2657
SY
SAS2014
причем любые таблицы


Чужие таблицы удалить можно только имея DROP ANY TABLE (хаки не обсуждаем). Свою таблицу мoжно грохнуть всегда. Поэтому таблицы которые юзер не должен грохать должны быть чужими таблицами. Можно конечно создать триггер (при уcловии юзер не имеет ADMINISTER DATABASE TRIGGER) или, например, создать дочернюю таблицу в другой схеме если таблицы которые юзер не должен грохать имеют PK/UK но все это плохая архитектура.

SY.


значит как бы не замарачиватся то в своей схеме юзер может удалить все и запретить ему нельзя, кроме как писать pl\sql код
9 окт 18, 01:10    [21698794]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Oracle Ответить