oracle Streams如何建立單源多向複製環境

來源:互聯網
上載者:User

這節我們將複製環境構建的稍稍複雜一點,這次不再做兩台資料庫間的複製了,再加進來一個新的資料庫,三個資料庫間同步資料。

一、 需求描述

設定條件如下:

資料庫 sid : jssweb ,jssstr 和jssbak

複製jssweb資料庫中schema:member下的usr_user到jssstr資料庫中的member下,並更名為users;

複製jssweb資料庫中schema:member下的dt_tbl1、dt_tbl2和dt_tmp三表到jssbak資料庫中的schema:member下;

全部 源庫本地捕獲 ,單向同步。

同步 DML/ DDL 操作

二、 準備工作

與前面章節相同,不再重複了。

三、 建立隊列和資料庫鏈

首先在JSSWEB操作,建立隊列表和串連到jssstr資料庫的dblink:

SQL> conn strmadmin/strmadmin

Connected.

JSSWEB> set sqlprompt "JSSWEB> "

JSSWEB> exec dbms_streams_adm.set_up_queue();

PL/SQL procedure successfully completed.

JSSWEB> create database link jssstr connect to strmadmin identified by strmadmin using ¨jssstr_172.25.13.231¨;

Database link created.

JSSWEB> select sysdate from dual@jssstr;

SYSDATE

--------------

24-3 月 -09

JSSSTR 端操作,建立隊列表和串連到test08資料庫的dblink:

SQL> conn strmadmin/strmadmin

Connected.

JSSSTR> set sqlprompt "JSSSTR> "

JSSSTR> exec dbms_streams_adm.set_up_queue();

PL/SQL procedure successfully completed.

JSSSTR> create database link jssbak connect to strmadmin identified by strmadmin using ¨jssbak_172.25.13.227¨;

Database link created.

JSSSTR> select sysdate from dual@jssbak;

SYSDATE

------------

24-MAR-09

最後在JSSBAK端操作,建立隊列表和串連到jssweb資料庫的dblink(為了後面執行impdp)

SQL> set sqlprompt "JSSBAK> "

JSSBAK> conn strmadmin/strmadmin

Connected.

JSSBAK> exec dbms_streams_adm.set_up_queue;

PL/SQL procedure successfully completed.

JSSBAK> create database link jssweb connect to strmadmin identified by strmadmin using ¨jssweb_172.25.13.229¨;

Database link created.

JSSBAK> select sysdate from dual@jssweb;

SYSDATE

------------

24-MAR-09

由於JSSBAK為建立庫,因此我們建立一個新的使用者和資料表空間,用來存放複製的資料:

JSSBAK> create tablespace webdata datafile ¨ /data/ oracle/ oradata/jss bak / webdata01.ora¨ size 200m;

Tablespace created.

JSSBAK> create user member identified by member default tablespace webdata quota unlimited on webdata;

User created.

JSSBAK> grant connect,resource to member;

Grant succeeded.

JSSBAK> revoke unlimited tablespace from member;

Revoke succeeded.

四、 簡單方式配置複製環境

一般有兩種方式配置,一種是通過DBMS_CAPTURE_ADM、DBMS_PROPAGATION_ADM、DBMS_APPLY_ADM幾個包分別建立捕獲、傳播和應用進程,相對來說更加靈活,但是操作比較複雜,另外一種就是直接藉助DBMS_STREAMS_ADM包建立,這種方式相對比較簡單,這裡我們示範通過這種方式建立。

另外,本章中使用的環境延續了前面章節,初始化環境部分不再重複,如果你沒有瀏覽本系列的其它文章,直接閱讀本篇過程中無法理解部分資料來源,建議首先閱讀前面部分相關章節。

下列操作如非特別說明,均是以strmadmin身份執行。

1、 Jssweb 端配置propagation進程

JSSWEB> BEGIN

2 DBMS_STREAMS_ADM.ADD_SCHEMA_PROPAGATION_RULES(

3 schema_name => ¨member¨,

4 streams_name => ¨web_to_str¨,

5 source_queue_name => ¨strmadmin.streams_queue¨,

6 destination_queue_name => ¨strmadmin.streams_queue@jssstr.jss.cn¨,

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.