ogg 配置复习(dml>ddl>sequnce)

<strong><span style="color:#ff6666;">dml 配置过程与测试概要</span></strong>

在源端创建专用的表空间、schema、并授权。
create tablespace goldengate datafile 'goldengate01.dbf' size 100m autoextend on;
create user goldengate identified by goldengate default tablespace goldengate temporary tablespace temp;
grant connect to goldengate;
grant alter any table to goldengate;
grant alter session to goldengate;
grant create session to goldengate;
grant flashback any table to goldengate;
grant select any dictionary to goldengate;
grant select any table to goldengate;
grant resource to goldengate;
grant select any transaction to goldengate;

检查源端数据库是否在归档模式,强烈建议在归档模式。
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /arch
Oldest online log sequence     1
Next log sequence to archive   3
Current log sequence           3

端:
添加附加日志来唯一标识一行记录,要在数据库级别打开最小开关。为了减少整个数据库添加附加日志,以及减少归档量,
goldengate建议复制哪些对象,就添加哪些表的附加日志(我们到时候是拿hr用户下的表来实验)。
检查:
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
NO
打开:
SQL> alter database add supplemental log data;
Database altered.
再次查看:
SQL> <span style="color:#ff6666;">select supplemental_log_data_min from v$database;</span>
SUPPLEME
--------
YES
切换日志组,使附加日志开关生效。
SQL> alter system switch logfile;
System altered.
解释:在正常情况下,oracle是用rowid来唯一标示一行记录的,但goldengate这里不够,需要打开附加日志。

安装与配置
GGSCI (gg2) 2><span style="color:#ff6666;"> create subdirs</span>
GGSCI (oratest) 80> view params mgr
port 7839 
DYNAMICPORTLIST 7840-7850
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

启动配置的管理进程
GGSCI (gg2) 4> start mgr
Manager started.

select owner||'.'||table_name table_name,logging                
from dba_tables
where owner='SENDER';

SQL> alter table SENDER.A1 logging;

源端:
配置hr下面表的表级附加日志。配置登陆用户。并检查日志是否添加成功。
以goldengate这个schema登陆数据库。
GGSCI (gg1) 10><span style="color:#ff6666;"> dblogin userid goldengate, password goldengate</span>
Successfully logged into database.

查看:
GGSCI (gg1) 11> info trandata hr.*
add extract ext_demo, tranlog, begin now, threads 1

参数分析:
tranlog:表示数据抓取的来源是数据库的redo数据。
begin now:表示我们在启动这个抓取进程的就去抓取数据。
threads 1:表示我们数据库有多少个redo threads,单实例基本上是1或者不设,rac就自己设置了,配置过RAC的基本都了解

添加源端的队列文件。
GGSCI (gg1) 15> <span style="color:#3333ff;">add extract ext_demo,<span style="background-color: rgb(102, 102, 204);">tranlog</span>, begin now, threads 1</span>
GGSCI (gg1) 15> <span style="color:#ff0000;">add EXTTRAIL ./dirdat/r1, extract ext_demo,megabytes 100</span>
EXTTRAIL added

./dirdat:表示trail文件的目录
r1:trail文件的前缀
extract ext_demo:值指定给那个进程用的(ext_demo)。
megabytes 100:文件大小是100m

编辑我们刚刚在源端配置的抓取进程的参数:
GGSCI (gg1) 16><span style="color:#ff6666;"> edit param ext_demo</span>
EXTRACT EXT_DEMO
userid goldengate,password goldengate
REPORTCOUNT EVERY 1 MINUTES, RATE
numfiles 5000
DISCARDFILE ./dirrpt/ext_demo.dsc,APPEND,MEGABYTES 1000
DISCARDROLLOVER AT 3:00
exttrail ./dirdat/r1,megabytes 100
dynamicresolution
TRANLOGOPTIONS EXCLUDEUSER goldengate
TRANLOGOPTIONS convertucs2clobs  
TRANLOGOPTIONS DBLOGREADER
TABLE SENDER.*;

setenv (ORACLE_SID=ogg):指定oracle的sid,单机环境下可以不设或者bashprofile文件中设置了默认的,也可以不设,但是集群环境就要指定了,这里我们强烈建议指定。
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK):源端数据库的字符集,一定要跟数据库中匹配。
userid goldengate,password goldengate:告诉抓取进程是通过这个用户登陆数据库的。
exttrail ./dirdat/r1,megabytes 100:与我们上面配置抓取进程的设置要一致,路径和大小嘛。
TABLE HR.*:最重要的,告诉抓取进程抓取的是哪些用户哪些表的数据


配置datapump进程,将抓取数据传到目标主机。负责TCPIP通讯。
GGSCI (gg1) 31> <span style="color:#ff0000;">add extract dpe_demo, exttrailsource ./dirdat/r1</span>
EXTRACT added.

输出:目标主机怎么写,也是定义datapumo进程的输出。
GGSCI (gg1) 33><span style="color:#ff6666;"> add rmttrail ./dirdat/t1,EXTRACT dpe_demo,MEGABYTES 100</span>
RMTTRAIL added.

分析:
exttrailsource:抓取进程的来源,因为这个进程不否则到数据库中取抓取,所以抓取的来源
是通过抓取进程已经生成好的trail文件中的内容。

17、
配置datapump进程参数:
GGSCI (oratest) 83> <span style="color:#ff0000;">view params dpe_demo</span>
extract dpe_demo
dynamicresolution
passthru
rmthost 192.168.175.139, mgrport 7840, compress
rmttrail ./dirdat/t1
numfiles 5000
TABLE SENDER.*;

GGSCI (oratest) 84> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPE_DEMO    00:00:00      00:00:00    
EXTRACT     RUNNING     EXT_DEMO    00:00:00      00:00:06    
GGSCI (oratest) 85> 

passthru:上面已经说过不需要连接数据库,所以用这个指令。
rmthost:目标主机的IP地址,就是说我们的rmttrail进程发送到的主机。
mgrport:目标主机管理进程的端口号,我们上面已经配置了。
compress:在传输的过程中启用压缩。
rmttrail:路径和文件与上面配置的一致。
TABLE SENDER.*:上面说过,哪些表的redo信息传输。

目标端:
创建golengate软件使用的schema,并授权一些必要的特殊权限,注意与源端有所区别,保证我们能DML。
create tablespace goldengate datafile 'goldengate01.dbf' size 100m autoextend on;
create user goldengate identified by goldengate default tablespace goldengate temporary tablespace temp;
grant connect to goldengate;
grant alter any table to goldengate;
grant alter session to goldengate;
grant create session to goldengate;
grant flashback any table to goldengate;
grant select any dictionary to goldengate;
grant select any table to goldengate;
grant resource to goldengate;
grant insert any table to goldengate;
grant update any table to goldengate;
grant delete any table to goldengate;
grant create any index to goldengate;
grant select any transaction to goldengate;

目标端:
为replicat进程创建checkpoint表:
GGSCI (gg2) 1> <span style="color:#ff0000;">dblogin userid goldengate,password goldengate</span>
Successfully logged into database.

GGSCI (gg2) 2> <span style="color:#ff0000;">add checkpointtable goldengate.rep_demo_ckpt</span>
Successfully created checkpoint table goldengate.rep_demo_ckpt.

21、
配置目标端replicate进程:
GGSCI (gg2) 3> <span style="color:#ff6666;">add replicat rep_demo,exttrail ./dirdat/t1,checkpointtable goldengate.rep_demo_ckpt</span>
REPLICAT added.

分析:
exttrail:表示这个进程获取数据的来源是什么地方,是我们源端rmttrail所设置过的。

22、
配置目标端replicate参数:
GGSCI (oratest) 13> <span style="color:#ff6666;">view params rep_demo</span>
REPLICAT rep_demo
USERID goldengate,PASSWORD goldengate
REPORTCOUNT EVERY 30 MINUTES, RATE
REPERROR DEFAULT, ABEND
numfiles 5000
--HANDLECOLLISIONS
assumetargetdefs
DISCARDFILE ./dirrpt/rep_demo.dsc, APPEND, MEGABYTES 1000
ALLOWNOOPUPDATES
MAP SENDER.*,TARGET SENDER.*;

分析:重要的地方与上面基本一致,有兴趣可以查查其他参数的信息。
MAP:源端和目标端的对应。

添加表格的时候 先在目标添加,再元端,数据库可以自动同步!

<strong><span style="color:#ff6666;">1.4 启用DDL</span></strong>
SQL>@marker_setup.sql    --提示输入目标schema
SQL>@ddl_setup.sql       --提示输入目标schema,输入initialsetup最后输入yes
SQL>@role_setup.sql
SQL>grant GGS_GGSUSER_ROLE to ddw; --不进行该步赋权后面起进程会报错
SQL>@ddl_enable.sql                --使触发器生效

1.5 清除DDL 同步设置
如果因为DDL 同步出现很多问题,最简单的方法就是卸载之后重建。安装目录下只提供了清除对象的脚本,可以如下操作:
首先要求把所有的GG进程停掉,包括mgr进程

SQL>@ddl_disable.sql  --首先使DDL触发器失效
SQL>@ddl_remove.sql
SQL>@marker_remove.sql

alter table OGG1.A1 logging;
info trandata OGG1.*
add extract ext2,tranlog, begin now, threads 1
add EXTTRAIL ./dirdat/r3, extract ext2,megabytes 100

EXTRACT ext2
userid goldengate,password goldengate
REPORTCOUNT EVERY 1 MINUTES, RATE
numfiles 5000
DISCARDFILE ./dirrpt/ext_demo1.dsc,APPEND,MEGABYTES 1000
DISCARDROLLOVER AT 3:00
exttrail ./dirdat/r2,megabytes 100
ddl include all
TABLE OGG1.*;

add extract dpe_ext2, exttrailsource ./dirdat/r3
add rmttrail ./dirdat/t3,EXTRACT dpe_ext2,MEGABYTES 100

extract dpe_ext2
dynamicresolution
passthru
rmthost 192.168.175.139, mgrport 7840, compress
rmttrail ./dirdat/t3
numfiles 5000
TABLE OGG1.*;

add replicat rep_ext2,exttrail ./dirdat/t3,checkpointtable goldengate.rep_demo_ckpt

REPLICAT rep_ext2
USERID goldengate,PASSWORD goldengate
REPORTCOUNT EVERY 30 MINUTES, RATE
REPERROR DEFAULT, ABEND
numfiles 5000
--HANDLECOLLISIONS
assumetargetdefs
DISCARDFILE ./dirrpt/rep_rep2.dsc, APPEND, MEGABYTES 1000
ALLOWNOOPUPDATES
MAP OGG1.*,TARGET OGG1.*;
<strong><span style="color:#ff6666;">启用序列:</span><span style="color:#ff6666;">目标端:</span></strong>
SQL> @sequence.sql
Please enter the name of a schema for the GoldenGate database objects:
goldengate
Setting schema name to GOLDENGATE
UPDATE_SEQUENCE STATUS:
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
GETSEQFLUSH
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
SEQTRACE
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
REPLICATE_SEQUENCE STATUS:
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
STATUS OF SEQUENCE SUPPORT
--------------------------------------------------------------
SUCCESSFUL installation of Oracle Sequence Replication support
SQL> GRANT EXECUTE on goldengate.replicateSequence to ogg1;
Grant succeeded.
SQL> 

目标端:
SQL> @sequence.sql
Please enter the name of a schema for the GoldenGate database objects:
goldengate
Setting schema name to GOLDENGATE
UPDATE_SEQUENCE STATUS:
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
GETSEQFLUSH
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
SEQTRACE
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
REPLICATE_SEQUENCE STATUS:
Line/pos   Error
---------- -----------------------------------------------------------------
No errors  No errors
STATUS OF SEQUENCE SUPPORT
--------------------------------------------------------------
SUCCESSFUL installation of Oracle Sequence Replication support
SQL> GRANT EXECUTE on goldengate.replicateSequence to ogg1;
Grant succeeded.
SQL> 

复制进程:

传输进程:
GGSCI (oratest) 41> edit params DPE_EXT2

extract dpe_ext2
dynamicresolution
passthru
rmthost 192.168.175.139, mgrport 7840, compress
rmttrail ./dirdat/t3
numfiles 5000
TABLE OGG1.*;
SEQUENCE OGG1.*;
~
"dirprm/dpe_ext2.prm" 8L, 158C written

GGSCI (oratest) 42> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPE_DEMO    00:00:00      00:00:00    
EXTRACT     RUNNING     DPE_EXT2    00:00:00      00:00:04    
EXTRACT     RUNNING     EXT1        00:00:00      00:00:09    
EXTRACT     RUNNING     EXT2        00:00:00      00:00:06    
EXTRACT     RUNNING     EXT_DEMO    00:00:00      00:00:09    

GGSCI (oratest) 43> stop DPE_EXT2

Sending STOP request to EXTRACT DPE_EXT2 ...
Request processed.

GGSCI (oratest) 44> start DPE_EXT2

Sending START request to MANAGER ...
EXTRACT DPE_EXT2 starting
GGSCI (oratest) 45> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPE_DEMO    00:00:00      00:00:00    
EXTRACT     RUNNING     DPE_EXT2    00:00:00      00:00:05    
EXTRACT     RUNNING     EXT1        00:00:00      00:00:00    
EXTRACT     RUNNING     EXT2        00:00:00      00:00:03    
EXTRACT     RUNNING     EXT_DEMO    00:00:00      00:00:09    

GGSCI (oratest) 46> 

抽取进程:
GGSCI (oratest) 48> edit params EXT2

EXTRACT ext2
userid goldengate,password goldengate
REPORTCOUNT EVERY 1 MINUTES, RATE
numfiles 5000
DISCARDFILE ./dirrpt/ext2.dsc,APPEND,MEGABYTES 1000
DISCARDROLLOVER AT 3:00
exttrail ./dirdat/r3,megabytes 100
ddl include all
TRANLOGOPTIONS DBLOGREADER
TABLE OGG1.*;
SEQUENCE OGG1.*;
~
"dirprm/ext2.prm" 11L, 284C written

GGSCI (oratest) 49> stop ext2

Sending STOP request to EXTRACT EXT2 ...
Request processed.

GGSCI (oratest) 50> start ext2

Sending START request to MANAGER ...
EXTRACT EXT2 starting

GGSCI (oratest) 51> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPE_DEMO    00:00:00      00:00:07    
EXTRACT     RUNNING     DPE_EXT2    00:00:00      00:00:02    
EXTRACT     RUNNING     EXT1        00:00:00      00:00:06    
EXTRACT     RUNNING     EXT2        00:00:03      00:00:07    
EXTRACT     RUNNING     EXT_DEMO    00:00:00      00:00:05    

GGSCI (oratest) 52> 

提前修改该文件:
修改文件:
GGSCI (oratest) 79> EDIT PARAMS ./GLOBALS
GGSCHEMA goldengate
~
FLUSH SEQUENCE ogg1.*
<strong><span style="color:#ff0000;">重启更加有效果!</span></strong>


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值