Ограничение базы данных Oracle

Я хотел бы знать, возможно ли, чтобы администратор базы данных сделал что-то подобное

  1. Предоставьте доступ только для чтения к существующей базе данных.
  2. Однако пользователь должен иметь возможность создавать новые таблицы (даже временные таблицы тоже подойдут).
  3. Пользователь имеет доступ на запись ко всем новым временным таблицам, созданным им, и эти временные таблицы исчезают при закрытии сеанса.

Я знаю, что 1-й пункт возможен, но возможно ли предоставить разрешения, указанные в пунктах 2 и 3, тому, у кого есть доступ только для чтения к существующим таблицам базы данных.


person Prabhjot    schedule 04.09.2014    source источник


Ответы (1)


Привилегии предоставляются не для баз данных или схем, а только для объектов. Конечно, вы можете создать пользователя базы данных и предоставить этому пользователю SELECT доступ к каждой таблице в каждой схеме базы данных, к которой вы хотите, чтобы он имел доступ. Если создаются новые объекты, вам необходимо предоставить права доступа к этим новым объектам этому пользователю. Затем вы можете дать этому пользователю привилегию CREATE TABLE вместе с соответствующей квотой на табличное пространство, чтобы позволить пользователю создавать новые таблицы. В основном это касается №1 и №2.

Что касается № 3, в Oracle нет такой вещи, как таблица, определение которой является локальным для конкретного сеанса, поэтому вы не можете удалить таблицы после завершения сеанса. Я полагаю, вы могли бы создать триггер выхода из системы, который отправляет задание через dbms_job, чтобы удалить все таблицы в схеме пользователя вскоре после выхода пользователя из системы. Однако это было бы чрезвычайно необычно, поэтому я настоятельно рекомендую вам избегать этого, если только вы не делаете что-то действительно необычное (например, sqlfiddle делает много странных вещей под прикрытием, потому что это очень странный способ использования Oracle). база данных).

person Justin Cave    schedule 04.09.2014
comment
Спасибо Джастин за ответ - person Prabhjot; 04.09.2014