OGG 源端和目标端
零、必要条件:
◆必须保证SourceDB是运行在归档模式下。
◆目的 :将SourceDB中相关Schema中的数据同步复制到TargetDB相对应的Sechema中。
◆首先要保持SourceDB, TargetDB相关Schema中的初始数据一致,可以通过Exp/Imp,Rman,冷备等方式实现。
◆双方DB建立GoldenGate用户,赋予DBA权限,用于GoldenGate连接DB。
◆双方DB安装GoldenGate。
◆SourceDB必须开始最小附加日志模式。
一、修改两台主机的host
more /etc/hosts
二、源和目的都设置环境变量
export OGG_HOME=/u01/ogg
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/java/jdk1.8.0_91/jre/lib/amd64/server
export PATH=$OGG_HOME:$PATH
mkdir /u01/ogg
chown -R oracle:oinstall /u01/ogg
三、源端和目标端都安装ORACLE OGG
cd /opt/software/191004_fbo_ggs_Linux_x64_shiphome.zip
chown -R oracle:oinstall /opt/software
su - oracle
cd /opt/software/fbo_ggs_Linux_x64_shiphome/Disk1
export DISPLAY=192.168.137.1:0.0
./runInstaller
四、源端操作--实验的账号(study)--源端目标端创建
1、开始归档
SQL>archive log list
SQL> conn / as sysdba (以DBA身份连接数据库)
SQL> shutdown immediate (立即关闭数据库)
SQL> startup mount (启动实例并加载数据库,但不打开)
SQL> alter database archivelog; (更改数据库为归档模式)
SQL> alter database open; (打开数据库)
SQL> alter system archive log start; (启用自动归档)
SQL>archive log list
SQL>alter system switch logfile(切换日志)
2、打开附加日志
SQL> select d.SUPPLEMENTAL_LOG_DATA_MIN,d.FORCE_LOGGING from v$database d;
SQL> alter database force logging;
SQL> alter database add supplemental log data;
SQL> select d.SUPPLEMENTAL_LOG_DATA_MIN,d.FORCE_LOGGING from v$database d;
3、建立表空间和ogg账号,源端与目标端都需要运行
create tablespace tsp_ogg datafile '/u02/oradata/ORCL/datafile/ogg01.dbf' size 100M autoextend on;
create user ogg identified by ogg default tablespace tsp_ogg;
grant dba to ogg;
GRANT CREATE TABLE,CREATE SEQUENCE TO OGG;
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH;
4、运行支持DDL语句
4.1 如果要让 GoldenGate 支持DDL操作,还需要额外运行几个脚本,这些脚本是OGG带的而不是 Oracle 带的,在 GoldenGate 的安装目录都可以找到,源端与目标端都需要运行,如下:
@marker_setup.sql
@ddl_setup.sql
@role_setup.sql
@ddl_enable.sql
4.2 关闭数据库的recyclebin (仅实施DDL时进行源端配置)
查询当前recyclebin的参数值:
SQL> show parameter recyclebin
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
recyclebin string OFF
SQL>
如不是off,需要关闭recyclebin:
SQL>alter system set recyclebin=off scope=both;
如果需要回退,打开recyclebin的话,可以使用以下语句:
SQL>alter system set recyclebin=off scope=both;
5、创建ogg目录,源端和目标端都需要创建
./ggsci
GGSCI (ora19cstandone) 1>create subdirs
6、配置OGG的全局变量
./ggsci
GGSCI (ora19cstandone) 1>dblogin userid ogg password ogg
GGSCI (ora19cstandone) 2>edit param ./globals
oggschema ogg
7、配置源端MGR管理进程组
./ggsci
GGSCI (ora19cstandone) 1>EDIT PARAMS MGR
PORT 7809
DYNAMICPORTLIST 7800-8000
AUTORESTART EXTRACT *, WAITMINUTES 2, RESETMINUTES 5
PURGEOLDEXTRACTS /u01/ogg/dirdat, USECHECKPOINTS, MINKEEPDAYS 3
GGSCI (ora19cstandone) 1>start mgr
GGSCI (ora19cstandone) 1>info mgr
PORT:指定服务监听端口;默认端口为7809
DYNAMICPORTLIST:动态端口:可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口
AUTORESTART:自动重启参数设置:本处设置表示每2分钟尝试重新启动所有EXTRACT进程;以后5分钟清零。
PURGEOLDEXTRACTS:定期清理trail文件设置:本处设置表示对于超过3天的trail文件进行删除
8、配置extract 抽取进程--进程名不超过8个字符,/u01/ogg/dirdat/sd,sd目录名不超过2个字符
./ggsci
GGSCI (ora19cstandone) 1>EDIT PARAMS EX_SD
EXTRACT EX_SD
SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8)
USERID ogg, PASSWORD ogg
EXTTRAIL /u01/ogg/dirdat/sd
TABLE study.*;
GGSCI (ora19cstandone) 1>ADD EXTRACT EX_SD, TRANLOG, BEGIN NOW
GGSCI (ora19cstandone) 1>ADD EXTTRAIL /u01/ogg/dirdat/sd, EXTRACT EX_SD, MEGABYTES 5
GGSCI (ora19cstandone) 1>start extract EX_SD
9、配置pump 投递进程 192.168.137.36 目标端的IP
./ggsci
GGSCI (ora19cstandone) 1>EDIT PARAMS PORA_SD
EXTRACT PORA_SD
SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8)
PASSTHRU
RMTHOST 192.168.137.36, MGRPORT 7809
RMTTRAIL /u01/ogg/dirdat/pd
TABLE study.*;
GGSCI (ora19cstandone) 1>ADD EXTRACT PORA_SD, EXTTRAILSOURCE /u01/ogg/dirdat/sd
GGSCI (ora19cstandone) 1>ADD RMTTRAIL /u01/ogg/dirdat/pd, EXTRACT PORA_SD, MEGABYTES 5
GGSCI (ora19cstandone) 1>start extract PORA_SD
10、添加表级trandata
./ggsci
GGSCI (ora19cstandone) 1>dblogin userid ogg password ogg
GGSCI (ora19cstandone) 1>add trandata study.*
五、目标端操作----实验的账号(study)--源端目标端创建
1、建立表空间和ogg账号,源端与目标端都需要运行
create tablespace tsp_ogg datafile '/u02/oradata/ORCL/datafile/ogg01.dbf' size 100M autoextend on;
create user ogg identified by ogg default tablespace tsp_ogg;
grant dba to ogg;
GRANT CREATE TABLE,CREATE SEQUENCE TO OGG;
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH;
2、运行支持DDL语句
如果要让 GoldenGate 支持DDL操作,还需要额外运行几个脚本,这些脚本是OGG带的而不是 Oracle 带的,在 GoldenGate 的安装目录都可以找到,源端与目标端都需要运行,如下:
@marker_setup.sql
@ddl_setup.sql
@role_setup.sql
@ddl_enable.sql
3、创建ogg目录,源端和目标端都需要创建
./ggsci
GGSCI (ora19cstandtwo) 1>create subdirs
4、添加checkpoin表
./ggsci
GGSCI (ora19cstandtwo) 1>EDIT PARAMS ./GLOBALS
CHECKPOINTTABLE ogg.ggschkpt
./ggsci
GGSCI (ora19cstandtwo) 1> DBLOGIN USERID ogg, PASSWORD ogg
GGSCI (ora19cstandtwo) 1>ADD CHECKPOINTTABLE
5、配置目标端MGR管理进程组
./ggsci
GGSCI (ora19cstandtwo) 1>EDIT PARAMS MGR
PORT 7809
DYNAMICPORTLIST 7800-8000
AUTORESTART EXTRACT *, WAITMINUTES 2, RESETMINUTES 5
PURGEOLDEXTRACTS /u01/ogg/dirdat, USECHECKPOINTS, MINKEEPDAYS 3
GGSCI (ora19cstandtwo) 1>start mgr
GGSCI (ora19cstandtwo) 1>info mgr
6、配置Replication复制进程组
./ggsci
GGSCI (ora19cstandtwo) 1>EDIT PARAMS ROA_SD
REPLICAT ROA_SD
SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8)
USERID ogg, PASSWORD ogg
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE /u01/ogg/dirrpt/rd.rpt, append
MAP study.*, TARGET study.*;
GGSCI (ora19cstandtwo) 1>add replicat ROA_SD, exttrail /u01/ogg/dirdat/pd
GGSCI (ora19cstandtwo) 1> start REPLICAT ROA_SD
更改exttrail路径--路径错误可以修改
alter replicat ROA_SD, exttrail /u01/ogg/dirdat/pd
六其他操作
1、明文密码加密
2、生产source文件
参考文档:https://www.cnblogs.com/lottu/p/9542681.html