达梦HS搭建(DM"/>
达梦HS搭建(DM
dmhs DM到ORACLE搭建
- 1 环境准备
- 1.1 DM8数据库安装
- 1.2 ORACLE11G数据库安装
- 1.2 DMHS安装
- 2 源端部署
- 2.1 开启源端数据库归档和逻辑日志
- 2.1.1开启归档
- 2.1.2开启逻辑日志
- 2.1.3注意
- 2.2 创建DDL触发器和辅助表
- 2.3 配置dmhs.hs
- 2.4 环境变量配置
- 3 目的端部署
- 3.1 创建同步用户并授权
- 3.2 配置dmhs.hs
- 3.3 环境变量配置
- 3.4 ODBC配置
- 4 同步测试
- 4.1 启动dmhs服务
- 4.2 初始装载
- 4.3 开启同步
1 环境准备
1.1 DM8数据库安装
需要源端安装达梦数据库并启动,数据库端口都为5236,链接为:
1.2 ORACLE11G数据库安装
DMHS目前只支持11G以下的版本,需要目的端安装oracle数据库并启动,且能够使用odbc连接数据库
1.2 DMHS安装
需要源端和目的端都安装对应版本的的dmhs,bin目录下需要对应的key和依赖
2 源端部署
2.1 开启源端数据库归档和逻辑日志
2.1.1开启归档
连接数据库:
./disql SYSDBA/SYSDBA@localhost:5236
开启归档语句:
alter database mount;
alter database archivelog;
alter database add archivelog ‘TYPE=LOCAL,DEST=/home/dmdba/dmdbms/data/HS_OD/arch,FILE_SIZE=1024, SPACE_LIMIT=10240’;
alter database open;
查询归档是否开启:
select arch_mode from v$database; (Y为开启)
2.1.2开启逻辑日志
连上数据库执行语句:SP_SET_PARA_VALUE(2,‘RLOG_APPEND_LOGIC’,1); --重启数据库生效
查询逻辑日志是否开启:
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = ‘RLOG_APPEND_LOGIC’; (1为开启)
2.1.3注意
dm.ini 配置参数中“FAST_COMMIT”必须为 0,否则会导致逻辑日志不全而影响同步。
select para_value from v$dm_ini where para_name = ‘FAST_COMMIT’; (0为正常)
2.2 创建DDL触发器和辅助表
如果要求 DDL 同步,那么源端需要创建 DDL 触发器和辅助表。创建的脚本参见 DMHS 安装目录下 scripts 子目录中“ddl_sql_dm8.sql”。注意创建时需要使用SYSDBA 用户。(下图为创建成功)
2.3 配置dmhs.hs
dmhs.hs 是 DMHS 默认的配置文件名,在dmhs安装目录的bin目录下,如果需要 DDL 同步,那么基本的配置示例如下(配置为达梦的SYSDBA用户同步到ORACLE的hs_oracle用户):
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs><base><lang>ch</lang><mgr_port>5345</mgr_port><name>cpt</name><ckpt_interval>60</ckpt_interval><siteid>1</siteid><version>2.0</version></base><cpt><enable>1</enable><name>cpt</name><db_type>DM8</db_type><db_server>192.168.202.101</db_server><db_user>SYSDBA</db_user><db_pwd>SYSDBA</db_pwd><char_code>PG_GB18030</char_code><db_port>5236</db_port><idle_time>300</idle_time><ddl_mask>OP:OBJ:REC</ddl_mask><cpt_mask/><parse_thr>1</parse_thr><check_date>0</check_date><arch><clear_flag>0</clear_flag><clear_interval>600</clear_interval></arch><send><max_log_num>2000</max_log_num><ip>192.168.202.100</ip><mgr_port>5345</mgr_port><net_pack_size>256</net_pack_size><data_port>5346</data_port><trigger>0</trigger><constraint>0</constraint><identity>1</identity><net_turns>0</net_turns><timeout>0</timeout><case_sensitive>1</case_sensitive><filter><name_len>255</name_len><enable><item>SYSDBA.*</item></enable></filter><map><item>SYSDBA.*==HS_ORACLE.*</item></map></send><send_delay_second>0</send_delay_second><start_scn>0</start_scn><rec_heap_size>16</rec_heap_size><vpool_size>8</vpool_size><send_lst>2</send_lst></cpt>
</dmhs>
2.4 环境变量配置
1编辑环境变量文件:
vim ~/.bash_profile
最后一排增加(对应修改为自己的安装目录):
export DMHS_HOME=/opt/hs_dm-oracle
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hs_dm-oracle/bin:/home/dmdba/dmdbms/bin
2使环境变量生效:
source ~/.bash_profile
3查询环境变量是否设置成功
echo $LD_LIBRARY_PATH
如果有/opt/hs_dm-oracle/bin:/home/dmdba/dmdbms/bin几个目录则为成功
3 目的端部署
3.1 创建同步用户并授权
①在目的端oracle上创建一个新的用户:hs_oracle:
Create user hs_oracle identified by “hs_oracle”;
②授权
grant dba to hs_oracle;
grant connect to hs_oracle;
grant select any table to hs_oracle;
grant select any dictionary to hs_oracle;
grant create session to hs_oracle;
grant lock any table to hs_oracle;
grant execute on dbms_flashback to hs_oracle;
grant select on SYS.USER$ to hs_oracle;
3.2 配置dmhs.hs
在hs安装目录的bin目录下创建dmhs.hs文件:
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs><base><lang>ch</lang><mgr_port>5345</mgr_port><name>exec</name><ckpt_interval>60</ckpt_interval><siteid>2</siteid><version>2.0</version></base><exec><recv><mgr_port>5345</mgr_port><data_port>5346</data_port></recv><enable>1</enable><driver>{Oracle in OraDb11g_home1}</driver><name>exec</name><db_type>ORACLE11g</db_type><db_server>orcl</db_server><db_user>hs_oracle</db_user><db_pwd>hs_oracle</db_pwd><db_port>1521</db_port><case_sensitive>1</case_sensitive><exec_thr>1</exec_thr><exec_policy>2</exec_policy><exec_sql>512</exec_sql><exec_trx>5000</exec_trx><exec_rows>250</exec_rows><trxid_tables>1</trxid_tables><vpool>7</vpool><recv_caches>8</recv_caches></exec>
</dmhs>
3.3 环境变量配置
1编辑环境变量文件:
vim ~/.bash_profile
最后一排增加(对应修改为自己的安装目录):
export DMHS_HOME=/opt/hs_dm-oracle
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hs_dm-oracle/bin:/home/oracle/app/oracle/product/11.2.0/dbhome_1/lib
2使环境变量生效:
source ~/.bash_profile
3查询环境变量是否设置成功
echo $LD_LIBRARY_PATH
如果有/opt/hs_dm-oracle/bin:/home/oracle/app/oracle/product/11.2.0/dbhome_1/lib目录则为成功
3.4 ODBC配置
需要ODBC能够通过hs_oracle用户连上oracle数据库
4 同步测试
4.1 启动dmhs服务
源端和目的端都前台启动dmhs服务:
cd /opt/hs_dm-oracle/bin
./dmhs_server dmhs.hs
4.2 初始装载
初始装载是将源端数据库中的初始数据装载到目的端数据库,使 DMHS 同步的时刻源和目的端的同步表数据一 致。装载前源端 DMHS 服务和目的端 DMHS 服务都需要开启。
①目的端
目的端新开一个连接,依次执行:
cd /opt/hs_dm-oracle/bin
./dmhs_console
connect
start exec
成功执行,并在目的端的hs_oracle下创建表:
②源端
开始初始装载,源端新开一个连接,依次执行:
cd /opt/hsdm-mysql/bin
./dmhs_console
connect
clear exec lsn
copy 0 “sch.name=‘SYSDBA’” DICT|LSN|CREATE|INSERT|INDEX
4.3 开启同步
初始装载完成后,则可以开启同步:
源端:
./dmhs_console
start cpt
更多推荐
达梦HS搭建(DM
发布评论