说明:该安装在Vware虚拟机中进行。
一、准备工具
1、地址:
(1)源端:192.168.113.128
(2)目标端:192.168.113.130
2、操作系统:
麒麟V10
3、CPU:
x86_64架构
4、数据库
(1)源端:Oracle 12c
(2)目标端:dm8
5、dmhs
(1)源端:dmhs_V4.3.38_oracle12c_rev193395_rh6_64_20250711_sp13.bin
(2)目标端:dmhs_V4.3.38_dm8_rev195581_rh6_64_20250801_sp14.bin
二、说明
为避免 DMDRS 在访问数据库文件时权限不足、环境变量错误等问题,建议源端与目的端在进行安装时选择对应的数据库的安装用户安装。
例如:源端 Oracle 数据库安装用户为 oracle,则源 DMDRS 就使用 oracle 用户进行安装;目的端 DM 数据库安装用户为 dmdba,则目的 DMDRS 就使用 dmdba 用户进行安装。本文以在 DM 端使用 dmdba 用户部署 DMDRS 为例。
三、安装
1、准备
(1)安装好相应数据库
在相应的源端安装好Oracle数据库,在目标端安装好dm数据库。
(2)开启归档
在Oracle端开启归档
startup mount;
alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/product/12.2.0.1/dbhome_1/dbs/arch';
alter database archivelog;
alter database open;
alter database force logging;
select log_mode from v$database;
在dm端开启归档
select ARCH_MODE from V$DATABASE;
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmdata/arch, TYPE=LOCAL, FILE_SIZE=128, SPACE_LIMIT=20480';
ALTER DATABASE OPEN;
(3)关闭selinux
vi /etc/selinux/config
修改配置文件中的SELINUX,改成SELINUX=disabled
(4)关闭防火墙
systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld
2、Oracle端部署dmhs
(1)将安装包放到Oracle机器
chown oracle:oinstall dmhs_V4.3.38_oracle12c_rev193395_rh6_64_20250711_sp13.bin
(2)新建目录
mkdir /opt/DmHs
chown oracle:oinstall /opt/DmHs
chmod 755 /opt/DmHs
(3)安装软件
su - oracle
cd /opt/DmHs
./dmhs_V4.3.38_oracle12c_rev193395_rh6_64_20250711_sp13.bin -i
(4)启动
cd DmHs/hs_agent/
./DmhsAgentServiceHsAgent start
3、Oracle端数据库配置
(1)字符集确认
select * from v$nls_parameters where PARAMETER in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
(2)开启数据库最小附加日志及全列日志
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
验证
SELECT SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;
(3)支持DDL同步
无需DDL同步可以跳过此步骤
Oracle关闭回收站
alter session set recyclebin=off;
show parameter "recyclebin";
Oracle允许 DDL 触发器的触发动作,即数据库参数_system_trig_enabled 为 TRUE 或者未设置。
ALTER SYSTEM SET "_system_trig_enabled" = TRUE;
SHOW PARAMETER "system_trig_enabled";
Oracle以 sys 用户,在 sys 模式下创建 DDL 触发器及 DDL记录表,运行 dmhs_dd_oral.sql 脚本。
@/opt/DmHs/scripts/ddl_sql_ora.sql
(4)同步用户创建
create user dmhs identified by "dmhs";
grant dba to dmhs;
grant all on sys.dmhs_ddl_sql to dmhs ;
grant all on sys.col$ to dmhs;
grant all on sys.cdef$ to dmhs;
grant all on sys.lobfrag$ to dmhs;
grant all on sys.obj$ to dmhs;
grant all on sys.user$ to dmhs;
grant select on sys.tab$ to dmhs;
grant select on sys.ntab$ to dmhs;
grant select on sys.seg$ to dmhs;
grant select on v$containers to dmhs;
(5)ODBC数据源配置
vi /etc/odbcinst.ini,增加以下配置,driver为Oracle数据库安装目录下/libsqora.so.12.1所在
[Oracle in OraDB12home1]
Description = ODBC DRIVER FOR ORACLE
Driver = /u01/app/oracle/product/12.2.0.1/dbhome_1/lib/libsqora.so.12.1
vi /etc/odbc.ini ,添加如下配置如下,密码要确认清楚
[ORACLE]
Description = Oracle ODBC driver for Oracle 12c
Driver = Oracle in OraDB12home1
SERVER = 192.168.113.128
ServerName = orcl
UserID = dmhs Password = dmhs Port = 1521
测试isql连接情况
isql -v ORACLE dmhs dmhs
(6)创建dmhs.hs文件
/opt/DmHs/bin/dmhs.hs文件配置
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5645</mgr_port>
<chk_interval>2</chk_interval>
<siteid>2</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<mgr_port>5645</mgr_port>
<data_port>5646</data_port>
</recv>
<db_type>ORACLE12c</db_type>
<db_server>orcl</db_server>
<db_user>dmhs</db_user>
<db_pwd>dmhs</db_pwd>
<db_port>1521</db_port>
<exec_thr>4</exec_thr>
<exec_sql>512</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>250</exec_rows>
<exec_policy>2</exec_policy>
</exec>
<cpt>
<db_type>ORACLE12c</db_type>
<db_server>ORCL</db_server>
<db_user>dmhs</db_user>
<db_pwd>dmhs</db_pwd>
<db_port>1521</db_port>
<db_name></db_name>
<ddl_mask>op:obj</ddl_mask>
<parse_thr>1</parse_thr>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>1</clear_flag>
<bak_dir></bak_dir>
</arch>
<send>
<ip>192.168.113.130</ip>
<mgr_port>5545</mgr_port>
<data_port>5546</data_port>
<level>0</level>
<trigger>0</trigger>
<constraint>0</constraint>
<identity>0</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>.</item>
</enable>
<disable>
</disable>
</filter>
</send>
</cpt>
</dmhs>
4、Dm端DmHs软件安装
(1)创建目录
mkdir /opt/DmHs
chown dmdba:dinstall /opt/DmHs
(2)修改权限
chown dmdba:dinstall dmhs_V4.3.38_dm8_rev195581_rh6_64_20250801_sp14.bin
chmod 755 dmhs_V4.3.38_dm8_rev195581_rh6_64_20250801_sp14.bin
5、Dm端数据库配置
(1)开启归档
(2)逻辑附加日志开启
vi /dmdata/data/DAMENG/dm.ini
将RLOG_APPEND_LOGIC的值改为1
重启数据库
(3)DDL脚本运行
如果需支持DDL,需在管理工具中运行此脚本。
/opt/DmHs/scripts/ddl_sql_dm8.sql
(4)同步用户创建
create user dmhs identified by "Dmhs_123";
grant dba to dmhs;
(5)ODBC数据源配置
vi /etc/odbcinst.ini,增加以下配置,driver为Dm数据库安装目录下/libdodbc.so所在
[DM8]
Description = ODBC DRIVER FOR DM8
Driver = /home/dmdba/dmdbms/bin/libdodbc.so
vi /etc/odbc.ini ,添加如下配置如下,密码要确认清楚
[DM8]
Description = Oracle ODBC driver for DM8
Driver = DM8
SERVER = 192.168.113.130
UserID = dmhs Password = Dmhs_123 Port = 5236
测试isql连接情况
isql -v DM8 dmhs Dmhs_123
6、Dm端DmHs文件配置
建立DmHs.hs文件
/opt/DmHs/bin/dmhs.hs文件配置
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5545</mgr_port>
<chk_interval>2</chk_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<mgr_port>5545</mgr_port>
<data_port>5546</data_port>
</recv>
<db_type>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>dmhs</db_user>
<db_pwd>Dmhs_123</db_pwd>
<db_port>5236</db_port>
<exec_thr>4</exec_thr>
<exec_sql>512</exec_sql>
<enable_rowid>1</enable_rowid>
<exec_trx> 5000 </exec_trx>
<exec_rows>250</exec_rows>
<exec_policy>2</exec_policy>
</exec>
<cpt>
<db_type>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>dmhs</db_user>
<db_pwd>Dmhs_123</db_pwd>
<db_port>5236</db_port>
<db_name></db_name>
<ddl_mask>op:obj</ddl_mask>
<parse_thr>1</parse_thr>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>1</clear_flag>
<bak_dir></bak_dir>
</arch>
<send>
<ip>192.168.113.128</ip>
<mgr_port>5645</mgr_port>
<data_port>5646</data_port>
<level>0</level>
<trigger>0</trigger>
<constraint>0</constraint>
<identity>0</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>.</item>
</enable>
<disable>
</disable>
</filter>
</send>
</cpt>
</dmhs>
7、前台启动dmhs服务
(1)Oracle端启动dmhs服务
cd /opt/DmHs/bin
./dmhs_server
(2)Dm端启动dmhs服务
cd /opt/DmHs/bin
./dmhs_server
8、执行模块打开
(1)Oracle端执行模块打开
./dmhs_console
(2)Dm端执行模块打开
./dmhs_console
9、装载字典
(1)Oracle端装载字典
copy 0 "sch.name='DMHS'" dict
(2)Dm端装载字典
copy 0 "sch.name='DMHS'" dict
10、捕获模块开启
(1)Oracle端捕获模块打开
start cpt
(2)Dm端捕获模块打开
start cpt
11、注册dmhs后台服务
(1)Oracle端
cd /opt/DmHs/scripts/root/
./dmhs_service_installer.sh -t dmhs_server -p HS -x /opt/DmHs/bin/dmhs.hs -d /opt/DmHs/bin
chown oracle:oinstall /opt/DmHs/bin/DmhsServiceHS
用oracle用户
./DmhsServiceHS start
如果显示已经启动则不需要再次执行
(2)dm端
cd /opt/DmHs/scripts/root/
./dmhs_service_installer.sh -t dmhs_server -p HS -x /opt/DmHs/bin/dmhs.hs -d /opt/DmHs/bin
chown dmdba. /opt/DmHs/bin/DmhsServiceHS
用dm用户
./DmhsServiceHS start
如果显示已经启动则不需要再次执行
12、验证
(1)在Oracle端建表,dm端查询
Oracle端
dm端
(2)在dm端建表,Oracle端查询
dm端
Oracle端
文章
阅读量
获赞
