簡體   English   中英

ORACLE——物化視圖

[英]ORACLE - materialized view

我正在嘗試創建物化視圖。

我有 2 個數據庫 ORA1 和 ORA2。 我在 ORA1 上有表 POKUS,我試圖在 ORA2 上創建視圖,每次我在表 POKUS 中更改和提交對 ORA1 的更改時,該視圖都會更改。

這是我的查詢。 但它不起作用:

CREATE MATERIALIZED VIEW  
REPLIKOVANY_POKUS2 
REFRESH FAST START WITH 
    SYSDATE NEXT SYSDATE + 1/24/60 
ENABLE QUERY REWRITE AS 
    SELECT * 
    FROM dovondrda3.POKUS@ora1.uhk.cz;

你能幫我請求嗎

每次我在 ORA1 上更改和提交更改時都會更改

好吧,您不能這樣做,不能通過數據庫鏈接,因為當涉及遠程數據庫時on commit時刷新將不起作用。 它記錄在數據倉庫指南中的某處; 搜索它,如果你願意。

遠程數據庫:

SQL> create table a1_brisime as
  2  select * from tom
  3  where sifra = '0387779';

Table created.

SQL> alter table a1_brisime add constraint pkab primary key (sifra);

Table altered.

SQL> create materialized view log on a1_brisime;

Materialized view log created.

SQL>

本地數據庫:

SQL> create materialized view mv_test
  2  refresh fast on commit as
  3  select sifra, naziv
  4  from a1_brisime@dbl_test
create materialized view mv_test
*
ERROR at line 1:
ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view


SQL>

正如我所說 - 它不會工作。 因此,切換到另一個選項,例如on demand

SQL> create materialized view mv_test
  2  refresh on demand as
  3  select sifra, naziv
  4  from a1_brisime@dbl_test

Materialized view created.

SQL>

或預定(如您所試):

SQL> create materialized view mv_test
  2  refresh complete
  3  start with sysdate
  4  next sysdate + 1/24/60
  5  as
  6  select sifra, naziv
  7  from a1_brisime@dbl_test

Materialized view created.

SQL>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM