源端:192.168.1.244 Oracle11g
目的端:192.168.1.225 DM8
1.源端環境檢查:
#資料庫是否開啟歸檔
shutdown immediate
alter database mount;
alter system set db_recovery_file_dest='';
alter system set log_archive_dest_1 = 'location=/data/orcl/arch_log';
alter database open;
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3EDM5ATOzQWOwcTNhFDM5QGZjRDMkhjZiJjN3IGO3M2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
#資料庫附加日志檢查
select supplemental_log_data_min, supplemental_log_data_all from v$database;
--開啟資料庫最小附加日志級全列日志
alter database add supplemental log data;
alter database add supplemental log data (all) columns;
#建立同步使用者DMHS
grant connect to dmhs;
grant select any table to dmhs;
grant select any dictionary to dmhs;
grant create session to dmhs;
grant lock any table to dmhs;
grant execute on dbms_flashback to dmhs;
--如果是oracle12c
grant all on sys.dmhs_ddl_sql to C##dmhs
grant all on sys.col$ to C##dmhs;
grant all on sys.cdef$ to C##dmhs;
grant all on sys.lobfrag$ to C##dmhs;
grant all on sys.obj$ to C##dmhs;
grant all on sys.user$ to C##dmhs;
#配置TNS和監聽
檢查ODBC庫檔案:
檢查監聽服務是否正常,确認建立使用者可以通過TNS連結正常
2.目的端達夢資料庫建立同步使用者dmhs
3.源端Oracle環境安裝dmhs軟體
源端dmhs.hs配置檔案
vi dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base> <!-- 管理子產品的基本配置 -->
<lang>en</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>45</ckpt_interval>
<siteid>3</siteid> <!-- 站點ID,這個ID配置時要注意,全局唯一,最小值0,最大值65535 -->
<version>2.0</version>
</base>
<cpt> <!-- 捕獲器子產品,這項配置可以配置多個 -->
<db_type>ORACLE11g</db_type> <!-- 源端資料庫類型 -->
<db_server>ORCL</db_server> <!-- 源端資料庫服務名,DM8和ORACLE為OCI連接配接的服務名,DM6為連接配接的伺服器IP -->
<db_user>dmhs</db_user> <!-- 源端資料庫使用者名 -->
<db_pwd>dmhs</db_pwd> <!-- 使用者的密碼 -->
<db_port>1521</db_port> <!-- 源端資料庫端口 -->
<ddl_mask>OP:OBJ</ddl_mask> <!--DDL配置項,寫的是掩碼,需同步DDL時使用,詳見末尾-->
<arch> <!--歸檔資訊配置,該标簽是一個功能标簽,需要配置它的子項-->
<clear_interval>600</clear_interval> <!--歸檔日志清理間隔,取值範圍在60-65535,機關秒 -->
<clear_flag>0</clear_flag> <!--歸檔日志清理選項,選配0(不操作),預設為0 -->
</arch>
<send> <!-- 此處僅以發送到網絡為例,其他配置詳見本手冊 4.2NET 發送子子產品 -->
<ip>192.168.1.225</ip> <!-- 目标端dmhs的伺服器ip -->
<mgr_port>5345</mgr_port> <!-- 目标端dmhs的管理端口号 -->
<data_port>5346</data_port> <!-- 目标端dmhs的data_port -->
<filter> <!-- 過濾配置項,必須指定 -->
<enable> <!-- 白名單,允許同步所有的表 -->
<item>DMHS.*</item> <!-- 要同步的模式名.表名,*代表所有 -->
</enable>
</filter>
<map> <!--映射配置項-->
<item>DMHS.*==DMHS.*</item> <!-- 要同步的模式名,左邊是源端,右邊是目标端 -->
</map>
</send>
</cpt>
</dmhs>
#源端模拟測試資料:
4.目的端dmhs.hs配置,啟動目的端./dmhs_server
vi dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>45</ckpt_interval>
<siteid>2</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<db_name></db_name>
<char_code>PG_GB18030</char_code>
<enable_merge>0</enable_merge>
<exec_thr>4</exec_thr>
<exec_policy>0</exec_policy>
<exec_sql>1024</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>1000</exec_rows>
</exec>
</dmhs>
./dmhs_console
start exec
5.源端啟動dmhs服務
6.裝載資料 ,啟動同步
7.驗證資料,裝載資料正常
8.模拟新增表删除表
源端Oracle:
達夢資料庫 - 新一代大型通用關系型資料庫 | 達夢線上服務平台