首页 > 解决方案 > 删除了一个 Oracle 表,现在无法创建同名表

问题描述

我在 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_OBJECTSWIP_DISCRETE_JOBS问题是什么?

标签: sqloracle

解决方案


我们终于解决了这个问题。问题:Oracle 11gR2 以后,数据库有版本,这是版本的类型。您有当前版本。设置版本后需要查询ALL_OBJECTS或DBA_OBJECTS

ALTER SESSION SET EDITION=<EDITION NAME>

查看其他版本中的对象。

可以从 DBA_EDITIONS 查询所有会话

有一些版本具有与此表同名的同义词。通过设置到每个版本来删除同义词后,我们就可以创建表了。


推荐阅读