dmhs oracle to dm8
目录
环境准备
源端配置
数据库配置
安装oracle odbc包(需要安装gcc-c++)
oracle用户下安装dmhs:
目标端DM8配置
配置DMHS
源端oracle dmhs.hs
目标端dmhs.hs
启动dmhs服务
环境准备
源端:rhel8.5 + oracle 19C
目的端:rhel8.5 + dm8
源端配置
数据库配置
1、开启归档:SQL> shutdown immediateSQL> alter database archivelog;SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/Oradata/arch' scope=both;SQL> alter database open;2、创建用于同步的表空间 user 赋权等SQL> create tablespace data_test datafile 'data_test.dbf' size 1G autoextend off;SQL> create user ora_test identified by "Dameng88" default tablespace data_test;SQL> grant dba to ora_test;3、创建表、索引,并插入数据:create table ora_test.test1(C1 int not null,C2 varchar2(40))tablespace data_testpctused 0pctfree 10;create unique index ora_test.idx_test1_c1 on ora_test.test1(C1);-- tablespace DATA_TEST;ALTER TABLE ORA_TEST.TEST1ADD CONSTRAINT TEST1_PKPRIMARY KEY(C1) using index ora_test.idx_test1_c1;insert into ora_test.test1 values(1,'test0311');commit;4、
--检查数据库最小附加日志及全列日志:SQL> select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL from v$database;--开启最小附加日志和全列日志SQL> alter database add supplemental log data;SQL> alter database add supplemental log data(all) columns;修改回收站参数:重新连接生效
SQL> show parameter recyclebin
SQL> alter system set recyclebin=off deferred;设置参数 允许DDL触发器的触发动作:
SQL> show parameter "_system_trig_enabled";
SQL> alter system set "_system_trig_enabled"=true scope=both;现实环境如果没有DBA权限,需要做如下赋权操作(例如用户是ora_test):
grant all on dmhs_ddl_sql to ora_test;
grant select any table to ora_test;
grant select any dictionary to ora_test;--dba权限的用户也需要执行加粗部分
grant create session to ora_test;
grant lock any table to ora_test;
grant execute on dbms_flashback to ora_test;
grant flashback any table to ora_test;
配置tnsnames.ora
vim /oracle/19300/db_1/home/network/admin/tnsnames.ora
TESTORA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.183.140)(PORT = 1526))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testOra)
(INSTANCE_NAME = testOra)
)
安装oracle odbc包(需要安装gcc-c++)
上传unixODBC-2.3.9.tar.gz安装包(建议2.3版本以上)
[root@test1 ~]# cd /soft/
[root@test1 soft]# tar -xvf unixODBC-2.3.9.tar.gz
[root@test1 soft]# cd unixODBC-2.3.9/
[root@test1 unixODBC-2.3.9]# ./configure --prefix=/usr/local/unixODBC-2.3.9 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc
[root@test1 unixODBC-2.3.9]# make &make install
[root@test1 soft]# odbcinst -j[root@test1 soft]# vim /etc/odbc.ini
[ORACLE]
Description=ORACLE ODBC DSN
Driver=Oracle 19c ODBC driver
Server=192.168.183.140
Servername=TESTORA
PORT=1526test</home/oracle>$less /etc/odbcinst.ini
[Oracle 19c ODBC driver]
Description = Oracle ODBC driver for Oracle 19
Driver = /oracle/19300/db_1/home/lib/libsqora.so.19.1
Setup =
FileUsage =
CPTimeout =
CPReuse =连接测试
isql oracle system Dameng88 oracle -v
报错:
[root@test1 soft]# odbcinst -j
odbcinst: error while loading shared libraries: libodbcinst.so.2: cannot open shared object file: No such file or directory
解决办法:执行ldconfig在默认目录/lib和/usr/lib搜寻可共享的动态链接库
oracle odbc连接报错
报错:[01000][unixODBC][Driver Manager]Can't open lib '/oracle/19300/db_1/home/lib/libsqora.so.19.1' : file not found
[ISQL]ERROR: Could not SQLConnect
[root@test1 ~]# isql oracle system Dameng88 oracle -v
[IM004][unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed
[ISQL]ERROR: Could not SQLConnect
Segmentation fault (core dumped)
解决办法:
root用户下 添加环境变量
[root@test1 ~]# vim ~/.bash_profile
export ORACLE_HOME=/oracle/19300/db_1/home
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/srvm/lib:/lib:/usr/lib:/usr/openwin/lib:/usr/local/lib
[root@test1 ~]# source .bash_profile
报错:ORA-12154: TNS:could not resolve the connect identifier specified
解决办法:检查tns
oracle用户下安装dmhs:
先切换到root用户下授予权限
[root@test1 soft]# chmod +x dmhs_V4.1.48_oracle12_rev102088_rh6_64_veri_20210924.bin
切换到oracle用户下:
[root@test1 opt]# su - oracle
test1</home/oracle>$cd /soft/
test1</soft>$./dmhs_V4.1.48_oracle12_rev102088_rh6_64_veri_20210924.bin -i
源端创建表&触发器 sql脚本安装目录下scripts/ddl_sql_ora.sql
根据脚本创建表触发器等
目标端DM8配置
安装dm8数据库并配置服务开机自启
开启归档:
SQL> alter database mount;
SQL> alter database archivelog;
SQL> alter database add archivelog 'TYPE=LOCAL,DEST=/dmdata/DAMENG/arch,FILE_SIZE=1024,SPACE_LIMIT=10240';
SQL> alter database open;
--开启附加日志参数
SQL> alter system set 'RLOG_APPEND_LOGIC'=1 both;
.
安装dmhs创建表空间和用户:
create TABLESPACE data_test DATAFILE 'data_test_01.dbf' SIZE 1024 autoextend off;
create user u_test identified by "Dameng88." DEFAULT TABLESPACE DATA_TEST;
配置DMHS
源端oracle dmhs.hs
$vim /home/oracle/dmhs/bin/dmhs.hs
<?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><driver>{Oracle 19c ODBC driver}</driver><db_type>ORACLE19c</db_type><db_server>testOra</db_server><db_user>ora_test</db_user><db_pwd>Dameng88</db_pwd><db_port>1526</db_port><cpt_mask/><send><ip>192.168.183.130</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><filter><enable><item>ORA_TEST.*</item></enable></filter><map/></send></cpt>
</dmhs>
目标端dmhs.hs
$vim /home/dmdba/dmhs/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><data_port>5346</data_port></recv><db_type>DM8</db_type><db_server>192.168.183.130</db_server><db_user>u_test</db_user><db_pwd>Dameng88.</db_pwd><db_port>5236</db_port><case_sensitive>1</case_sensitive><exec_thr>1</exec_thr><!-- 数据入库的工作线程数--><exec_policy>2</exec_policy><!-- 事务入库出错时的执行策略--><!--<exec_sql>512</exec_sql>--><!-- 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>
启动dmhs服务
./dmhs_server dmhs.hs
源端:
目标端:
- 目标端新开一个连接
test</home/oracle/dmhs/bin>$./dmhs_console
DMHS> connect
DMHS> start exec
start exec 执行报错:
报错解决:
[root@test2 ~]# su - dmdba
[dmdba@test2 ~]$ cd dmhs/bin
[dmdba@test2 bin]$ ldd libdmhs_exec.so
[root@test2 ~]# find / -name libdmoci.so
[dmdba@test2 ~]$ vim ~/.bash_profile
添加:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dmdba/dmhs/bin:/home/dmdba/dmhs/db/bin
[dmdba@test2 ~]$ source ~/.bash_profile
重试:start exec 卡住
重新拷贝一个libdmoci.so到/home/dmdba/dmhs/bin下
重新start exec 报错
yum install -y unixODBC
依然执行start exec时卡住或报错
更换libdmoci.so文件(与目标数据库版本一致的so文件):执行成功
- 源端开启一个连接
DMHS> connect
DMHS> clear exec lsn
报错:CSL[ERROR]: 初始装载失败
详细错误信息:
CPT[ERROR]: DB:ORA-12541: TNS:no listener
(code=12541)
CPT[ERROR]: OCI模块数据库登录失败,server=testOra; user=ora_test; password=******
解决:检查oracle数据库&监听是否开启,发现未开启数据库&监听 ,开启后重试
源端执行数据装载:
copy 0 "sch.name='ORA_TEST'" DICT|LSN|CREATE|INSERT|INDEX|COUNT
报错:初始装载失败
没有查询系统表和视图的权限:DB:ORA-01031: insufficient privileges
将权限赋予同步的账号查询系统基表的权限:
grant select on SYS.OBJ$ to ora_test;
grant select on sys.tab$ to ora_test;
grant select on SYS.USER$ to ora_test;
grant select on SYS.NTAB$ to ora_test;
grant select on sys.seg$ to ora_test;
源端开启同步:
DMHS> start
创建dmhs服务:
目标端dm
[root@test ~]# cd /home/dmdba/dmhs/scripts/root/
[root@test root]# ./dmhs_service_installer.sh -t dmhs_server -d /home/dmdba/dmhs/bin -p hs -x /home/dmdba/dmhs/bin/dmhs.hs
源端oracle:
[root@test1 ~]# cd /home/oracle/dmhs/scripts/root/
[root@test1 root]# ./dmhs_service_installer.sh -t dmhs_server -d /home/oracle/dmhs/bin -p hs -x /home/oracle/dmhs/bin/dmhs.hs
达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心
dmhs oracle to dm8相关推荐
- Oracle迁移DM8后NCHAR字符类型的转换说明
1.NCHAR与CHAR类型的区别: oracle中:NCHAR一个精度可以存放一个字母或者一个汉字:CHAR:一个精度存放一个字母,存放一个汉字需要两个精度. Oracle--eg: SQL> ...
- DMHS DM8到Oracle12c PDB双向同步(大小不敏感+落地文件转发)
文章目录 前言 架构思路 数据库配置 ODBC配置 DMHS配置 配置dmhs_trans_ora.hs 配置dmhs_trans_dm8.hs 配置dmhs_bi_ora.hs 配置dmhs_bi_ ...
- Centos7下搭建DMHS(源端oracle目的端达梦,另附目的端oracle)
搭建DMHS 目录: 搭建DMHS 前言 1.部署oracle环境 1.1目的端oracle的安装 1.1.1UNIXODBC 安装 1.2源端oracle的安装 2.安装DMHS 2.1环境准备 3 ...
- dmhs之dm8 to dm8
目录 DMHS介绍 DMHS搭建 DMHS安装配置 常见错误 DMHS介绍 支持异构环境的高性能.高可靠.高可扩展数据库实时同步复制系统 支持一对一.一对多广播型.多对一聚合型.多对多以及级联复制等多 ...
- DMHS DM8到MySQL双向同步(大小写敏感+非落地)
文章目录 前言 环境信息 硬件信息 软件信息 一些限制 MySQL字段类型限制 MySQL操作类型限制 DMHS限制 前置准备-DM8 软件安装(图形) 前置准备-MySQL侧 软件安装(非图形) 双 ...
- 搭建dmhs veri数据对比
简介: AGENT:对比工具代理服务,主要用作数据获取,并计算行数据的 MD5,发送给对比模块. VERI:对比校验进程,主要进行模式下对象对比,数据对比,并且生成对比报告. 系统主要分为对比代理服务 ...
- 达梦数据库DMHS安装及部署
目录 一.基础概念 1.1DMHS 1.2部署分配 二.安装前准备 2.1oracle端(源端)前期准备 2.1.1检查系统信息 2.1.2检查系统内存与存储空间 2.1.3检查数据库管理系统 2.2 ...
- 创建oracle数据库到达梦数据库的dblink
实际上是通过odbc使oracle连接到达梦数据库,需要安装odbc驱动,达梦驱动(达梦经典安装),配置odbc,透明网关,oracle监听服务 环境:( redhat6.9,oracle11g,达梦 ...
- DMHS(DM8-DM8)搭建
一.准备工作 1.DM8数据库安装 在配置DMHS同步之前,需要安装完成相应的DM8数据库. 2.DMHS安装 根据DM8数据库的类型以及操作系统环境,安装对应的DMHS版本软件. 二.配置部署 1. ...
最新文章
- 阿里资深AI工程师教你逐个击破机器学习核心算法
- 接近开关的初步测试 : DF-11N
- 如何:为 Windows 窗体 RichTextBox 控件设置字体属性
- 动态规划(浅层基础)
- hdu 4350 2012 多校 - 6
- kafka生产者、消费者消息操作命令
- turtle 20秒画完小猪佩奇“社会人”
- superagent返回结果乱码
- classes目录绝对路径
- 卷积神经网络CNN介绍:结构框架,源码理解【转】
- jemeter python接口自动化测试平台_WEB接口开发与自动化测试基于PYTHON语言PDF_Python教程...
- 详解关系抽取模型 CasRel
- YOLOX安装及训练
- 演练 畅销书排行榜 1002 html
- 微信戴圣诞帽的一个简易实现程序
- 京东云服务器搭建mysql+jdk+tomact
- Redis缓存:java解析excel数据
- 直方图处理(规定化)
- 虚拟机连接不上网络的解决方案
- 智慧工地构筑数字城市:绿色环保,文明工地
热门文章
- 2020汽车修理工(中级)实操考试视频及汽车修理工(中级)考试试题
- hive split取倒数第二位
- CSIG图像图形技术挑战赛重磅来袭!人体目标检测分赛道正式开放注册!
- SKIL/工作流程/执行作业
- 无线互动会议室方案-圆桌会议
- 数据结构与算法学习⑤(BFS和DFS 贪心算法 二分查找)
- 关于Apple M1 芯片软件安装异常的解决方法
- matlab答案1 8章,MATLAB基础与应用教程 习题答案 作者 蔡旭晖 刘卫国 蔡立燕 第1-8章答案...
- 不说权术,不说潜规则, 说说职场上的小细节
- 西安电子科技大学833真题_21西安电子科技大学计算机/软工考研经验分享