Oracle到DM8的DMHS部署

Oracle到DM8的DMHS部署

一. 前期准备

  1. 准备了两台Linux系统的虚拟机,已分别安装好Oracle 11和DM8数据库。

  2. 以下是对两台机器所做的部署规划:

服务数据库IP地址端口号
DMHS源端Oracle192.168.61.1315236
DMHS目的端DM8192.168.61.1321521

二. 目的端准备

1.开启归档日志

在bin目录下,使用disql连接到数据库,查询数据库是否开启了归档。

在这里插入图片描述

2.开启逻辑日

开启逻辑日志后,重启数据库生效。
在这里插入图片描述

将dm.ini中的参数“FAST_COMMIT”设置为0,防止逻辑日志不全影响同步。
在这里插入图片描述

3.创建同步用户

SQL> create user DMHS identified by "DMHS_1234" default tablespace MAIN temporary tablespace TEMP;

给用户授权,使其获取同步操作需要的权限。

SQL> grant resource to DMHS;

SQL> grant select any table to DMHS;

SQL> grant dba to DMHS;

SQL> grant unlimited tablespace to DMHS;

在这里插入图片描述

4.安装ODBC

使用以下命令安装ODBC:

yum -y install unixODBC

在这里插入图片描述

使用以下命令查看配置文件路径:

 odbcinst -j 

在这里插入图片描述

对配置进行以下修改:

修改命令如下:vi /etc/odbcinst.ini

[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver =dm8/bin/libdodbc.so

vi /etc/odbc.ini

添加以下内容:

[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER =localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

测试连接效果,使用 dmdba 用户执行 isql 测试连接是否正常:

isql dm8 -v

在这里插入图片描述

三. 源端准备

1. 开启归档日志

创建归档目录 mkdir opt/module/oracle/oradata/orcl/archlog

使用以下命令登录到数据库服务:

sqlplus / as sysdba

运行以下指令开启归档日志:

SQL> shutdown immediate    # 关闭数据库服务

SQL> startup mount          # 以 mount 方式启动 oracle 数据库

SQL> alter database archivelog; # 开启归档

SQL> alter system set db_recovery_file_dest='';

SQL> alter system set log_archive_dest='/opt/oracle/oradata/orcl/archlog';  # 设置归档文件路径(如果使用本地路径存放归档日志,需要将 db_recovery_file_dest 参数置空,然后设置 log_archive_dest 参数

SQL> alter database open; # 恢复为 open 状态

SQL> archive log list; # 再次检查归档

在这里插入图片描述

2.开启附加日志

附加日志(supplemental log)指数据库在日志中添加额外信息到日志流中,以支持基于日志的工具,进行数据的分析。

检查附加日志:

 SQL> select SUPPLEMENTAL_LOG_DATA_MIN min,SUPPLEMENTAL_LOG_DATA_PK  pk,SUPPLEMENTAL_LOG_DATA_UI ui,SUPPLEMENTAL_LOG_DATA_FK fk, SUPPLEMENTAL_LOG_DATA_ALL "all" from v$database;

在这里插入图片描述

开启数据库最小附加日志级全列日志。

SQL> alter database add supplemental log data;
SQL> alter database add supplemental log data (all) columns;

#再次检查附加日志

SQL> select SUPPLEMENTAL_LOG_DATA_MIN min,SUPPLEMENTAL_LOG_DATA_PK  pk,SUPPLEMENTAL_LOG_DATA_UI ui,SUPPLEMENTAL_LOG_DATA_FK fk, SUPPLEMENTAL_LOG_DATA_ALL "all" from v$database;

在这里插入图片描述

3.关闭Oracle回收机制

使用以下命令检查 oracle 回收机制 :

SQL> show parameter recyclebin;  	#如果为on,需要关闭回收机制

SQL> alter system set recyclebin=off deferred;

需要重启数据库才能查看更新情况。
在这里插入图片描述

4.检查字符集是否一致

查询Oracle数据库字符集:

SQL> select userenv('language') from dual;

再查询系统字符集:

echo $NLS_LANG

如果该变量值为空或者与查询结果不一致,则将该变量设置为查询结果的值

vi ~/.bash_profile # 增加 export NLS_LANG=”sql查询结果” 

source ~/.bash_profile

在这里插入图片描述

5.创建同步用户

SQL> create user DMHS identified by "DMHS" default tablespace  USERS temporary tablespace TEMP profile DEFAULT;
SQL> grant connect to DMHS;
SQL> grant create any table to DMHS;
SQL> grant select any table to DMHS;
SQL> grant select any dictionary to DMHS;
SQL> grant create session to DMHS;
SQL> grant lock any table to DMHS;
SQL> grant execute on dbms_flashback to DMHS;
SQL> grant unlimited tablespace to DMHS;

在这里插入图片描述

6.安装ODBC

切换root用户安装ODBC:yum -y install unixODBC

在这里插入图片描述

配置unixODBC,新增odbc.ini文件,并添加以下内容:

[ORACLE]
Description = Oracle ODBC driver for Oracle 11g
Driver=
Oracle in OraDb11g_home1
SERVER = 192.168.61.131
ServerName = orcl
UserID = DMHS
Password = DMHS
Port = 1521

配置 odbcinst.ini 文件,新增以下内容:

[Oracle in OraDb11g_home1]
Description = ODBC DRIVER FOR ORACLE
Driver= /opt/module/oracle/product/11.2.0/db_1/lib/libsqora.so.11.1
Threading = 0

配置完成之后,切换到 oralce 用户测试, 使用isql 命令测试配置是否正确。`

isql -v ORACLE DMHS DMHS。`

在这里插入图片描述

四. 安装部署DMHS

1. 目的端(DM8)安装DMHS

创建dmhs文件目录

mkdir /opt/dmhs 

将安装文件上传到虚拟机中,修改权限进行运行安装。

chmod +x dmhs_V4.3.06_dm8_rev124224_rh6_64_veri_20230214_sp2.bin

./dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

进入图形化界面,按照默认推荐进行安装。

在这里插入图片描述

最后对安装信息进行校对。

在这里插入图片描述

对远程部署工具进行配置。

在这里插入图片描述

安装完成。

在这里插入图片描述

2.源端(Oracle)安装DMHS

按照同样的步骤运行bin文件并进行安装操作。

在这里插入图片描述

五. DMHS服务部署

1.目的端(DM8)部署

修改配置文件dmhs.hs:

vi /opt/dmhs/bin/dmhs.hs

添加以下内容:

<?xml version="1.0" encoding="GB2312"?>
<dmhs>

    <base>
        <lang>en</lang>
        <mgr_port>5345</mgr_port>
        <chk_interval>2</chk_interval>
        <ckpt_interval>45</ckpt_interval>
        <siteid>4</siteid>
        <version>2.0</version>
    </base><exec><recv><data_port>5346</data_port></recv><db_type>dm8</db_type><db_server>192.168.61.132</db_server><db_user>SYSDBA</db_user><db_pwd>SYSDBA</db_pwd><db_port>5236</db_port><char_code>PG_UTF8</char_code><db_name></db_name><exec_thr>8</exec_thr><exec_sql>1024</exec_sql><exec_trx>2000</exec_trx><exec_rows>2000</exec_rows><msg_col_size>30000</msg_col_size><ddl_continue>1</ddl_continue><affect_row>0</affect_row><exec_policy>2</exec_policy><enable_rowid>0</enable_rowid><clear_trx_file>1</clear_trx_file><trx_max_file>8</trx_max_file></exec>
</dmhs>

将模板文件复制,并授权给用户。

cp TemplateDmhsService DmhsService 

chmod +x DmhsService

修改DmhsService内容为:

#set execute environment
#REPLACE DMHS_HOME path
DMHS_HOME=/opt/dmhs/bin
#REPLACE program dir
PROG_DIR=/opt/dmhs/bin
#REPLACE program config path
CONF_PATH=/opt/dmhs/bin/dmhs.hs
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH NEED_LIB_PATH=
HS_NLS_LANG=“AMERICAN.AMERICA.AL32UTF8”

启动服务,到/opt/dmhs/bin目录下执行以下命令:

./dmhs_server dmhs.hs

start exec

 DMHS>  exec  #启动 exec 模块

在这里插入图片描述

2.源端(Oracle)部署

修改配置文件dmhs.hs:

vi /home/oracle/dmhs/bin/dmhs.hs

添加以下内容:

<?xml version="1.0" encoding="GB2312"?>
<dmhs>

    <base>
        <lang>en</lang>
        <mgr_port>5345</mgr_port>
        <ckpt_interval>45</ckpt_interval>
        <siteid>1</siteid>
        <version>2.0</version>
    </base><cpt><db_type>oracle11g</db_type><db_server>192.168.61.131:1521/orcl</db_server><db_user>DMHS</db_user><db_pwd>DMHS</db_pwd><ddl_mask>op:obj</ddl_mask><char_code>PG_UTF8</char_code><constraint>1</constraint><arch><clear_interval>600</clear_interval><clear_flag>0</clear_flag></arch><send><ip>192.168.61.132</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><filter><enable><item>DMHS.*</item></enable><disable></disable></filter>

            <map>
                <item>DMHS.*==DMHS.*</item>
            </map></send></cpt>
</dmhs>

将模板文件,复制一份为正式服务并授权:

cp TemplateDmhsService DmhsService
chmod +x DmhsService

编辑文件:

vi DmhsService

修改内容如下:

#set execute environment
#REPLACE DMHS_HOME path DMHS_HOME=/home/oracle/dmhs/bin
#REPLACE program dir
PROG_DIR=/home/oracle/dmhs/bin
#REPLACE program config path CONF_PATH=/home/oracle/dmhs/bin/dmhs.hs
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH NEED_LIB_PATH=
HS_NLS_LANG=“AMERICAN_AMERICA.AL32UTF8”

启动服务,到/home/oracle/dmhs/bin目录下运行以下命令:

./dmhs_server dmhs.hs

clear exec lsn
COPY 0 "SCH.NAME='ORCL'" CREATE
COPY 0 "SCH.NAME='ORCL'" INSERT|THREAD|2
start cpt

在这里插入图片描述

在这里插入图片描述

六.验证

1.源端插入

创建表t2,并插入数据,提交数据。

在这里插入图片描述

2.目的端查询

查询插入的数据。

在这里插入图片描述

参考资料:https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值