Oracle Database Certified Associate (OCA) 1 minute read

Mulai dari Oracle 10g, Oracle mengenalkan feature Recyclebin dalam enginenya. jadi ketika kita menghapus object database dengan perintah drop, maka object tersebut akan dipindahkan ke recyclebin sebelum dihapus secara permanent.

Ok langsung ja, kita coba buat table dengan perintah berikut:

Setelah di execute, kemudian di commit. Maka hasilnya seperti berikut:

SQL> select kode, nama from need_to_drop;

      KODE NAMA
---------- --------------------------------------------------
         1 Dimas Maryanto
         2 Muhamad Yusuf

Sekarang coba drop tablenya dengan perintah berikut:

Sekarang coba periksa dictionary view, recyclebin dengan perintah berikut:

Berikut hasilnya:

SQL> select OBJECT_NAME, ORIGINAL_NAME, OPERATION, TYPE from RECYCLEBIN;

OBJECT_NAME                       ORIGINAL_NAME          OPERATION TYPE
--------------------------------- ---------------------- --------- ------------------
BIN$vAC1YpxjAkfgUwIAEqz5tA==$0    NEED_TO_DROP           DROP      TABLE

Sekarang klo kita mau liat dulu datanya masih ada atau tidak sekarang kita coba perintah berikut:

SQL> select kode, nama
from "BIN$vAC1YpxjAkfgUwIAEqz5tA==$0";

      KODE NAMA
---------- --------------------------------------------------
         1 Dimas Maryanto
         2 Muhamad Yusuf

Mengembalikan table yang telah di drop

Jika kita ingin mengembalikan table dari recyclebin, Berikut perintahnya:

Berikut hasilnya:

SQL> flashback table need_to_drop to before drop ;

Flashback complete.

SQL> select OBJECT_NAME, ORIGINAL_NAME, OPERATION, TYPE
from RECYCLEBIN;

no rows selected

SQL> select TABLE_NAME, STATUS, READ_ONLY
from USER_TABLES
where TABLE_NAME = 'NEED_TO_DROP';

TABLE_NAME                   STATUS   REA
---------------------------- -------- ---
NEED_TO_DROP                 VALID    NO

Menghapus secara permanet

Untuk menghapus secara permanent, kita bisa menggunakan keyword purge seperti berikut:

berikut hasilnya:

SQL> purge recyclebin;

Recyclebin purged.

atau klo misalnya menghapus table secara permanent tanpa dipindahkan lebih dulu ke recyclebin gunakan perintah berikut: