我对Oracle数据库的SQL PURGE语句有点担心。根据Oracle doc,我们可以清除索引,参考here。
但根据Oracle Doc in Administration,索引只是与表关联的对象。因此,索引不能单独从回收站中清除(事实上,它在清除表时会被清除)。
有人可以给我一个我可以模拟的例子"清除索引"?
答案 0 :(得分:3)
如果删除具有索引的表,则表及其索引都将移动到recyclebin。此时,您可以单独清除索引。
create table demo (id integer);
create index demo_ix on demo(id);
drop table demo;
select r.object_name, r.original_name, r.type from user_recyclebin r;
OBJECT_NAME ORIGINAL_NAME TYPE
------------------------------- ----------------------- -------------------------
BIN$SC08VFzrQAGoWW5b/yBRIQ==$0 DEMO_IX INDEX
BIN$zIngUcYDRaqvbVqnesnUtQ==$0 DEMO TABLE
purge index demo_ix;
select r.object_name, r.original_name, r.type from user_recyclebin r;
OBJECT_NAME ORIGINAL_NAME TYPE
------------------------------- ----------------------- -------------------------
BIN$zIngUcYDRaqvbVqnesnUtQ==$0 DEMO TABLE