国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > 文庫 > 正文

達夢DM6表復制功能介紹

2024-09-07 22:12:18
字體:
來源:轉載
供稿:網友

  數據庫的復制技術,提供了一種機制,使對某一個站點上數據的修改操作能夠傳遞到其他站點,從而保證站點間數據的一致性。

  復制:將數據庫中的數據拷貝到另外一個或多個不同的物理站點上,從而保持源數據庫與目標數據庫中指定數據的一致性。

  復制的方法

  1. 同步復制

  復制數據在任何時間在任何復制節點均保持一致。如果復制環境中的任何一個節點的復制數據發生了更新操作,這種變化會立刻反映到其他所有的復制節點。這種技術適用于那些對于實時性要求較高的商業應用中。

  2. 異步復制

  所有復制節點的數據在一定時間內是不同步的。如果復制環境中的其中的一個節點的復制數據發生了更新操作,這種改變將在不同的事務中被傳播和應用到其他所有復制節點。這些不同的事務間可以間隔幾秒,幾分種,幾小時,也可以是幾天之后。復制節點之間的數據臨時是不同步的,但傳播最終將保證所有復制節點間的數據一致。

  復制的對象

  DM6支持以下對象的復制:

  站點:將數據服務器看做一個站點,對其下所有數據庫中的表對象進行復制;

  數據庫:僅對某一個數據庫中的表對象進行復制;

  模式:僅對某一個數據庫中的某一個模式中的表對象進行復制;

  表:僅對某一個表對象進行復制;

  復制方式

  DM6支持如下的復制方式:

   一對一單向復制:單一數據對象到單一數據對象的復制過程。

  例如:數據庫服務器A中的對象向數據庫服務器B中的對象進行復制的過程;

   一對多單向復制:單一數據對象到多個數據對象的復制過程。

  例如:數據庫服務器A中的對象同時向數據庫服務器B、C、D(甚至更多數據庫服務器)中的對象進行復制的過程;

  多對一單向復制:多個數據對象到單一數據對象的復制過程。

  例如:數據庫服務器A、B、C(甚至更多數據庫服務器)中的對象同時向數據庫服務器Z中的對象進行的復制過程;

  級聯復制:多個復制過程之間形成不交叉的復制鏈路的復制過程。

  例如:數據庫服務器A中的對象向數據庫服務器B中的對象進行復制,數據庫服務器B中的對象又向數據庫服務器C中的對象進行復制,數據庫服務器C中的對象又向數據庫服務器D中的對象進行復制,依次鏈接下去,形成一個復制的鏈路。

  多主多從復制:多個服務器數據對象向多個服務器對象進行復制的過程。

  例如:數據庫服務器A中的對象同時向數據庫服務器X、Y、Z中的對象進行復制;數據庫服務器B中對象同時向數據庫服務器X、Z中的對象進行復制;數據庫服務器C中對象同時向數據庫服務器Y、Z中的對象進行復制的過程。該過程有多個復制的起點,同時存在多個復制的終點,形成多個主服務器(復制的起點)和多個從服務器(復制的終點)的復制過程。

  環形復制:一種特殊的級聯復制。最終形成的復制鏈路是一個環形的復制過程。

  例如:數據庫服務器A中的對象向數據庫服務器B中的對象進行復制,數據庫服務器B中對象又向數據庫服務器A中的對象進行復制,這樣就形成了一個最小的環形復制鏈路。

  對稱復制:在數據庫服務器A、B之間進行復制的過程,是一種最小的環形復制過程。

  約束條件

  1.  只復制包含CLUSTER PK約束的表數據。

  2. 復制關系的主表和從表必須分布在不同的服務器上。

  3.  從服務器的PAGE SIZE必須大于等于主服務器的PAGE SIZE

  DM6復制實現

  下面通過實例介紹一對一表級同步復制的實現。

  約定:

  SERVER1:數據庫服務器1,IP為223.254.102.27;

  SERVER2:數據庫服務器2,IP為223.254.100.63;

  1.參數配置

  在啟動數據庫服務器前,先修改服務器SERVER1上設置dm.ini參數,使REPLICATE_MODE = 1,然后啟動主、從數據庫服務器。

  2.對象建立

  復制表對象的建立:

  以SYSDBA/SYSDBA登錄SERVER1執行:


CREATE TABLE TABLE01_S1 (C1 INT CLUSTER PRIMARY KEY,C2 VARCHAR(100));

  以SYSDBA/SYSDBA登錄SERVER2執行:


 CREATE TABLE TABLE01_S2 (C1 INT CLUSTER PRIMARY KEY,C2 VARCHAR(100));

  建立同步復制關系

  以SYSDBA/SYSDBA登錄SERVER1執行:


CALL SP_CREATE_REPLICATE_LOGIN('223.254.100.63',12345,'SYSDBA','SYSDBA');
CALL  SP_CREATE_TABLE_REPLICATE('SYSTEM.SYSDBA.TABLE01_S1','SYSTEM.SYSDBA.TABLE01_S2','223.254.100.63','SYNC');

  通過調用以上兩個函數,來建立主數據庫服務器對象SYSTEM.SYSDBA.TABLE01_S1向從數據庫服務器對象SYSTEM.SYSDBA.TABLE01_S2進行復制的關系,只有在建立該復制關系后,在主數據庫服務器對象上的操作才會被復制到從數據庫服務器的對象上。

  系統函數SP_CREATE_REPLICATE_LOGIN,用來建立復制過程中登錄從服務器的登錄信息。其參數分別表示:

  s_server:     從服務器名或IP地址;

  s_port:      從服務器端口號;

  s_login:      從服務器登錄名;

  s_password:  從服務器登錄口令;

  系統函數SP_CREATE_TABLE_REPLICATE,用來建立主數據庫服務器表對象SYSTEM.SYSDBA.TABLE01_S1向從數據庫服務器SYSTEM.SYSDBA.TABLE01_S2進行復制的關系。建立此關系后,在主服務器表對象SYSTEM.SYSDBA.TABLE01_S1才會復制到從服務器表對象SYSTEM.SYSDBA.TABLE01_S2中。其參數分別表示:

         m_db_sch_tab:      主服務器表對象名;

         s_db_sch_tab:        從服務器表對象名;

         s_server:         從服務器名或IP地址;

         type:                復制類型(同步復制、異步復制);

  3.復制操作

  插入操作:

  SYSDBA/SYSDBA登錄SERVER1執行:


INSERT INTO TABLE01_S1 VALUES (1,'INSERT ONE ROW');
SELECT * FROM TABLE01_S1;

  預期結果:1, INSERT ONE ROW

  SYSDBA/SYSDBA登錄SERVER2執行:

SELECT * FROM TABLE01_S2;

  預期結果:1, INSERT ONE ROW
 
  更新操作:

  SYSDBA/SYSDBA登錄SERVER1執行:

UPDATE TABLE01_S1 SET C2='UPDATE ONE COL';
SELECT * FROM TABLE01_S1;

  預期結果:1, UPDATE ONE COL

  SYSDBA/SYSDBA登錄SERVER2執行:


SELECT * FROM TABLE01_S2;

  預期結果:1, UPDATE ONE COL

  刪除操作:

  SYSDBA/SYSDBA登錄SERVER1執行:


DELETE FROM TABLE01_S1;
SELECT * FROM TABLE01_S1;

  預期結果:空;

  SYSDBA/SYSDBA登錄SERVER2執行:


SELECT * FROM TABLE01_S2;

  預期結果:空;

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 理塘县| 马龙县| 凌源市| 新疆| 营口市| 平利县| 伊宁市| 淮北市| 桐梓县| 洛浦县| 双江| 富裕县| 永昌县| 昂仁县| 黑河市| 许昌县| 鹤壁市| 伊金霍洛旗| 镇原县| 邛崃市| 淮阳县| 东台市| 静海县| 信丰县| 泸州市| 桂林市| 长春市| 紫云| 土默特左旗| 河北省| 浠水县| 鄯善县| 称多县| 新田县| 黑水县| 交城县| 武穴市| 定陶县| 平乐县| 花垣县| 芜湖县|