Как отключить корзину Oracle? - PullRequest
0 голосов
/ 08 мая 2020

На работе наши администраторы баз данных отключили корзину. Дома, отвечая на вопросы о stackoverflow, я создаю множество таблиц, которые удаляются очень быстро.

Я бы хотел отключить recyblebin. Во время исследования я нашел два метода:

ALTER SESSION SET RECYCLEBIN = OFF;

и даже

ALTER SYSTEM SET RECYCLEBIN = OFF DEFERRED;

Однако я использую бродячие ящики Oracle, так как я могу отключить корзину, пока установка базы данных, или другими словами с параметрами инициализации?

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Из документации :

Отключение корзины не очищает и не влияет иным образом на объекты, уже находящиеся в корзине. Корзина включена по умолчанию.

Вы включаете и отключаете корзину, изменяя параметр инициализации корзины. Этот параметр не является динамическим c, поэтому перезапуск базы данных требуется при его изменении с помощью оператора ALTER SYSTEM.

Чтобы проверить значение параметра:

SQL> show parameter recyclebin;

NAME         TYPE        VALUE
------------ ----------- ----------
recyclebin   string      ON

Чтобы отключить корзину:

Уровень сеанса:

ALTER SESSION SET recyclebin = OFF;

Уровень базы данных:

ALTER SYSTEM SET recyclebin = OFF SCOPE = SPFILE; -- Requires database restart

Чтобы удалить все упавшие объекты из корзины ( текущий пользователь):

PURGE RECYCLEBIN;

Чтобы удалить все отброшенные объекты из корзины (для всей системы, доступно только для SYSDBA или, начиная с версии 12c, для пользователей с системными привилегиями PURGE DBA_RECYCLEBIN) :

PURGE DBA_RECYCLEBIN;
1 голос
/ 08 мая 2020

Как и любой другой параметр инициализации, вы можете установить начальное значение параметра recyclebin в текстовом файле инициализации initSID.ora :

recyclebin=off

, а также в соответствии с рекомендациями @Kumar, вы можете установить его потом как:

alter system set recylebin = OFF SCOPE = SPFILE SID='*'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...