(源端、目的端都要做)
linux平台:
命令行:./dmhs_V4.2.60_dm8_rev106302_rh6_64_veri_20220225.bin -i
图形化界面:./dmhs_V4.2.60_dm8_rev106302_rh6_64_veri_20220225.bin
命令行安装注意选项:
(1)选择完整版(web客户端)
(2)本次配置需要选择统一部署
(3)主机IP:虚拟机外网ip地址
(4)路径:/dm8/bin:/dm8/dmhs/bin
(5)所有启动方式选择手动
(源端、目的端都要做)
主库:
/dm8/bin/dminit PATH=/dm8/data/ DB_NAME=DMHS1 INSTANCE_NAME=DMHS1 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
备库:
/dm8/bin/dminit PATH=/dm8/data/ DB_NAME=DMHS2 INSTANCE_NAME=DMHS2 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
/dm8/bin/dmserver /dm8/data/DMHS1/dm.ini /dm8/bin/dmserver /dm8/data/DMHS2/dm.ini
(源端做,目的端不做)
执行了这个或者注册服务启动服务才可以连接:/dm8/bin/dmserver /dm8/data/DMHS1/dm.ini
连接disql:/dm8/bin/disql SYSDBA/SYSDBA:5236
//开启归档日志
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST = /dm8/data/DMHS1/arch,TYPE = LOCAL,FILE_SIZE = 512,SPACE_LIMIT = 5120';
ALTER DATABASE OPEN;
select para_value from v$dm_ini where para_name in ('ARCH_INI');
select arch_mode from v$database;
//开启逻辑日志
SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',2);
SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME='RLOG_APPEND_LOGIC';
//select para_value from v$dm_ini where para_name in ('RLOG_APPEND_LOGIC');
(源端、目的端都要做)
/*
其中DMHS为用户名,双引号内为密码,这没有特别要求,只需要后面和配置文件对应上即可,需要注意授权该用户查询、写入其他用户的权限,这里为了方便直接给了DBA权限
*/
/dm8/bin/disql SYSDBA/SYSDBA:5236
CREATE USER DMHS IDENTIFIED by "root123456";
GRANT VTI TO DMHS;
GRANT PUBLIC TO DMHS;
GRANT RESOURCE TO DMHS;
GRANT DBA TO DMHS;
/*
CREATE TABLESPACE DMHS DATAFILE 'DMHS.DBF' size 128;
CREATE USER DMHS IDENTIFIED by "root123456" DEFAULT TABLESPACE DMHS DEFAULT INDEX TABLESPACE DMHS;
*/
使用SYSDBA连接登录数据库执行DMHS安装目录下script子目录的“ddl_sql_dm8.sql”脚本。
(源端做,目的端不做)
方式一(推荐):最好使用自带的manager图形化界面不出错!!
方式二:
/dm8/bin/disql SYSDBA/SYSDBA:5236
SQL> start /dmhs/scripts/ddl_sql_dm8.sql
检查辅助表是否创建成功:select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';
查询触发器是否创建成功:select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';
查询结果共9个辅助表,4个触发器。
create user DMHSTEST identified by "root123456";
grant vti,resource,public,dba to DMHSTEST;
conn DMHSTEST/root123456
create table test01 as select * from sysobjects;
create table test02 as select * from sysobjects;
//表建立在模式为DMHSTEST上
此参数文件要放在 /dm8/dmhs/bin下 (源端参数文件内容)
vim /dm8/dmhs/bin/dmhs.hs
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>DM8</db_type> ##需要改的 地方 数据库版本
<db_server>127.0.0.1</db_server> ##需要改的 地方 源端Ip 127.0.1.1 即可
<db_user>DMHS</db_user> ##需要改的 地方 源端 数据库用户名
<db_pwd>root123456</db_pwd> ##需要改的 地方 源端 数据库密码
<db_port>5236</db_port> ##需要改的 地方 源端 服务端口
<parse_thr>1</parse_thr>
<idle_time>3000</idle_time>
<ddl_mask>OBJ:OP</ddl_mask> ##<ddl_mask>OP:OBJ</ddl_mask>
<dict_dir>/dm8/dmhs/dmhs_dict</dict_dir> ## 复制数据表的 数据字典所谓在位置 一定要存在的目录
<arch>
<clear_interval>43200</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<ip>192.168.100.112</ip> ##需要改的 地方 目标端 IP
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<level>0</level>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<net_turns>1</net_turns>
<timeout>60</timeout>
<parse_policy>8</parse_policy>
<filter>
<enable>
<item>DMHSTEST.*</item> ##复制的可以按照模式如果 一个模式下所有内容就为 *
</enable>
<disable>
</disable>
</filter>
<map>
</map>
</send>
</cpt>
</dmhs>
root执行: /dm8/dmhs/scripts/root/dmhs_service_installer.sh -t dmhs_server -p DMHS_DM -x /dm8/dmhs/bin/dmhs.hs -d /dm8/dmhs/bin systemctl start DmhsServiceDMHS_DM.service
create user DMHSTEST identified by "root123456";
grant vti,resource,public,dba to DMHSTEST;
// 此参数文件要放在 /dm8/dmhs/bin下
vim /dm8/dmhs/bin/dmhs.hs
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>11</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>DM8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>DMHS</db_user>
<db_pwd>root123456</db_pwd>
<db_port>5236</db_port>
<level>0</level>
<exec_mode>1</exec_mode>
<exec_thr>32</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx>5000</exec_trx>
<exec_rows>1000</exec_rows>
<case_sensitive>1</case_sensitive>
<exec_policy>0</exec_policy>
<toggle_case>0</toggle_case>
<commit_policy>1</commit_policy>
<enable_merge>1</enable_merge>
<check_key>1</check_key>
<check_index>0</check_index>
</exec>
</dmhs>
解决方法:
(1)使用manager客户端粘贴代码运行
(1)先执行SET DEFINE OFF;再执行脚本
解决办法
退出DMHS:ldd libdmhs_exec.so,如上图所示
//看到最后一行:libdmoci.so => not found
1、复制文件:cp /home/dmdba/data/dmoci/libdmoci.so /dm8/dmhs/bin
若是用root赋予权限:chown dmdba:dinstall libdmoci.so
2、如下图所示,导出包所在路径
解决办法:
(1)首先检查配置文件中ip+端口是否正确!
(2)网络端口是否通(防火墙是否开启导致屏蔽相关端口)
最简单办法是:关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
但是实际生产则是需要联系网络安全员开放相关端口
文章
阅读量
获赞