我在Oracle 12c上,删除了一个基表WIP_DISCRETE_JOBS
。我们创建了一个备份表,如:
CREATE TABLE WDJ_BKP AS (SELECT * FROM WIP_DISCRETE_JOBS)
DROP TABLE WIP_DISCRETE_JOBS;
COMMIT;
现在,当我尝试从备份表恢复时,它会出错。
CREATE TABLE WIP_DISCRETE_JOBS AS (SELECT * FROM WDJ_BKP)
ORA-00955 name is already used by existing object.
但是如果我们用ALL_OBJECTS
查询WIP_DISCRETE_JOBS
,则不会返回任何行。
有什么问题?
答案 0 :(得分:1)
我们终于解决了这个问题。问题:Oracle 11gR2以后,数据库有版本,这是版本的类型。你有一个当前版本。您需要在设置版本
后查询ALL_OBJECTS或DBA_OBJECTS ALTER SESSION SET EDITION=<EDITION NAME>
查看其他版本中的对象。
可以从DBA_EDITIONS
查询所有会话有些版本具有相同名称的此表的同义词。通过设置每个版本删除同义词后,我们就可以创建表格了。
答案 1 :(得分:-1)
DROP TABLE WIP_DISCRETE_JOBS清除;