將遠程服務器的一個表映射為本地的一個物化視圖,使用下列語句:
----建立測試環境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
OK!