----建立测试环境DBLINK:

create database link lnk

connect to user1

identified by pwd1

using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = 172.17.211.114)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SID= REMOTEDB)))';


--创建物化视图,每隔两天自动同步更新一次;

CREATE MATERIALIZED VIEW DEPARTMENT

REFRESH FORCE

START WITH SYSDATE

NEXT  SYSDATE + 2

WITH PRIMARY KEY

AS SELECT * FROM user1.DEPARTMENT@lnk WHERE 1=1;

将远程服务器的一个表映射为本地的一个物化视图,使用下列语句:

结果提示:"ORA-01788: 此查询块中要求 CONNECT BY 子句"。

google无法访问,百度搜索太扯蛋,用必应,总算得到线索,解决方案:

在本地库中执行如下语句:

ALTER SYSTEM SET "_ALLOW_LEVEL_WITHOUT_CONNECT_BY"=TRUE SCOPE=BOTH