oracle - 如何从 oracle 数据库中删除名为“BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0”的奇怪表?
问题描述
我是 Oracle 新手,为了练习,我在 Oracle 11g 中创建了一些表(客户、司机、付款、预订、位置、区域、工作、job_history),根据select * from cat
声明,我发现了一个奇怪的表,其中包含其他名为“BIN$”的创建表c+eOnMB3RbKSEfg/rsxtAQ==$0"。不知道为什么要创建这个表。
我试图通过
drop table BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0;
但它给出了错误:
删除表 BIN$c+ * eOnMB3RbKSEfg/rsxtAQ==$0
第 1 行出现错误:ORA-00933:SQL 命令未正确结束
我应该怎么做才能删除它?
解决方案
你看到的是一个已删除的表RECYCLEBIN
您可以使用此查询获得表的原始名称
SELECT original_name FROM RECYCLEBIN where OBJECT_NAME = 'BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0';
请注意(使用您的参数设置)如果您 DROP 一个表,它不会完全删除,而是移动到回收站中。
您可以使用该选项省略此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;
推荐阅读
- sql - 如何处理数据仓库中重复id包含略有不同值的维度表?
- node.js - 尝试使用 .insert 从多个集合 mongo 获取数据,但继续收到“不是函数”错误
- javascript - WordPress 使用 json_encode 将帖子从 php 发送到 js,并将 ID 发布到 div
- android - 即使应用程序未运行,我如何检查数据?
- c - 在C中连接具有特殊结束字符的字符串
- javascript - 嵌套异步函数的问题(异步系列中的异步瀑布)
- java - 发送电子邮件时如何向 Amazon SES 服务提供 AWS 密钥?
- python - 列表正确访问部分元素的列表
- coldfusion - 以更大的内容呈现 XML
- apache-spark - 根据条件pyspark使用其他列值覆盖列值