oracle刪除表,讓整個表從數據庫中徹底消失


刪除普通表,並未真正刪除表,只是把該表放在回收站中。

drop table student_infor;

 

刪除帶約束的表

drop table tb_date_test cascade constraints;

 

從回收站中,可以看到已經被刪除的兩個表,還可以看到表原來的名字、在回收站中的名字及刪除日期。也可以使用SQL語句select * from recyclebin查看回收站中的對象。
清空回收站中指定的表

清空回收站中的所有表

purge recyclebin;

一次性徹底刪除表

drop table tb_maintence purge;

purge指示一次性徹底刪除表,不把該表放入回收站

在oracle中,當刪除一個表時,oracle並沒有真正刪除該表,而是把該表重命名,然后扔到回收站中,使用purge命令來清空回收站,將會釋放表占用的空間,把這些空間返回給表空間,成為表空間中的自由空間。

一旦空間吃緊,oracle會自動清空回收站中的對象。在oracle清空前,可以找回被刪除的對象,就是把被刪除的對象從回收站中撿回來,即所謂的閃回技術

從回收站中還原被刪除的表instructor

flashback table instructor to before drop

還原並重命名該表

flashback table instructor to before drop rename to instructor_restore;

使用desc命令查看表instructor_restore是否已經撿回


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM