我有一个新的空架构,我试图创建一个新的物化视图问题是我有一个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创建了补助金。
有人能帮我吗? 谢谢!
答案 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 ;