ORA-12006:具有相同user.name的物化视图已存在

时间:2014-10-31 11:02:38

标签: sql oracle oracle11g materialized-views

我有一个新的空架构,我试图创建一个新的物化视图问题是我有一个ORA - 12006错误而且我不知道是因为我喜欢#&# 39; ve说,谢玛是空的,其中还有任何数据......

我的查询似乎是:

CREATE MATERIALIZED VIEW mySchema.mvName (column1,column2)
TABLESPACE myTablespace
REFRESH COMPLETE ON DEMAND
WITH PRIMARY KEY
AS 
SELECT DISTINCT column1,column2 AS alias
FROM anotherSchema.table@dblink
WHERE condition1;
/

我已经为dblink创建了补助金。

有人能帮我吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

如果问题中的代码完全您在SQL * Plus中运行的内容,那么这是预期的。

对于SQL * Plus中的SQL语句,您不需要; 一个/;就够了。您只需要/用于PL / SQL。

事实上,在您的情况下,/是您收到错误的原因。

简而言之:当SQL * Plus到达;时,它会创建物化视图。然后它到达/,这意味着"在缓冲区"中运行语句。因此,再次执行创建mview - 显然会产生错误。

有关详细信息,请参阅我关于此主题的相关答案:
https://stackoverflow.com/a/10207695/330315

答案 1 :(得分:0)

您只需检查是否可以访问词典

select object_name,object_type,owner 
from dba_objects where object_name='yourobject';

或选择

进行非常基本的检查
SELECT *
FROM <source user>.<source table>@<database link>

即使是西尔万的问题也非常适用

DROP MATERIALIZED VIEW myschema.mvname;

然后尝试创建视图。

如果错误是针对快照的,则检查其中的重复项

SELECT * 
FROM all_snapshots ;