跨DB主機抓取資料建議用MATERIALIZED VIEW

longwansheng發表於2011-04-22

今年後公司要某些需求,將ERP的系統做成兩套,即TW一套,大陸一套.又因是同一集團內,部分訂單是彼此關聯的.出報表時,如用DB_LINK的方式會好慢,效率好差,佔用網路資源較多,此方法不可取.

如用MV的方式,定時將TW的相關資料抓過來,CN在呼叫MV時,就如同在本DB主機上讀取資料.效率很好.

下面是本次跨主機取訂單REQUEST DATE的SCRIPT.

目的是,CN的訂單交期達成率要用TW的客戶需求日來比較.

其中OTC_ORDERS_ALL這個TABLE有CN與TW訂單的關聯ID(CN的訂單是由TW拋轉過來的).

[@more@]

CREATE MATERIALIZED VIEW GOBO.oe_order_lines_all_csotc_mv
TABLESPACE GU_TS_DATA
NOCACHE
LOGGING
NOCOMPRESS
NOPARALLEL
BUILD IMMEDIATE
REFRESH FORCE
START WITH TO_DATE('20110420 12:00:00','yyyymmdd hh24:mi:ss')
NEXT sysdate + .1
WITH PRIMARY KEY
AS
select oa.dest_org_id org_id,oa.dest_header_id header_id,oa.dest_line_id line_id,ol.request_date
from ol,otc_orders_all@tw oa
where oa.org_id in (37,118) and oa.dest_org_id=801
and ol.org_id=oa.org_id
and ol.header_id=oa.header_id
and ol.line_id=oa.line_id;

CREATE public SYNONYM oe_order_lines_all_csotc_mv FOR GOBO.oe_order_lines_all_csotc_mv ;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/92289/viewspace-1048969/,如需轉載,請註明出處,否則將追究法律責任。

相關文章