本次部署基于oracle-dm8进行一对一数据增量同步。
服务器名称 | IP | CPU | 内存 | 硬盘 |
---|---|---|---|---|
dms | 192.168.30.28 | 2 | 5 | 50 |
slave | 192.168.20.138 | 2 | 5 | 50 |
实例名 | IP | 端口 | 数据目录 | 归档目录 | DRS目录 |
---|---|---|---|---|---|
prod1 | 192.168.30.28 | 1521 | /home/oracle/oracle/product/11.2.0 | /home/oracle/oracle/prod1_archive_log | /home/oracle/dmdrs |
DMS | 192.168.20.138 | 5236 | /dmdba/dmdbms/data/DMSERVER | /dmdba/dmdbms/data/DMSERVER/arch | /dmdba/dmdrs |
实例名 | IP | 端口 | 管理端口mgr_port | 站点号siteid | 模块服务名 |
---|---|---|---|---|---|
prod1 | 192.168.30.28 | 1521 | 5458 | 6 | cpt_ora |
DMS | 192.168.20.138 | 5236 | 5457 | 4 | exec_dm8 |
[root@dms ~]# chown -R oracle:oinstall /home/oracle/su - dmdba
[root@dms ~]# su - oracle
[oracle@dms ~]$ chmod +x dmdrs_rev191718_x86_rh6_64_20250619.bin
[oracle@dms ~]$ ./dmdrs_rev191718_x86_rh6_64_20250619.bin -i
Extract install files.........
Please select the installer's language (E/e:English C/c:Chinese)[E/e]:c
-----------欢迎使用达梦数据复制软件安装工具-----------
输入[exit]可退出安装。
-----------安装目录-----------
指定安装目录[/home/oracle/dmdrs5]:
-----------安装组件-----------
请选择需要安装的组件
1.安装达梦数据融合管理平台
2.安装代理
请选择安装组件数字序号(使用空格间隔):1 2
选择的组件有:
1.安装达梦数据融合管理平台
2.安装代理
确认?[Y/y(确认选择) or N/n(重新选择)]:y
-----------许可证文件-----------
1.免费试用达梦数据复制软件(必须在试用期范围内使用,反复安装无效,使用时间为3个月)
2.使用许可证文件
指定许可证文件(1,2)[1]:1
expireDate----2025-09-17
免费试用许可证文件限制信息如下:
有效日期:2025-09-17
版本类型:试用版
许可证编号:dm66n367
授权顾客名称:DEVELOP USER
当前选择为免费试用,是否继续安装?[Y/y or N/n]:y
-----------配置-----------
依赖环境配置 -数据库动态库路径[/home/oracle/oracle/product/11.2.0/lib]:y
注意:代理配置IP不允许设置成127.0.0.1!
代理配置-代理IP(192.168.30.28):30
输入的IP非法,请重新输入!
注意:代理配置IP不允许设置成127.0.0.1!
代理配置-代理IP(192.168.30.28):192.168.30.28
代理配置-代理端口[19345]:
达梦数据融合管理平台配置-管理平台端口[8080]:
注意:密码必须至少8个字符,并且满足以下条件中的任意两项:数字、大写字母、小写字母、特殊字符(如!@#$%^&*等)。
达梦数据融合管理平台配置-管理平台密码:
达梦数据融合管理平台配置-管理平台确认密码:
是否使用外置库(0:不使用 1:使用 )[0]:
-----------安装小结-----------
安装目录:[/home/oracle/dmdrs5]
依赖环境配置-NEED_LIB_PATH:[y]
代理IP:[192.168.30.28]
代理端口:[19345]
达梦数据融合管理平台IP:[127.0.0.1]
达梦数据融合管理平台端口:[8080]
内置库信息:
数据库IP:[127.0.0.1]
数据库端口:[15236]
用户名:[SYSDBA]
密码:[******]
所需磁盘空间/可用磁盘空间:[2,699 MB/8,463 MB]
确认安装?[Y/y or N/n]:y
-----------安装中-----------
server start ... server finished.
default start ... default finished.
agent start ... agent finished.
web start ... web finished.
doc start ... doc finished.
db start ... db finished.
安装成功
-----------系统服务-----------
内置数据库服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:1
正在创建内置数据库服务....
达梦数据融合管理平台服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:1
正在创建达梦数据融合管理平台服务....
服务名冲突[DfmWebService.service]
服务名冲突,请手动卸载同名服务[/usr/lib/systemd/systemDfmWebService.service]
是否已删除服务[/usr/lib/systemd/systemDfmWebService.service]?(Y/y or N/n)[Y/y]:y
达梦数据融合管理平台代理服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:1
正在创建达梦数据融合管理平台代理服务....
以下配置脚本需要以"root"用户的身份运行.
/home/oracle/dmdrs5/scripts/root/root_installer.sh
是否已执行shell脚本?(Y/y or N/n)[Y/y]:y
-----------安装总结-----------
达梦数据复制软件V5安装完成
地址:http://127.0.0.1:8080
用户名/密码:admin/******
更多安装信息,请查看安装日志文件:/home/oracle/dmdrs5/log/install.log
$ sqlplus / as sysdba
若数据库已经开启归档模式,则跳过步骤3~步骤7。
SQL> archive log list;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter system set db_recovery_file_dest='';
SQL> alter system set log_archive_dest='/oradata/arch';
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database open;
若数据库已经开启最小附加日志及全列日志,则跳过步骤9。
SQL> select supplemental_log_data_min from v$database;
SQL> select supplemental_log_data_all from v$database;
SQL> alter database add supplemental log data;
SQL> alter database add supplemental log data (ALL) columns;
SQL> alter system set enable_goldengate_replication = TRUE;
SQL> alter system set recyclebin=off deferred;
CREATE USER oradrs IDENTIFIED by Oradrs123;
grant dba to oradrs;
grant CREATE SESSION to oradrs;
alter database mount;
alter database ARCHIVELOG;
alter database ADD ARCHIVELOG 'type=local, dest=/dmdba/dmdbms/data/DMSERVER/arch, file_size=128, space_limit=10240';
alter database open;
-- SP_SET_ARCH_STATUS('DM3',1); -- 特殊模式时可用
select * from v$arch_status; -- 查看集群归档状态,备库的无意义
CREATE USER oradrs IDENTIFIED by Oradrs123;
grant dba to oradrs;
grant CREATE SESSION to oradrs;
#解压jdk等操作
cat >>/etc/profile <<EOF
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
EOF
cat >>~/.bash_profile <<EOF
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dmdba/dmdbms/bin"
export DM_HOME="/dmdba/dmdbms"
export PATH="$PATH:$DM_HOME/bin"
EOF
cp service_template/TemplateService ./DrsService_o2dm
vim ./DrsService_o2dm
more ./DrsService_o2dm
#set execute environment
#REPLACE INSTALL_HOME path
INSTALL_HOME=/dmdba/dmdrs5
#REPLACE program dir
PROG_DIR=/dmdba/dmdrs5/bin
#REPLACE program config path
#If drs server is BP node and wants to startup without drs.xml,please specify the running port in CONF_PATH,for example,CONF_PATH="-port 5345"
CONF_PATH=/dmdba/dmdrs5/bin/exec.xml
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH
NEED_LIB_PATH=/dmdba/dmdbms/bin
#REPLACE program name, drsvr/dssvr/dvsvr
EXEC_PROG_NAME=drsvr
#REPLACE service type, drs server/dss server/dvs server
SERVICE_TYPE_NAME="drs server"
cp conf_sample/exec.xml ./
vim exec.xml
[dmdba@slave bin]$ cat exec.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
<base>
<mgr_port>5457</mgr_port><!--▒▒5345-->
<lang>ch-utf8</lang>
<siteid>4</siteid><!--▒▒2-->
</base>
<exec>
<name>exec_dm8</name>
<login>
<dbtype>dm8</dbtype>
<server>192.168.20.138</server>
<user>oradrs</user>
<pwd>Oradrs123</pwd>
<port>5236</port>
</login>
</exec>
</drs>
#解压jdk等操作
cat >>/etc/profile <<EOF
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
EOF
cat >>~/.bash_profile <<EOF
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$ORACLE_HOME/bin:/usr/sbin:$ORACLE_HOME/OPatch:$PATH
umask 022
EOF
cp service_template/TemplateService ./DrsService_o2dm
vi DrsService_o2dm
more DrsService_o2dm
#set execute environment
#REPLACE INSTALL_HOME path
INSTALL_HOME=/home/oracle/dmdrs5
#REPLACE program dir
PROG_DIR=/home/oracle/dmdrs5/bin
#REPLACE program config path
#If drs server is BP node and wants to startup without drs.xml,please specify the running port in CONF_PATH,for example,CONF_PATH="-port 5345"
CONF_PATH=cpt.xml
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH
NEED_LIB_PATH=/home/oracle/oracle/product/11.2.0/lib
#REPLACE program name, drsvr/dssvr/dvsvr
EXEC_PROG_NAME=drsvr
#REPLACE service type, drs server/dss server/dvs server
SERVICE_TYPE_NAME="drs server"
[oracle@dms bin]$ cd /home/oracle/dmdrs5/bin
[oracle@dms bin]$ cat cpt.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
<base>
<mgr_port>5458</mgr_port><!--¿¿5345-->
<lang>ch-utf8</lang>
<siteid>6</siteid><!--¿¿2-->
</base>
<cpt>
<name>cpt_ora</name>
<login>
<dbtype>oracle</dbtype>
<server>dms:1521/prod1</server>
<user>oradrs</user>
<pwd>Oradrs123</pwd>
<port>1521</port>
</login>
<send>
<ip>192.168.20.138</ip>
<port>5457</port>
<target_name>exec_dm8</target_name>
<map>
<item>ORADRS.*==ORADRS.*</item>
</map>
</send>
</cpt>
</drs>
[dmdba@slave bin]$ ./drsvr exec.xml
[oracle@dms bin]$ ./drsvr cpt.xml
[dmdba@slave bin]$ ./DrsService_o2dm start
Starting DrsService_o2dm: [ OK ]
[dmdba@master bin]$ ./DrsService_o2dm start
Starting DrsService_o2dm: [ OK ]
[dmdba@master bin]$
./drcsl cpt.xml
CSL> connect
CSL> alter cpt_ora set lsn
CSL[INFO]: [INPUT CMD: alter cpt_ora set lsn]
MGR[INFO]: 成功获取模块的起始SCN cpt name: cpt_ora, SCN: 3295474
命令执行成功
CSL> alter cpt_ora add table "sch.name = 'ORADRS'"
CSL[INFO]: [INPUT CMD: alter cpt_ora add table "sch.name = 'ORADRS'" ]
MGR[INFO]: 获取到装载掩码组合 mask: |CREATE|INSERT|INDEX|TABLE|CHECK|GROUP
命令执行成功
CSL> start cpt_ora
CSL[INFO]: [INPUT CMD: start cpt_ora]
MGR[INFO]: 模块正在启动 module: cpt_ora
MGR[INFO]: 得到起始SCN start scn: 3295474
MGR[INFO]: 模块已经处于运行状态 module: cpt_ora
命令执行成功
ps -ef|grep dmdba
./drcsl
CSL> show cpt_ora load table all
CSL[INFO]: [INPUT CMD: show cpt_ora load table all]
+------------------------------------------------------------------------------------+
| 【全部装载表】 |
+------------------------------------------------------------------------------------+
| 序号 | 模式名 | 表名 | 已装载行数 | 状态 | 开始时间 | 耗时 | 分组数 |
+------+--------+------+------------+----------+---------------------+------+--------+
| 1 | ORADRS | T1 | 1 | COMPLETE | 2025-07-11 14:48:43 | 7 s | 1 |
+------+--------+------+------------+----------+---------------------+------+--------+
命令执行成功
CSL>CSL> show cpt_ora load status
CSL[INFO]: [INPUT CMD: show cpt_ora load status]
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 【装载状态】 |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 序号 | 需装载对象 | 装载字典 | 已装载对象 | 未装载对象 | 正装载对象 | 装载错误对象 | 开始时间 | 结束时间 | 装载条件 | 装载掩码 | 对象类型 |
+------+------------+----------+------------+------------+------------+--------------+---------------------+---------------------+---------------------+----------+----------+
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 2025-07-11 14:48:42 | 2025-07-11 14:48:51 | sch.name = 'ORADRS' | | TABLE |
+------+------------+----------+------------+------------+------------+--------------+---------------------+---------------------+---------------------+----------+----------+
命令执行成功
CSL>
CSL> show cpt_ora load table error
CSL[INFO]: [INPUT CMD: show cpt_ora load table error]
无装载错误表信息!
命令执行成功
CSL>
disql oradrs/Oradrs123
select * from t1;
行号 ID
---------- ----
1 10
CSL> connect 127.0.0.1:5446
CSL> alter cpt_ora set lsn
alter cpt_ora add table "sch.name = ORADRS" truncate|insert|nolock|table
–查看装载状态
CSL> show cpt_ora load status
–查看装载的表的状态
CSL> show cpt_ora load table all
–查看正在装载的表
CSL> show cpt_ora load table running
–查看装载报错的表
CSL> show cpt_ora load table error
–装载失败的表继续装
CSL> alter cpt_ora add table "sch.name='DMDRS'" continue
<server>dms:1521/prod1</server>
Oracle不进行ddl辅助表导入,也能同步DDL。
文章
阅读量
获赞