创建物化视图使用远程表挂起 - 即使有0行

时间:2017-01-06 16:15:01

标签: oracle materialized-views

我们正在尝试基于远程表创建一个简单的物化视图,但它只是挂起。

视图创建代码与此类似:

CREATE MATERIALIZED VIEW MV_XYZ
REFRESH FORCE ON DEMAND
AS
  SELECT COLUMN1,
         COLUMN2,
         COLUMN3
    FROM TAB1@DBLINK1
   WHERE COLUMN4 = 1

现在,如果我们分别执行SELECT语句,我们得到:

#Rows: 237
#Execution Time: 0.8 seconds

这已经相当奇怪,但即使我们将SELECT语句更改为返回0行,视图仍然无法创建:

CREATE MATERIALIZED VIEW MV_XYZ
REFRESH FORCE ON DEMAND
AS
  SELECT COLUMN1,
         COLUMN2,
         COLUMN3
    FROM TAB1@DBLINK1
   WHERE COLUMN4 = 1
     AND 1=2 --included this, still hangs;

结果集看起来与问题本身无关。

可能导致此问题的原因是什么?

其他考虑因素: 我们在同一个dblink上基于其他表创建物化视图没有问题。

1 个答案:

答案 0 :(得分:0)

查询V $ session(和v $ sqlarea),因为这些视图将提供一些有关正在发生的事情的线索;您还可以检查阻塞锁(许多脚本可在线获取)。