Oracle進階複製的同步複製的配置步驟說明

來源:互聯網
上載者:User

以下的文章主要講述的是Oracle進階複製的同步複製,如果你需要在全國的幾個相關地方來架設相關伺服器(Oracle),其要求是各個相關的DB資料的一致,以下就是具體方案的描述,希望在你今後的學習中會有所協助。

以下是測試方案中的一種:同步複製

Oracle 進階複製同步複製配置步驟詳細說明

[Oracle] Oracle進階複製同步複製配置步驟

首先,資料庫要具備Oracle進階複製功能(用system身份登入資料庫,查看v$option視圖,如果其中Advanced replication為TRUE,則支援進階複製功能;否則不支援)

一.資料庫基本情況

資料庫A 版本Oracle 10.2.0.1 資料庫名sid:eread

資料庫B 版本Oracle 10.1.0.3 資料庫名sid:test

主體定義網站:A eread

主體網站:B test

注:主體定義網站指配置複製工作的網站

本例涉及的使用者.

複製管理員:repadmin

應用使用者:cqm

本例Oracle進階複製的對象:reptest 資料表

本例的先決條件:你需要設定好相應的參數,job_queue_processes需要大於0,global_name=true,並且建立相應的db link.

 

 
  1. alter system set global_names=true scope=both; 

二.在兩個資料庫上分別建立應用使用者CQM

 

 
  1. CREATE USER CQM IDENTIFIED BY CQM DEFAULT TABLESPACE CQM TEMPORARY TABLESPACE TEMP;  
  2. GRANT DBA TO CQM;  

 

三.在兩個資料庫上分別建立複製管事員使用者REPADMIN

建立repadmin使用者管理複製環境

 

 
  1. CREATE USER REPADMIN IDENTIFIED BY REPADMIN;   
  2. ALTER USER REPADMIN DEFAULT TABLESPACE USERS;   
  3. ALTER USER REPADMIN TEMPORARY TABLESPACE TEMP;   
  4. GRANT connect, resource TO REPADMIN;   

 

授予repadmin使用者權限可以管理當前網站中任何主體組

 

 
  1. EXECUTE dbms_repcat_admin.grant_admin_any_schema('REPADMIN');  

授予repadmin使用者權限可以為任何錶建立snapshot logs

 

 
  1. GRANT comment any table TO REPADMIN;   
  2. GRANT lock any table TO REPADMIN;   

 

指定repadmin使用者為propagator,並授予執行任何procedure的許可權

 

 
  1. EXECUTE dbms_defer_sys.register_propagator('REPADMIN');   
  2. GRANT execute any procedure TO REPADMIN;   

 

 

四.更改兩個資料庫的全域名稱

 
  1. alter database rename global_name to A.TEST.COM.CN;  
  2. alter database rename global_name to B.TEST.COM.CN;  

A:eread.im.com.cn

B:test.im.com.cn

五.在兩個資料庫上建立資料庫連結

 

 
  1. create public database link test.im.com.cn connect to REPADMIN identified by REPADMIN using 'test';  
  2. create public database link eread.im.com.cn connect to REPADMIN identified by REPADMIN using 'eread';  

 

六.在兩個資料庫的應用使用者CQM下建立表

在資料庫EREAD上使用者CQM下:注意,要進行Oracle進階複製的表必須有主鍵

 

 
  1. CREATE TABLE TEST(ID NUMBER(10),TIMESTAMP DATE DEFAULT sysdate);  
  2. ALTER TABLE TEST ADD(CONSTRAINT TEST_PK PRIMARY KEY(ID)); 

在資料庫EREAD上使用者CQM下:

 

 
  1. CREATE TABLE TEST(ID NUMBER(10),TIMESTAMP DATE DEFAULT sysdate);  
  2. ALTER TABLE TEST ADD(CONSTRAINT TEST_PK PRIMARY KEY(ID)); 

七.在主體定義網站開始操作(資料庫A:eread)

以REPADMIN登入資料庫eread

建立複製組:

 

 
  1. execute dbms_repcat.create_master_repgroup('rep_hh');   
  2. execute dbms_repcat.create_master_repgroup('repg');  

在複製組裡加入複製對象:

 

 
  1. execute dbms_repcat.create_master_repobject
    (sname=>'cqm',oname=>'test',type=>'table',
    use_existing_object=>true,gname=>'repg');,copy_rows=>false); 

對複製對象產生複製支援:

 

 
  1. execute dbms_repcat.generate_replication_support('cqm','test','table'); 

添加主體複製節點:

 

 
  1. execute dbms_repcat.add_master_database(gname=>'repg',master=>'
    test.im.com.cn',use_existing_objects=>true,
    copy_rows=>false, propagation_mode => 'synchronous');  

在主體定義網站啟動Oracle進階複製:

 

 
  1. execute dbms_repcat.resume_master_activity('repg',true); 

八.至此配置完成

測試:

1)類比小資料量測試:OK

2)類比大資料量測試:

 

 
  1. CREATE OR REPLACE procedure insert_into_test  
  2. as  
  3. i number;  
  4. m NUMBER;  
  5. n NUMBER;  
  6. BEGIN  
  7. n:=0;  
  8. FOR i IN 1..10000 LOOP  
  9. m:=i;  
  10. INSERT INTO test(id)VALUES (m);  
  11. nn:=n+1;  
  12. IF n=1000 THEN  
  13. COMMIT;  
  14. n:=0;  
  15. END IF;  
  16. END LOOP;  
  17. COMMIT;  
  18. END;  
  19. /  

以上的相關內容就是對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.