DMHS部署ORACLE-DM8
文章目录
前言
版本要求:
源端:对应操作系统数据库为oracle的dmhs版本。
目的端:对应操作系统的数据库为dm8的dmhs版本;
一,环境准备
1.ORACLE环境检查
操作系统用户
运行用户的要求,要求使用oracle用户或者和oracle同一组的用户,一般系统如果有oracle用户权限控制,则要求给出一个和oracle同组的用户。
useradd -u 66000 -g oinstall -m -d /home/dmdba -s /bin/bash dmhs
检查用户属主:id
用户环境变量
cat .bash_profile
检查dmhs的环境变量,需要配置有ORACLE_SID,ORACLE_HOME,NLS_LANG以及LD_LIBRARY_PATH;AIX平台下还需要检查LIBPATH环境变量。
检查dmhs服务的用户的环境变量NLS_LANG是否设置,查看echo $NLS_LANG
echo $NLS_LANG
AMERICAN_AMERICA.ZHS16GBK
如果该变量值为空或者与查询结果不一致,请将改变量设置为查询结果的值修改环境变量,增加以下:
export NLS_LANG= AMERICAN_AMERICA.ZHS16GBK
权限
grant connect to oracle;
grant create session to oracle;
grant select on dba_cons_columns to oracle;
grant select on dba_constraints to oracle;
grant select on dba_indexes to oracle;
grant select on dba_ind_columns to oracle;
grant all on dmhs_ddl_sql to oracle;
grant select any table to oracle;
grant select any dictionary to oracle;
grant lock any table to oracle;
grant execute on dbms_flashback to oracle
归档检查
archive log list;
若没开启则开启
附加日志检查
检查附加日志是否开启的语句如下:
select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL from V$database;
查询结果均为yes表示已经开启最小附加日志以及所有列附加日志
如果有结果为NO,执行以下两条语句:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
2.DM环境检查
执行端的执行用户一定要具有DBA权限,或者要具有执行映射后的对象表的权限。
如果执行端所有表都在该用户下,该用户至少需要以下权限:
create user dmhs identified by dmhs;
grant connect,resource to dmhs;
grant select any dictionary to dmhs;
二、dmhs安装
源端和目的端均使用1中说明的运行用户安装dmhs软件
linux下面执行:./dmhs_linux.x86_64_V2.0.1.bin 如果没有图形化界面,则后面加上-i选项
oracle源端配置
进入安装目录bin下vi.dmhs.hs
<?xml version="1.0" encoding="GB2312"?> en 5345 3 60 1<cpt><!-- 这项配置可以配置多个,也就是可以配置多个捕获模块,如果该节点只作为执行端,该节点需要删除 -->
<db_type>Oracle12c</db_type><!-- 数据库类型,默认为dm7,限定值Oracle10g,Oracle11g,dm6,dm7 -->
<db_server>orcl</db_server><!-- 数据库实例名-->
<db_user>dmhs</db_user><!-- 数据库用户名,默认为SYSDBA -->
<db_pwd>dmhs</db_pwd><!-- 数据库口令,默认为SYSDBA -->
<db_port>1521</db_port><!-- 数据库端口号,默认为5236 -->
<idle_time>300</idle_time><!-- 分析线程空闲睡眠时间,默认值为300ms,最小值0ms,最大值65536ms -->
<ddl_mask>op:obj</ddl_mask><!-- 分析端是否支持DDL同步,可选项0(不支持DDL), 1(支持DDL),需要将安装脚本中对应的DDL脚本在源端执行-->
<parse_thr>1</parse_thr><!-- 分析线程个数,默认为1,最小值1,最大值32,多线程分析时,不支持ALTER TABLE操作同步 -->
<arch>
<clear_interval>600</clear_interval><!-- 归档文件清理间隔,默认为600s,最小值60s,最大值2000000000s -->
<clear_flag>1</clear_flag><!-- 清除归档日志的方式,可选项0(无动作), 1(删除归档文件), 2(表示移走归档文件)-->
<bak_dir></bak_dir><!-- clear_flag项配置成2时,该配置项可以用来指定归档文件转移的目录,如果未配置这项,则转移到归档路径的log_bak目录下 -->
</arch>
<send><!-- 发送模块配置 -->
<ip>192.168.0.100</ip><!-- 目的端IP,默认127.0.0.1 -->
<mgr_port>5355</mgr_port><!-- 目的端管理端口,默认为5345,最小值1000,最大值65535 -->
<data_port>5356</data_port><!-- 目的端数据接收端口号,默认为5346,最小值1000,最大值65535 -->
<level>0</level><!-- 复制级别,默认为0,最小值0,最大值65535 -->
<trigger>0</trigger><!-- 是否忽略触发器,默认为0,限定值0,1 -->
<constraint>0</constraint><!-- 是否忽略约束,默认为0,限定值0,1 -->
<identity>0</identity><!-- 是否忽略自增列,默认为0,限定值0(不忽略,插入同步过来的值),1(忽略,插入自增列自身的值) -->
<net_turns>0</net_turns><!-- 是否开启网闸模式,默认为0,限定值0(关闭),1(开启),网匝模式下,主机看不到备机的统计信息 -->
<filter><!-- 过滤,必须指定,一定要注意大小写,要跟源库中的对像名大小写保持一致 -->
<enable>
<item>DMHS.*</item>
<item>DMHS.*</item>
</enable>
</filter>
<map></map>
</send>
</cpt>
dm目的端配置
进入安装目录bin下vi.dmhs.hs
<?xml version="1.0" encoding="GB2312"?> en 5355 60 2 2.0 5356 dm8 192.168.0.100 SYSDBA dameng123 5237 4 1024 5000 1000三、启动DMHS服务
启动目的端服务
进入安装目录的bin目录下
./dmhs_server
另起窗口 ./dmhs_console
connect 127.0.0.1:5355
start exec
如果要停止目的端服务,可以使用stop命令
启动源端服务
进入安装目录的bin目录下
./dmhs_server
另起窗口 ./dmhs_console
connect 127.0.0.1:5355
Copy 0 “sch.name in (‘DMHS’,’DMHS’)” dict
start cpt (开启cpt)
至此,搭建已完成
更多内容尽在达梦云适配中心:https://eco.dameng.com/