Có 1 tính năng trong Oracle Database, mà các bạn mới làm thường ít để ý, và nó gây lãng phí khá nhiều dung lượng lưu trữ.
Đó là Recycle Bin
Khi tính năng này được bật lên, nếu bạn xoá 1 bảng, bảng đó sẽ không thực sự bị xoá, nó (và các object liên quan như index, constraint, lob) sẽ được lưu giữ trong Recycle Bin.
Nếu sau này, bạn hối hận vì đã xoá nó, bạn hoàn toàn có thể khôi phục nó lại từ Recycle Bin. Kỹ thuật này còn có tên là Flashback Drop.
Tuy nhiên, việc nó vẫn còn ở lại Recycle Bin sau khi xoá, sẽ chiếm dụng dung lượng đáng kể. Nó sẽ vẫn cứ ở đó, cho đến khi tablespace đầy, cần cấp phát thêm dung lượng.
Do đó, nếu bạn thực sự muốn xoá 1 bảng, sau khi xoá bảng đó, bạn cần xoá nó cả trong Recycle Bin nữa.
Bạn có thể xem video demo tại đây
Thực hành với Recycle Bin
Kiểm tra xem Recycle Bin đã được bật hay chưa
Để kiểm tra xem Recycle Bin có đang được bật hay không, bạn dùng câu lệnh
Nếu giá trị của recyclebin là ON, tức là tính năng Recycle Bin đã được bật.
Nếu tính năng Recycle Bin chưa được bật, bạn có thể bật nó lên bằng câu lệnh sau:
Sau đó restart lại database
Tương tự, nếu bạn muốn tắt chức năng Recycle Bin đi.
Tạo bảng để kiểm thử tính năng Recycle Bin:
Thử drop bảng xem sao
Chú ý: Nếu bạn muốn xoá hẳn bảng, mà không lưu trong Recycle Bin, bạn dùng thêm option Purge khi drop bảng như sau: