每当我执行select * from tab;
时,我都会得到我没有创建的表格。
它看起来像:
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$GGrKjbVGTVaus4568IEhUQ==$0 TABLE
BIN$H+a0o3uyTTKTOA8WMkNltg==$0 TABLE
BIN$IUNyfOwkS0WSEVjbn04mNw==$0 TABLE
BIN$K/3NJw5zRXyRqPixL3tqDA==$0 TABLE
BIN$KQw9SejEToywXlHp18FMZA==$0 TABLE
BIN$MOEfgWgsS0GkC/CpYW+cxA==$0 TABLE
BIN$QkUYVciPQpWBwqBhxH+Few==$0 TABLE
BIN$QmtbaOYiTHCGEE0PRiLzmg==$0 TABLE
BIN$QxF4/JShTxu8PYIx8g/L7Q==$0 TABLE
BIN$UtEI7RbiQvOYzKqJEibwKQ==$0 TABLE
BIN$VMG0FXp2ROCKbedj3Ge9hg==$0 TABLE
我尝试过
select 'drop table '||table_name||' cascade constraints;' from user_tables;
在假脱机上并执行但未选中这些表。它看起来非常混乱,让我烦恼不已。这些是什么?有什么方法可以摆脱它们吗?或者我是否必须处理它并使用它?
答案 0 :(得分:1)
问他们是什么?
A 看起来像在RECYCLEBIN中删除并保留的表格。
问我有什么方法可以摆脱它们吗?
A 您可以使用,例如PURGE TABLE BIN$GGrKjbVGTVaus4568IEhUQ==$0 ;
删除它们。
那将是他们个人。请注意,索引和LOB(以及其他外部存储)也可能在回收站中具有条目。您可以使用其他语句清除回收站中的所有条目。
问或者我是否必须处理它并使用它?
A 这取决于你。
有一些语句可以清除当前用户的回收站,或者如果您有权限,则可以清除整个数据库。您也可以禁用recyclebin,或者(我认为)DROP TABLE
上有一个选项会丢弃一个表而不将其保留在recyclebin中(所以这些都不会在将来创建) 。)
我没有必要重复Oracle文档的内容。
请参阅:http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables011.htm#ADMIN01511
答案 1 :(得分:0)
发布评论以提高可见度.. 归功于@Tomás指出我正确的方向。
我必须这样做
purge recyclebin;
而不是purge dba_recyclebin
,因为我没有足够的权限(我是通过ssh登录的学生)。
如果要关闭回收站,请使用ALTER SESSION SET recyclebin = OFF;