2017-01-06 33 views
1

我們試圖創建基於遠程表的簡單物化視圖,但它只是掛起。創建物化視圖使用遠程表掛起 - 即使是0行

視圖創建代碼類似於此:

CREATE MATERIALIZED VIEW MV_XYZ 
REFRESH FORCE ON DEMAND 
AS 
    SELECT COLUMN1, 
     COLUMN2, 
     COLUMN3 
    FROM [email protected] 
    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 [email protected] 
    WHERE COLUMN4 = 1 
    AND 1=2 --included this, still hangs; 

它出現結果集與問題本身無關。

這可能是什麼原因造成的?

附加考慮: 我們在基於同一個dblink上的其他表創建物化視圖時沒有問題。

+0

遠程表實際上是表或視圖嗎?你離開它多久了,看它是否最終完成?您可以查看[support doc ID 1313218.1](https://support.oracle.com/rs?type=doc&id=1313218.1)查看某些內容,但是如果您無法看到性能視圖(根據之前的評論)您可能需要讓您的DBA幫助您。 –

+0

是的,我認爲沒有意見就診斷問題是不可能的。我會盡力召集一位DBA幫助解決這個問題。 –

回答

0

查詢V $ session(和v $ sqlarea),因爲這些視圖將提供關於發生了什麼的一些線索;你也可以檢查阻塞鎖(許多腳本可以在線)。

+0

很抱歉,我無法訪問這些視圖。但是想知道什麼樣的鎖可以影響物化視圖創建? –