1 , 调整归档模式 --- 归档模式( gg同步基于通过捕获redo日志,以及archive log 日志)
--- 还需要打开补充日志(supplemental log
1.1 如果系统为windows ,需要通过编辑GLOBAS 。 把manager进程添加到windows服务里.
ggsci > edit ./GLOBAS
ggsci > MGRSERVNAME GGMGR
eg: C:\gg> install addservice
然后在cmd 下通过 install help 可以查看命令帮助。 --强烈把manager进程安装安装为windows服务。
2 创建goldengate 管理用户,并授权: ---source ,target 端都需要创建授权。
SQL > create user ggs identified by ggs default tablespace users temporary tablespace temp;
SQL > grant connect,resource ,unlimited tablespace to ggs;
SQL > grant execute on utl_file to ggs;
---- 在source端库还需对用户ggs 受额外权限:
SQL > grant select any dictionary,select any table to ggs;
SQL > grant alter any table, flashback any table to ggs;
SQL > grant execute on DBMS_FLAHBACK to ggs;
---- 在target端ggs 需要授权 insert 、update、delete any table
---- 如果权限不严格,直接DBA 权限的了。
==============================================================================
3 添加source端表级trandata 这trandata 相当于对某张需要同步的表,对其打开最小补充日志(supplemental log ). --(有些数据只开启rowid,redo log 上为显示)
eg: 在scott 下的建一张名为test 表: 然后对其打开trandata(最小补充日志)
GGSCI > dblogin userid ggs,password ggs
GGSCI > add trandata scott.test
4 添加checkpoint 表, 在target端配置 进程replicat 之前,需要在target DB 中创建一个checkpoint 表。这checkpoint表基于 GG checkpoint 文件。(不是必须,推荐使用) --用于失败场景的恢复
eg:GGSCI > edit params ./GLOBALS
GGSCI > dblogin userid ggs,password ggs
GGSCI > add checkpointtable ggs.checkpoint
--- 如果oracle数据库版本为10.2,及以下,需要关闭recyclebin 回收站. 11g 以后,不需要了。
10.1g SQL > alter system set "_recyclebin"= false
10.2g SQL > alter system set recyclebin= OFF;
GLOBALS 参数文件包括: mgrservname,checkpointtable,ggschema,ddltable,markertable,outputfileumask.
================================================================================
-------------windows
下配置 ORACLE TO ORACLE GG 单项复制--------------------
-----------------------------------------source端-------------------------------------------------------
1 一般常用的进程包括: source端: 配置MGR进程、Extract(抽取)进程、Pump进程。
target端: 配置MGR进程、Replicate(复制)进程。
2 配置MGR参数:port -->参数表示MGR进程通信端口号,这个参数必须存在。
:dynamicportlist --> 参数表示manager进程 可以为source端,target端的动态通信动态指定端口。
: autorestart extract -->参数表示自动重启extract 进程组,每次尝试的时间间隔为N秒,最多尝试N次。
: (eg: autorestart extract *,waitminutes 2,retries 5)
3 配置Extract抽取进程参数:创建一个自定义Extract进程组名test,并编辑参数:GGSCI
> edit params test
:dynamicresolution: 指的是goldengatex 动态解析源端的表名,与非动态对应(默认gg会在一个进程启动时,到数据库中查询表的属性,然后创建一个对象记录。这记录可以在内存/磁盘中维护,如果复制很多表,这个过程比较慢)
:setenv命令来设置gg操作系统的环境变量。
: source端,可以通过add extract命令创建Extract 进程。
eg: GGSCI > add extract test,tranlog,begin now
: source端,用add exttrail命令创建本地trail文件,
Extract组进程负责写这部分文件, pump进程负责读它。
eg: GGSIC > add exttrail c:\gg\dirdat\et,extract test --这路径名在开始create subdir时有。
如果已近添加: 使用 alter exttrail '路劲',extract test
:管理Extract进程,可以使用start、stop、add、cleanup、delete、info、kill命令管理此进程。
4 配置Pump投递进程组: --source端一个数据pump进程是 secondary extract 进程组,如果没有pump进程,则由extract进程负责把抽取来的数据投递到target端。 但是pump进程的好处是,当网络故障出现时,可以无差错的继续把数据投递。
:创建pump 进程, GGSCI中,使用edit parmas pump_so 配置一个名为 pump_so 的Pump进程。
eg: GGSCI > edit params pump_so --source
GGSCI > view params pump_so
Pump test
Dynamicresolution
Userid ggs,password
ggs
Setenv(ORACLE_SID=XXX)
Exttrail c:\gg\dirdat\et
Table scott.*;
: 添加Pump 进程
eg:GGSCI > add extract pump_so,exttrailsource c:\gg\dirdat\et
GGSCI > add rmttrail c:\gg\dirdat\pt,extract pump_so --管理pump和extract进程一样。
----------------------------------------------target 端-----------------------------------------------------------
5 根据source端MGR的步骤,配置target端MGR
eg: GGSCI > start pump_so
GGSCI > info all
GGSCI > edit params mgr
GGSCI > view params mgr
port 7500
dynamicportlist 7501-7505
autostart er *
autorestart extract *,waitminutes 2,retries 5
lagreporthours 1
laginfominutes 3
lagcriticalminutes 5
purgeoldextracts c:\gg\dirdat\rt*,usercheckpoints,minkeepdays 3
GGSCI > start mgr
GGSCI > info all
6 配置 Replicat 复制进程组 --负责把抽取的文件,然后引用到目标端。
创建及编译 Replicate 进程组, 自定义一个 Replicate进程组名 repl
eg: GGSCI > edit params repl
GGSCI > view params repl
relicat repl
userid ggs,password ggs
assumetargetdefs
reperror default,discard
discardfile ./dirrpt/repl.dsc,append,megabytes 50
dynamicresolution
map scott.*,target scott.*;
添加进程Replicate组
eg: GGSCI > add replicat repl,exttrail c:\gg\dirdat\pt
GGSCI > start repl
GGSCI > info all
======》 此时,可以验证SCOTT下的DML 测试了。
7 IBM AIX 平台下: sybase - oracle 数据库复制 p74