1.系统环境
操作系统:Centos 7
数据库:oracle11g
2.安装前准备
(1)root用户下创建dds用户
useradd -g oinstall -G oinstall,dba,oper dds
passwd dds
(2)设置dds环境变量
cp /home/oracle/.bash_profile /home/dds/
chown -R dds:oinstall /home/dds/
登录到dds用户,修改和添加.bash_profile文件参数,添加(NLS_LANG若存在就不加第一行)
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export SHLIB_PATH=$ORACLE_HOME/lib
export LIBPATH=$ORACLE_HOME/lib:
export DDS_HOME=/data/dds/bin
export DDS_DATA=/data/dds/ds
export PATH=$PATH:$DDS_DATA:$DDS_HOME:.
ulimit -c unlimited
source .bash_profile
(3)创建目录
mkdir -p /data/dds/ds
chown -R dds:oinstall /data/dds
chmod -R 775 /data/dds
上传压缩包至:/data/dds
dds用户解压
tar -xvf dds2.13.9.9690.P18.ora11g.linux64.tar.bz2
源端:在创建的dds用户下执行
sqlplus / as sysdba
若报错:
解决参考:解决ORA-12705无法访问NLS问题_51CTO博客_ora12705 无法访问nls数据文件
进入数据库:执行
@/data/dds/tools/setup-s.sql;
create or replace view XKCCLE as select * from sys.x$kccle;
create or replace view XKCCCP as select * from sys.x$kcccp;
alter database force logging;
alter database add supplemental log data;
alter database add supplemental log data (primary key, unique
index) columns;
create user dds1 identified by dds1;
create role dds_role identified by dds_role;
grant connect to dds_role;
grant lock any table to dds_role;
grant select any table to dds_role;
grant select any dictionary to dds_role;
grant alter system to dds_role;
grant execute on dbms_flashback to dds_role;
grant execute any type to dds_role;
grant dds_role to dds1;
grant connect to dds_role;
grant connect to dds1;
grant lock any table to dds1;
grant select any table to dds1;
grant select any dictionary to dds1;
grant alter system to dds1;
grant execute on dbms_flashback to dds1;
grant execute any type to dds1;
alter user dds1 quota 2m on users;
create table dds1.ddstemp( f1 int );
--alter system set "_log_parallelism_max"=1 scope = spfile;
重启实例:
sqlplus / as sysdba
shutdown immediate
startup
3.源端生成配置软件
cd DDS_HOME
./dds_conf
配置启动软件参数的文件
vi $DDS_DATA/config/sys.cfg
LOGIN dds1/dds1
SOURCE_ID 0
INTERVAL 2
SZSHM 8388608
#check_rac 1 --rac环境必须添加
COMM_PARAM TCP:192.168.40.11:8203
WEB_PORT 8303
AuthStr dds1/dds1
REDO_ARCH 50 (MB)
DISK_REMAIN 32 (MB)
WEB_REFRESH 600 (Seconds)
ALARM_COMM_DELAY 60 (Seconds)
ALARM_DIFF_OBJ 10 (Seconds)
LEN_LOG_BUF 5242880
LEN_LOG_ADD 0
Sequence 1
Procedure 1
View 1
MView 1
Privilege 1
Synonym 1
Index 1
Trigger 1
redoINocfs 0
dbfInASM 0
dml_mode rowid
merge_dtf 0 (First Sync, 1: merge multi-files into 1 file)
max_lob_rows 128
delete_arch 0
#no_tbs tbs1,tbs2
alarm_comm_dtf 1000
alarm_merge_dtf 1000
alarm_track_delay 300 (Seconds)
large_part_num 20
large_part_blk 20000
lob_piece_len 8388608
szLog 104857600
DDS_NAME source
# no_user dds/dds2
#LogPath1 /arch1 --非归档模式不用
#LogPath2 /arch2 --非归档模式不用
#select name from v$archived_log;
CONFIG1 665694f4
CONFIG2 4ea7afe5a2fa630ef92d1eda01ec703a883599fc6a64a371796311b71f6926db
编辑目标端地址参数的文件
vim $DDS_DATA/config/tgt.cfg
#tgtID NextSendNo NextSaveNo Communication-Param Web-Comm-Param TcpFlow(KB/s)
# 1 0 0 TCP 192.168.1.1:8204 192.168.1.1:8304 0
1 0 0 TCP 192.168.40.111:8204 192.168.40.111:8304
编辑同步对象配置文件
cat $DDS_DATA/config/map.cfg
# define the mapping
# Fields description
# 1. map_id ( must>0, if mapid<=0, means deleted )
# 2. tgt_id
# 3. map_type: [ db | user | table | group ]
# 4. state [ stop | run | sync ]
# 5. source object
# If map_type='db', It's user names which not to be exported
# If map_type='user', It's user name, EX: testuser
# if map_type='table', It's user and table name, EX: usr1.t1
# if map_type='group', It's Group-Number
# if map_type='users', It's users' name
# if map_type='tables', It's tables' name
# 6. Options, Support options:
# TNS=tns_val
# EX
#--------------------------------
# 1 1,2 USER STOP user1
# 2 1,2 USER STOP user2 tns=@db0a
# 3 1 TABLE STOP user2.table001
# 4 1 GROUP STOP 1
# 5 1 USERS STOP hs_%%
# 6 1,2 TABLES STOP acct.acct_j%%
# 7 1,2 TABLES STOP bank%%.jour_
# 8 1,2 DB STOP %SYS%,DDS%,XDB,DBSNMP,OUTLN,ANONYMOUS,MDDATA,SCOTT
#--------------------------------
1 1 USER STOP dds1
2 1 USER STOP HS_HIS
添加 sn.txt license 到$DDS_DATA/config 目录文件
源端配置完成。
4.目标端配置
(1)root用户下创建dds用户
useradd -g oinstall -G dba,oper -s /bin/bash -d /home/ddszb -m ddszb
passwd ddszb
(2)设置dds环境变量
cp /home/oracle/.bash_profile /home/ddszb/
chown -R ddszb:oinstall /home/ddszb/
登录到dds用户,修改和添加.bash_profile文件参数,添加(NLS_LANG若存在就不加第一行)
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export SHLIB_PATH=$ORACLE_HOME/lib
export LIBPATH=$ORACLE_HOME/lib:
export DDS_HOME=/data/ddszb/bin
export DDS_DATA=/data/ddszb/dt
export PATH=$PATH:$DDS_DATA:$DDS_HOME:.
ulimit -c unlimited
source .bash_profile
(3)在ddszb用户下执行创建工作目录
mkdir -p /data/ddszb/dt
chown -R dds:oinstall /data/ddszb
chmod -R 775 /data/ddszb
上传压缩包至:/data/ddszb
(4)目标端:在新创建的 ddszb 用户下执行
sqlplus / as sysdba
show user ;
create user dds identified by dds default tablespace users;
grant dba to dds;
grant connect,resource to dds;
grant update on sys.seq$ to dds;
create user dds2 identified by dds2 default tablespace users;
Grant dba to dds2;
grant all on sys.seq$ to dds2;
create directory dds_lobdir as '/dds/lobdir';
grant read,write on directory dds_lobdir to dds2;
(5)目标端生成配置软件
cd $DDS_HOME
./dds_conf
编辑系统配置文件
vim /data/ddszb/dt/config/tgt_sys.cfg
LOGIN dds2/dds2
MULTI_SOURCE 1 (1 to 32)
DELAY 0
AUDIT 0
#check_rac 1 --不是rac不添加
COMM_PARAM TCP:192.168.40.111:8204
AuthStr dds2/dds2
szLog 104857600
RM_BLK_CNT 128
SOURCE TCP:192.168.40.11:8203
SOURCE_WEB_PORT 8303
WEB_PORT 8304
DDS_NAME target
PACKBAK 5 (Hours)
ReserveTableCNT 50
dbfInASM 1
dml_mode rowid
load_user 0
diff_endian 0
#restart_mem 80 (MB)
#restart_dtf 300 (DTFs)
#dds_rb_hours 0 (Hours)
DISK_REMAIN 512 (MB)
SPLIT_TXN 0 (Commit each DTF)
trace_rowid 0
编辑目标系统配置文件
vim /data/ddszb/dt/config/tgt_map.cfg
#MapTYPE SourceOBJ TargetOBJ
#EX:
#USER user1 user1_tgt
#TABLE usr1."abc" usr1."xyz"
#
USER dds1 dds2
添加 sn.txt license 到$DDS_DATA/config 目录文件
(6)启动软件
源端:
cd $DDS_DATA
ddstart
目标端:
cd $DDS_DATA
ddstart
(7)数据同步
源端:
map_start
(8)常用命令
源端:
ddstart 启动软件
ddstop 关闭软件
vshms -m 查看同步用户列表
vshms -o 查看同步对象
vshms -t 查看同步到目标端的ip和程序端口
vshms -p 查看软件运行状态
vshms -c 查看源端软件配置
vs 查看实时日志
dds_pweb -s 启动源端web监控
dds_pweb -q 关闭源端web监控
目标端
ddstart 启动软件
ddstop 关闭软件
vshms -p 查看软件运行状态
vshms -c 查看源端软件配置
vt 查看实时日志
dds_pweb -t 启动目标端web监控
dds_pweb -q 关闭目标端web监控