Я не могу найти ссылку на какие-либо конкретные привилегии.
Потому что, насколько я знаю, их нет. Вам все равно придется предоставить пользователю CREATE TABLE
привилегию, чтобы он мог создавать TEMPORARY
таблиц.
Чтобы запретить пользователю создавать обычные таблицы и разрешить ему создавать только временные таблицы, вы можете рассмотреть следующие вопросы:
Предоставить пользователю CREATE TABLE
привилегию и отменить квоту для определенного табличного пространства.
alter user <<user_name>> quota 0M on <<tablespace>>;
Это может быть табличное пространство пользователя по умолчанию или другое.
В версиях Oracle без DEFFERED_SEGMENT_CREATION
пользователю будет достаточно увидеть space quota exceeded for tablespace
, когда он попытается создать обычную таблицу.
В версии Oracle с DEFFERED_SEGMENT_CREATION
пользователь по-прежнему сможет создавать обычные таблицы, но не сможет их заполнять. Когда пользователь пытается выполнить оператор INSERT
, появляется space quota exceeded for tablespace
.
Так что вы можете установить deferred_segment_creation
параметр на false
.
alter system set deferred_segment_creation = false;