我将完整数据库导入到具有相同结构的现有数据库中。 在此之后,调用DBMS_MVIEW.REFRESH过程导致ORA-01422错误。 例如:
begin
DBMS_MVIEW.REFRESH('SCHEMA_NAME.T_TOP_FRESH_COMMENTS');
end;
错误:
ORA-01422精确提取返回超过请求的行数
ORA-06512:在" SYS.DBMS_SNAPSHOT",第2563行
ORA-06512:在" SYS.DBMS_SNAPSHOT",第2776行
ORA-06512:在" SYS.DBMS_SNAPSHOT",第2745行
ORA-06512:第2行
选择贝娄返回单行:
select * from dba_registered_mviews t where t.name = 'T_TOP_FRESH_COMMENTS'
错误导致什么?我该如何解决这个问题? 谢谢!
UPD:
物化视图选择不会导致错误。其他物化视图重复了同样的错误。
下面列出了创建视图的脚本:
CREATE MATERIALIZED VIEW T_TOP_FRESH_COMMENTS
REFRESH FORCE ON DEMAND
AS
SELECT ROWNUM AS order_comment, id_comment, date_refresh
FROM ( SELECT c.id_comment, MAX (h.updated) date_refresh
FROM t_comment_user c
INNER JOIN t_comment_history h ON c.id_comment = h.id_comment
WHERE c.published = 'T' AND h.published = 'T' and h.updated is not null GROUP BY c.id_comment
ORDER BY date_refresh DESC)
WHERE ROWNUM <= 10;
UPD1: 我跑完了刷新并收到了同样的错误:
begin
DBMS_MVIEW.REFRESH('SCHEMA_NAME.T_TOP_FRESH_COMMENTS','c');
end;
我用REFRESH COMPLETE重新创建了物化视图,这也没有用。 我试图清除查看日志。它没有帮助:
begin
dbms_mview.purge_log('SCHEMA_NAME.T_COMMENT_HISTORY',99999,'delete');
end;
答案 0 :(得分:0)
请参见SYSTEM.DEF$_DESTINATION
表中的重复条目(文档ID 2172529.1)。