A 公司總部北京,三分部上海/杭州/武漢,軟體與資料庫結構相同。需將三地資料每日異步複寫至總部,作備份與綜合統計。
建立總部集中資料庫(版本 ≥ 所有主站點,建議同字符集),為各主站點建立對應表空間(大於資料量 + 預留)。各分部方案名均為 ORACLE,總部建立對應方案 SHORACL、HZORACL、WHORACL。版本均為 9i。
repadmin 授權(GRANT_ADMIN_ANY_SCHEMA, COMMENT/LOCK ANY TABLE, 選用 SELECT ANY DICTIONARY)dbms_defer_sys.register_propagatordbms_defer_sys.schedule_purge(間隔 1 天)proxy_bjoracle 授權 PROXY_SNAPADMIN、SELECT_CATALOG_ROLEsh_repCREDIT_CARD、索引 INDEX_CREDIT_CARD(USE_EXISTING_OBJECT=TRUE,表 COPY_ROWS=TRUE,索引 FALSE)dbms_repcat.set_columnsdbms_repcat.generate_replication_support(MIN_COMMUNICATION=TRUE)CREATE MATERIALIZED VIEW LOG ON ...(無主鍵用 WITH ROWID EXCLUDING NEW VALUES)dbms_repcat.resume_master_activitymvadmin 授權(同 repadmin + SELECT ANY DICTIONARY)ORACLSH 指向上海(全域名或連線字串)mvadmin Private DB Link 連接 proxy_bjoracledbms_defer_sys.schedule_push(間隔 1 小時,STOP_ON_ERROR=FALSE)SHORACL 建立視圖所需權限(CREATE TABLE/VIEW/SNAPSHOT 等)ORACLSH 連接上海方案用戶CREATE MATERIALIZED VIEW SHORACL.CREDIT_CARD REFRESH FAST WITH PRIMARY KEY
AS SELECT * FROM ORACL.CREDIT_CARD@ORACLSH;
無主鍵用 WITH ROWID
dbms_refresh.make(間隔 1 天,PUSH_DEFERRED_RPC=TRUE)並加入視圖sys.dba_jobs 確認三類 Job:清除、推送、刷新(杭州/武漢同樣建立後共 7 個 Job)job_queue_processes > 0,否則不自動刷新failures 欄位:失敗自動重試(指數退避),16 次或超過間隔則標記 BROKEN,需手動 dbms_job.run 並修正錯誤採用最簡單的單向實體化視圖異步複寫,滿足集中備份與統計需求。進階功能(可更新視圖、複雜視圖)視系統效能與功能需求決定是否採用。