
一、簡介1.1前言達夢數據復制軟件簡稱 DMDRS是一種用于同構數據庫、異構數據庫以及各種數據管理系統之間的數據復制軟件。DMDRS 采用模塊化的設計通過靈活配置不同的功能模塊實現多功能的數據復制服務以滿足多種場景下的數據復制業務需求。1.2產品架構1.3 產品服務DMDRS 通過配置不同的功能模塊可以實現多功能的數據復制服務常用服務如下服務名稱主要組成模塊程序名稱服務功能源 DMDRSManager、CPT、CVT可選drsvr部署在源數據庫所在服務器用于全量數據裝載和增量數據實時捕獲解析并投遞到下一級 DMDRS 服務。當配置有 CVT 模塊時還可實現實時清洗轉換功能。目標 DMDRSManager、EXEC、CVT可選drsvr部署在可通過網絡連接目標數據庫的服務器或者部署在目標數據庫所在服務器用于接收源 DMDRS 發送的日志消息進行同步執行完成數據同步。當配置有 CVT 模塊時還可實現實時清洗轉換功能。1.4 應用場景基于數據復制業務的應用場景DMDRS 提供數據遷移、數據同步、數據分發和數據轉換等功能而且數據同步功能還支持一對一、雙向、一對多、多對一、級聯同步、環形同步和 DMDRS 主備等多種同步拓撲結構。本次實操演示的為dm8-dm8的一對一數據同步同時CPT與EXEC分別部署在對應的數據庫上二、DMDRS搭建2.1 數據庫準備工作運行DMDRS服務前數據庫管理員需要對數據庫做如下準備工作。配置服務準備工作源DMDRS除數據遷移場景外其他應用場景均需要開啟源數據庫的歸檔和邏輯日志。除數據遷移場景外其他應用場景均需要配置DDL同步。創建源數據庫同步用戶DMDRS。配置源數據庫同步用戶最小權限。目標DMDRS創建目標數據庫同步用戶DMDRS。配置目標數據庫同步用戶最小權限。DMDSS無2.1.1開啟源數據庫的歸檔和邏輯日志采用動態配置方法開啟數據庫歸檔。DM8單機SQL alter database mount;SQL alter database archivelog;SQL alter database add archivelog DEST/dmarch,TYPELOCAL,FILE_SIZE512,SPACE_LIMIT10240;SQL alter database open調用系統過程SP_SET_PARA_VALUE配置DM8數據庫配置文件“dm.ini”中RLOG_APPEND_LOGIC參數值。參數配置說明如下所示以參數值設置為1為例。SQL call sp_set_para_value(1,RLOG_APPEND_LOGIC,1);通過靜態配置或者動態配置開啟源數據庫的歸檔和邏輯日志后檢查ARCH_INI和RLOG_APPEND_LOGIC參數配置是否生效。檢查ARCH_INI參數配置是否生效。SQL select para_name, para_value, sess_value, file_value from V$DM_INI where para_name ARCH_INI;查詢結果如下如果存在以上查詢結果表示ARCH_INI參數配置已生效。檢查RLOG_APPEND_LOGIC參數配置是否生效。SQL select para_name, para_value, sess_value, file_value from V$DM_INI where para_name RLOG_APPEND_LOGIC;查詢結果如下如果存在以上查詢結果表示RLOG_APPEND_LOGIC參數配置已生效。2.1.2配置DDL同步DMDRS服務支持DDL同步功能。當應用場景中需要DDL同步時數據庫管理員可按下列方式之一進行配置。采用系統表方式動態配置調用系統過程SP_SET_PARA_VALUE將源數據庫配置文件“dm.ini”中RLOG_APPEND_SYSTAB_LOGIC參數值設置為1。SQL call sp_set_para_value(1,RLOG_APPEND_SYSTAB_LOGIC,1);檢查RLOG_APPEND_SYSTAB_LOGIC參數配置是否生效。SQL select para_name, para_value, sess_value, file_value from V$DM_INI where para_name RLOG_APPEND_SYSTAB_LOGIC;查詢結果如下如果存在以上查詢結果表示RLOG_APPEND_SYSTAB_LOGIC參數配置已生效。2.1.3創建數據庫同步用戶DMDRS2.1.3.1DM8源端源端DM8庫創建DMDRS用戶用于同步數據-- 1. 創建 DMDRS 表空間自動擴展最大 10Gcreate tablespace DMDRS_DAT datafile DMDRS_DAT01.DBF size 128 autoextend on maxsize 10240 CACHE NORMAL;create tablespace DMDRS_IDX datafile DMDRS_IDX01.DBF size 128 autoextend on maxsize 10240 CACHE NORMAL;-- 2. 創建 DMDRS 用戶 指定默認表空間 20G 配額create user DMDRS identified by Dameng123 password_policy 15default tablespace DMDRS_DATdefault index tablespace DMDRS_IDX;配置數據庫同步用戶最小權限DMDRS服務運行過程中使用的數據庫同步用戶需要一定的權限訪問數據庫數據如果不能賦予DMDRS同步用戶DBA權限為確保同步的正確性數據庫管理員可根據應用場景配置數據庫同步用戶的最小權限。-- 3. 授予必需最小權限grant PUBLIC,RESOURCE,SOI,VTI to DMDRS;grant CREATE SESSION to DMDRS;2.1.3.2DM8目的端目的端DM8庫創建DMDRS用戶用于同步數據-- 1. 創建 DMDRS 表空間自動擴展最大 10Gcreate tablespace DMDRS_DAT datafile DMDRS_DAT01.DBF size 128 autoextend on maxsize 10240 CACHE NORMAL;create tablespace DMDRS_IDX datafile DMDRS_IDX01.DBF size 128 autoextend on maxsize 10240 CACHE NORMAL;-- 2. 創建 DMDRS 用戶 指定默認表空間 20G 配額create user DMDRS identified by Dameng123 password_policy 15default tablespace DMDRS_DATdefault index tablespace DMDRS_IDX;DM8目標數據庫同步用戶最小權限-- 3. 授予必需最小權限grant PUBLIC,RESOURCE,SOI,VTI to DMDRS;grant CREATE SESSION to DMDRS;【基礎權限】-- 插入、刪除、更新數據時需要數據操作權限GRANT PUBLIC TO DMDRS;-- 啟動時需要在目標數據庫中創建輔助表和輔助存儲過程GRANT RESOURCE TO DMDRS;-- 需要查詢數據庫的相關參數信息、系統表字典信息GRANT SOI,VTI TO DMDRS;-- 需要創建會話權限GRANT CREATE SESSION TO DMDRS;2.1.4DMDRS服務管理規劃在配置DMDRS服務前需規劃DMDRS服務的Manager模塊的端口號包括源DMDRS、目標DMDRS服務和DMDSS服務的Manager模塊的端口號。注意不同的應用場景DMDRS所包括的DMDRS服務不同。如果在同一臺服務器上部署不同的服務必須確保這些服務的Manager模塊的端口號的唯一性。源端數據庫源端數據庫IPCPT服務名站點號CPT的mgr端口目的端數據庫目的端數據庫IPEXEC服務名站點號EXEC的mgr端口bin命名DM8單機192.168.5.148cpt_dm8站點15345DM8單機192.168.5.147exec_dm8站點25345bin_cptbin_exec2.2軟件安裝2.2.1 源端dm8 DRS安1先創建安裝目錄mkdir -p /dmdrschown -R dmdba:dinstall /dmdrschmod -R 755 /dmdrs2上傳 DMDRS 安裝包到 opt 目錄并修改權限3配置 key 文件將 DMDRS 的 key 文件上傳并重命名為 dmdrs.key。修改 dmdrs.key 的用戶及權限并將 dmdrs.key 移動到 /home/dmdba 目錄下。4安裝部署啟動安裝程序使用 dmdba 用戶啟動安裝文件。su - dmdbamkdir -p /home/dmdba/tmp_drsexport DMDRS_INSTALL_TMPDIR/home/dmdba/tmp_drschmod 777 /home/dmdba/tmp_drscd /opt./dmdrs.bin -i注DMDRS 安裝時提供 2 個組件進行選擇安裝。“達夢數據融合管理平臺”簡稱 DMDFM 是達夢為解決大型數據復制、數據集成項目的管理運維問題而推出的一款集安裝配置、設計管理、監控運維于一體的軟件。使用 DMDFM 可以快速安裝配置達夢數據復制軟件DMDRS、達夢數據集成軟件DMDIS以及達夢數據校驗軟件DMDVS支持各種復雜拓撲結構同步鏈路的拖拽設計支持監控大量的數據鏈路極大地提升大型項目的實施和運維效率。代理DMDFM 通過代理來進行管理、監控和實現各項功能以下配置腳本需要以root用戶的身份運行./dmdrs/scripts/root/root_installer.sh是否已執行shell腳本?(Y/y or N/n)[Y/y]:y-----------安裝總結-----------達夢數據復制軟件V5安裝完成更多安裝信息請查看安裝日志文件/dmdrs/log/install.log2.2.2 目的端dm8 DRS安裝目的端安裝步驟與源端相同-----------安裝小結-----------安裝目錄:[/dmdrs]數據庫驅動路徑:[/dmdbms/bin]代理IP:[192.168.5.147]代理端口:[19345]達夢數據融合管理平臺IP:[192.168.5.147]達夢數據融合管理平臺端口:[8080]所需磁盤空間/可用磁盤空間:[304 MB/27,319 MB]2.3設置環境變量DMDRS服務運行過程中需要使用數據庫的驅動文件訪問數據庫數據。在終端的配置文件中添加設置環境變量命令。export LD_LIBRARY_PATHDMDPI驅動路徑:$LD_LIBRARY_PATH具體實現su - dmdbavi /home/dmdba/.bash_profileexport LD_LIBRARY_PATH/dmdbms/bin:$LD_LIBRARY_PATHsource /home/dmdba/.bash_profileecho $LD_LIBRARY_PATH2.4DMDRS配置DMDRS使用XML文件作為配置文件通過XML配置文件配置產品服務功能。常用產品服務的配置文件模板存放于DMDRS安裝目錄下配置文件模板名稱和默認配置文件名稱如下表所示。DMDRS服務配置文件模板默認配置文件源DMDRScpt.xml、cpt_dsc.xmldrs.xml目標DMDRSexec.xmldrs.xmlDMDRS的XML配置文件的格式如下表所示。組成部分語法說明聲明語句?xml version1.0 encodingGB18030?包括XML版本號和字符集聲明。根元素drs/drs根元素中包括所有的子元素。子元素Manager模塊base/baseCPT模塊cpt/cptDSS模塊dss/dssEXEC模塊exec/exec各模塊對應的子元素中還包括具體的元素具體請參見《DMDRS參考手冊》。2.4.1 配置源DMDRS1復制bin目錄cd /dmdrscp -r bin bin_cpt源數據庫為DM8單機vi /dmdrs/bin_cpt/drs.xml?xml version1.0 encodingGB18030?drsbasemgr_port5345/mgr_portsiteid1/siteidmem_size2/mem_sizelangch-utf8/lang/basecptnamecpt_dm8/namelogindbtypedm8/dbtypeserver192.168.5.148/serveruserDMDRS/userpwdDameng123/pwdport5237/port/loginsendip192.168.5.147/ipport5345/porttarget_nameexec_dm8/target_namemapitemDMDRS.*DMDRS.*/item/map/send/cpt/drs2.4.2配置目標DMDRS1復制bin目錄cd /dmdrscp -r bin bin_exec目標數據庫為DM8單機vi /dmdrs/bin_cpt/drs.xml?xml version1.0 encodingGB18030?drsbasemgr_port5345/mgr_portsiteid2/siteidmem_size2/mem_sizelangch-utf8/lang/baseexecnameexec_dm8/namelogindbtypedm8/dbtypeserver192.168.5.147/serveruserDMDRS/userpwdDameng123/pwdport5237/port/login/exec/drs2.5 管理服務2.5.1 配置DMDRS服務腳本-源端## DRS的后臺啟動腳本需要人工復制創建然后才能注冊服務cd /dmdrs/bin_cpt/service_templatecp TemplateService ../DrsServicecd /dmdrs/bin_cptvi DrsService## 將以下信息進行修改INSTALL_HOME/dmdrs #DRS安裝目錄PROG_DIR/dmdrs/bin_cpt #cpt的bin目錄CONF_PATH/dmdrs/bin_cpt/drs.xml #cpt的配置文件NEED_LIB_PATH/dmdbms/bin #DM8的bin目錄EXEC_PROG_NAMEdrsvrSERVICE_TYPE_NAMEdrs server2.5.2配置DMDRS服務腳本-目的端將服務腳本模板TemplateService拷貝到執行程序目錄并修改服務腳本的名稱為默認服務腳本名。cd /dmdrs/bin_exec/service_templatecp TemplateService ../DrsServicecd /dmdrs/bin_execvi DrsService打開并修改服務腳本中的相關配置參數。INSTALL_HOME/dmdrs #DRS安裝目錄PROG_DIR/dmdrs/bin_exec #exec的bin目錄CONF_PATH/dmdrs/bin_exec/drs.xml #exec的配置文件NEED_LIB_PATH/dmdbms/bin #DM8的bin目錄EXEC_PROG_NAMEdrsvrSERVICE_TYPE_NAMEdrs server2.6DMDRS服務管理命令啟動服務。./DrsService start停止服務。./DrsService stop重啟服務。./DrsService restart啟動源DMDRS服務中的CPT模塊./drcslCSL start如需關閉CPT模塊可輸入stop命令。CSL stop目標DMDRS服務目標DMDRS服務中的EXEC模塊默認是自動啟動如需關閉EXEC模塊可輸入stop命令。CSL stop實操啟動狀況源端目的端達夢數據庫 - 新一代大型通用關系型數據庫 | 達夢在線服務平臺