При роботі з базами даних, оператор DROP є поширеним способом для видалення об'єктів, таких як таблиці чи подання. Однак в Oracle базах даних клаузула PURGE надає потужний нюанс щодо того, як об'єкти обробляються під час видалення.
Основи DROP в Oracle
В Oracle, коли ви видаляєте таблицю, вона не видаляється миттєво з бази даних. Замість цього вона переміщається в Кошик, де її можна відновити, якщо потрібно. Ця функція забезпечує захист від випадкових видалень, дозволяючи вам відновити об'єкт за допомогою команди FLASHBACK.
Ось стандартний синтаксис для видалення таблиці без PURGE:
DROP TABLE table_name;
Ця операція переміщає таблицю в Кошик, забезпечуючи, щоб дані не були безповоротно втрачені.
Що робить PURGE?
Клаузула PURGE гарантує, що об'єкт, який видаляється, буде безповоротно видалений, оминаючи Кошик. Після того, як таблиця видалена з PURGE, вона не може бути відновлена, а простір, який вона займала, звільняється негайно.
Ось синтаксис з клаузулою PURGE:
DROP TABLE table_name PURGE;
Основні відмінності між DROP та DROP ... PURGE
Навіщо використовувати PURGE?
- Безповоротне видалення: Якщо ви впевнені, що об'єкт більше не потрібен,
PURGEгарантує, що не залишиться жодних слідів. - Негайне звільнення простору: Якщо питання зберігання є критичним,
PURGEзвільняє простір без очікування очищення Кошика. - Чутливі дані: Для чутливих даних
PURGEгарантує, що вони не можуть бути випадково відновлені.
Приклади
- Видалення таблиці без
PURGE
DROP TABLE employees;
- Таблиця
employeesпереміщається в Кошик. - Її можна відновити за допомогою:
FLASHBACK TABLE employees TO BEFORE DROP;
- Видалення таблиці з
PURGE
DROP TABLE employees PURGE;
- Таблиця
employeesбезповоротно видаляється. - Відновлення неможливе.
Висновок
Клаузула PURGE в операторі DROP Oracle надає механізм для безповоротного видалення, оминаючи захист Кошика. Хоча це потужний інструмент для ефективного управління простором та обробки чутливих даних, його слід використовувати обережно, оскільки відновлення неможливе.
При вирішенні, чи використовувати PURGE, ретельно розгляньте ваш випадок: чи потрібен вам захист Кошика, чи ви впевнені, що об'єкт більше не потрібен?
Зрозумівши нюанси між DROP та PURGE, ви зможете ефективніше керувати своїми об'єктами бази даних і уникнути непотрібних помилок.
Перекладено з: Understanding the PURGE Clause in the DROP Statement