0
点赞
收藏
分享

微信扫一扫

ogg之创建隔离多通道复制

环境说明: oracle11g 单实例-->单实例 ogg 创建多通道复制 主要目的是通过配置源端单独的extract抽取进程和单独的pump传输进程 以及目标端配置单独的replicate复制线程来实现隔离多用户下表的复制, 防止复制数据过程中因为一个复制通道失败影响到另外一个通道复制

直接上干货

一、第一个复制通道

第一个复制通道test1下面的文章已经配置完成,此处不在赘述,观看地址如下: https://blog.51cto.com/wujianwei/12500092

二、配置第二复制通道

2.1、环境说明:

源端和目标端都还是采用 https://blog.51cto.com/wujianwei/12500092 文章中ogg_data表空间和ogg用户, 本博文演示还是基于 https://blog.51cto.com/wujianwei/12500092 中的环境演示。

与 https://blog.51cto.com/wujianwei/12500092博文不同的是 新增测试用户test02和测试表test2, 新增测试抽取进程ext2和 pump2进行 以及新增replicat复制进程rep2

2.2、实现目标说明:

通过配置源端extract抽取进程ext2和传输进程 pump2 两个新进程 以及目标端复制进程rep2,来实现单独针对test2用户通道下表的同步.

2.3、源端配置extract抽取进程ext2和传输进程pump2

源端配置extract抽取进程ext2:

GGSCI (dbstandby08) 1> dblogin userid ogg,password ogg
Successfully logged into database.

GGSCI (dbstandby08) 2> add extract ext2, tranlog, begin now, threads 1
EXTRACT added.

GGSCI (dbstandby08) 3> add exttrail ./dirdat/ext2/et, extract ext2
EXTTRAIL added.

GGSCI (dbstandby08) 4> view params ext2

EXTRACT ext2
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_SID = "orcl")
SETENV (ORACLE_HOME = "/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1")
USERID ogg, PASSWORD ogg
THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 20000
EXTTRAIL ./dirdat/ext2/et
DYNAMICRESOLUTION
DDL INCLUDE ALL
--GETTRUNCATES
TABLE test2.*;

源端服务器系统创建目录ext2目录:

[oracle@dbstandby08 dirdat]$ mkdir ext2
[oracle@dbstandby08 dirdat]$ pwd
/u01/oracle/tools/oracle11g/ogg/dirdat
[oracle@dbstandby08 dirdat]$ ll
total 0
drwxr-xr-x 2 oracle oinstall 86 Nov  9 08:25 ext1
drwxr-xr-x 2 oracle oinstall  6 Nov  9 20:13 ext2

源端配置extract传输进程 pump2:


GGSCI (dbstandby08) 5> add extract pump2,exttrailsource ./dirdat/ext2/et,begin now
EXTRACT added.

GGSCI (dbstandby08) 6>  add rmttrail ./dirdat/ext2/et,extract pump2
RMTTRAIL added.

GGSCI (dbstandby08) 7>  view params pump2

EXTRACT pump2
RMTHOST 10.0.0.9, MGRPORT 7809
RMTTRAIL ./dirdat/ext2/et
PASSTHRU
DYNAMICRESOLUTION
--GETTRUNCATES
TABLE test2.*;

目标服务器系统创建目录ext2目录:

[oracle@oracle dirdat]$ mkdir ext2
[oracle@oracle dirdat]$ pwd
/u01/oracle/tools/oracle11g/ogg/dirdat
[oracle@oracle dirdat]$ ll
total 0
drwxr-xr-x 2 oracle oinstall 86 Nov  9 08:30 ext1
drwxr-xr-x 2 oracle oinstall  6 Nov  9 20:14 ext2

2.4、源端ogg启动 ext2 和pump2进程

GGSCI (dbstandby08) 7> dblogin userid ogg,password ogg
GGSCI (dbstandby08) 8> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXT1        00:00:00      00:00:02    
EXTRACT     STOPPED     EXT2        00:00:00      00:05:35    
EXTRACT     RUNNING     PUMP1       00:00:00      00:00:01    
EXTRACT     STOPPED     PUMP2       00:00:00      00:02:03    


GGSCI (dbstandby08) 9> start ext2

Sending START request to MANAGER ...
EXTRACT EXT2 starting

GGSCI (dbstandby08) 10> start pump2

Sending START request to MANAGER ...
EXTRACT PUMP2 starting

GGSCI (dbstandby08) 11> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXT1        00:00:00      00:00:09    
EXTRACT     RUNNING     EXT2        00:00:00      00:00:07    
EXTRACT     RUNNING     PUMP1       00:00:00      00:00:08    
EXTRACT     RUNNING     PUMP2       00:00:00      00:02:20    

2.5、目标端配置replicat进程rep2

GGSCI (oracle) 1>  dblogin userid ogg,password ogg
Successfully logged into database.

GGSCI (oracle) 2> add replicat rep2, exttrail ./dirdat/ext2/et, checkpointtable ogg.checkpoint
REPLICAT added.

GGSCI (oracle) 4> view params rep2

REPLICAT rep2
setenv (ORACLE_SID=orcl)
SETENV (ORACLE_HOME = "/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1")
USERID ogg,PASSWORD ogg
ASSUMETARGETDEFS
HANDLECOLLISIONS
REPERROR (DEFAULT, DISCARD)
DDLERROR DEFAULT DISCARD
DDLOPTIONS REPORT
DISCARDFILE ./dirrpt/repr2.dsc,append,megabytes 100
MAP test2.*, TARGET test2.*;
ddl include all
ddlerror default ignore retryop maxretries 3 retrydelay 5

2.6、目标端ogg启动relicat进程rep2

GGSCI (oracle) 5> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REP1        00:00:00      00:00:09    
REPLICAT    STOPPED     REP2        00:00:00      00:01:43    

GGSCI (oracle) 6> start rep2

Sending START request to MANAGER ...
REPLICAT REP2 starting

GGSCI (oracle) 7> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REP1        00:00:00      00:00:02    
REPLICAT    RUNNING     REP2        00:00:00      00:00:03    

三、创建测试数据验证同步

源端用户test02创建测试表test2:

create user test2 identified by test2;
 grant connect,resource to test2;
  conn test2/test2
  create table test2 (id number(10) primary key ,name varchar(8));
  insert into test2 values(1,'zhang02');
  insert into test2 values(2,'lisi02');
commit;

目标端验证:

SQL> conn test2/test2
Connected.
SQL> select * from test2;

        ID NAME
---------- --------
         1 zhang02
         2 lisi02

SQL> 

源端用户test02创建测试表test3:

conn test2/test2
create table test3 (id number(10) primary key ,name varchar(8));
insert into test3 values(1,'zhang03');
insert into test3 values(2,'lisi03');
commit;

目标端验证:

SQL> select * from test3;

        ID NAME
---------- --------
         1 zhang03
         2 lisi03
		 

源端truncate用户test02创建测试表test3:


SQL> truncate table test3;

Table truncated.


目标端验证:
SQL> select * from test3;

no rows selected

源端drop掉test3表,目标端验证:


SQL> desc test3;
ERROR:
ORA-04043: object test3 does not exist

到此处 基于ogg oracle11g单实例单向复制 独立的新复制通道test2配置测试完毕

举报

相关推荐

0 条评论