阅读背景:

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

来源:互联网 

<strong><span>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>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> 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> 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>add extract ext_demo,<span>tranlog</span>, begin now, threads 1</span>
GGSCI (gg1) 15> <span>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> 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>add extract dpe_demo, exttrailsource ./dirdat/r1</span>
EXTRACT added.

输出:目的主机怎样写,也是定义datapumo进程的输出。
GGSCI (gg1) 33><span> add rmttrail ./dirdat/t1,EXTRACT dpe_demo,MEGABYTES 100</span>
RMTTRAIL added.

剖析:
exttrailsource:抓取进程的起源,由于这个进程不否则到数据库中取抓取,所以抓取的起源
是通过抓取进程已生成好的trail文件中的内容。

17、
配置datapump进程参数:
GGSCI (oratest) 83> <span>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>dblogin userid goldengate,password goldengate</span>
Successfully logged into database.

GGSCI (gg2) 2> <span>add checkpointtable goldengate.rep_demo_ckpt</span>
Successfully created checkpoint table goldengate.rep_demo_ckpt.

21、
配置目的端replicate进程:
GGSCI (gg2) 3> <span>add replicat rep_demo,exttrail ./dirdat/t1,checkpointtable goldengate.rep_demo_ckpt</span>
REPLICAT added.

剖析:
exttrail:表现这个进程获得数据的起源是甚么处所,是我们源端rmttrail所设置过的。

22、
配置目的端replicate参数:
GGSCI (oratest) 13> <span>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>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>dml 配置进程与测试概要</span></strong&g




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: