oracle - 如何从oracle数据库中删除名为 "BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0"的奇怪表?

标签 oracle

我是 Oracle 的新手,为了练习,我在 Oracle 11g 和 select * from cat 上创建了一些表(客户、司机、付款、预订、位置、区域、工作、job_history)。声明我发现了一个奇怪的表,其中包含名为“BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0”的其他创建的表。我不知道为什么会创建这个表。

我试图通过删除这张表

drop table BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0;

但它给出了错误:

drop table BIN$c+*eOnMB3RbKSEfg/rsxtAQ==$0

ERROR at line 1: ORA-00933: SQL command not properly ended



我应该怎么做才能删除它?

最佳答案

您看到的是 RECYCLEBIN 中的已删除表

您可以通过此查询获得表的原始名称

SELECT original_name FROM RECYCLEBIN where OBJECT_NAME = 'BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0';

请注意(使用您的参数设置)如果您删除一个表,它不会被完全删除,而是在回收站中移动。

您可以使用 PURGE 来省略它。选项。

删除表 xxx 清除;

要从回收站中删除该表,您必须使用双引号(因为这不是有效名称)和 对名称进行引用。使用 PURGE 语句 (不是 DROP - 会触发 ORA-38301: can not perform DDL/DML over objects in Recycle Bin )。
PURGE TABLE "BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0"

或者,您可以使用 original_name通过上面的查询获得:
PURGE TABLE {your_original_name};

要完全清理回收站,请使用此语句(使用 propper 表用户)
PURGE RECYCLEBIN;

关于oracle - 如何从oracle数据库中删除名为 "BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0"的奇怪表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56635399/

相关文章:

oracle - DART与ORACLE DART pub一起使用时的 future 功能

Oracle DBMS 调度程序在周末的频率发生变化

c# - Oracle AQ 主题队列使用 ODP.NET 出队

sql - 当主表用于其他表时,如何防止在表中输入值?

oracle - 在 Oracle SQL Developer 3.2 中使用变量

java - 如何在 Java 中打印语句(CallableStatement)?

sql - SQL 语句中不允许的本地集合类型

sql - Oracle SQL Developer 复制数据库步骤

sql - 数据库表的行和列的转换

Oracle - 无法删除表