
环境准备
源库 | 项目 | 目标库 |
Oel7.6 | 系统 | Oel7.6 |
Oracle 11G - 11.2.0.1.0 | 数据库 | Oracle 11G - 11.2.0.1.0 |
GoldenGate-18.1.0.0.0 | GoldenGate | GoldenGate-18.1.0.0.0 |
192.168.33.1 | 网络 | 192.168.33.2 |
GoldenGate 软件安装
创建ogg安装路径
[root@localhost /]# mkdir -p /ogg //安装在根目录下/ogg [root@localhost /]# chown -R oracle:oinstall /ogg //使用oracle用户和oinstall组 |
配置环境变量
[localhost:oracle:/home/oracle]$vim .bash_profile
# .bash_profile
# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH export PS1='[\h:\u:$PWD]$' export ORACLE_BASE=/oracle/11.2.0/db export ORACLE_HOME=$ORACLE_BASE/dbhome export ORACLE_SID=ogg1 export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch export TNS_ADMIN=$ORACLE_HOME/network/admin export ORACLE_TERM=vt100 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS" export ORA_NLS11=$ORACLE_HOME/nls/data export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/lib export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/ctx/lib export CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/JRE/lib/rt.jar:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export TEMP=/tmp export TMP=/tmp export TMPDIR=/tmp umask 022 //////默认使用Oracle的环境变量即可////////// |
安装GoldenGate
[root@localhost /]# chmod 777 -R 181000_fbo_ggs_Linux_x64_shiphome.zip //root [oracle@localhost:/soft]$unzip -d 181000_fbo_ggs_Linux_x64_shiphome.zip /soft //oracle [oracle@localhost]$cd /soft/fbo_ggs_Linux_x64_shiphome/Disk1 [oracle@localhost Disk1]$ xhost + [oracle@localhost Disk1]$ ./runInstaller |


选中Oracle 11G版本的数据库,点下一步;


选择安装路劲,然后点下一步;

点击最下边的install;

等待安装结束即可。

至此ogg安装结束。
GoldenGate 同步配置
数据库操作
在源库和目标库创建ogg需要的表空间


create tablespace tsp_ogg datafile '/oracle/11.2.0/db/oradata/ogg1/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; |
打开数据库归档功能,启用force log和supplemental log
alter system set log_archive_dest_1 = 'LOCATION=/data/arch' scope = spfile; //指定归档路径 shutdown immediate; //关闭数据库 startup mount; //启动到mount状态 alter database archivelog; //开启归档 alter database open; //打开数据库 alter database force logging; //开启force logging alter database add SUPPLEMENTAL log data; //开启SUPPLEMENTAL log |
在ogg安装目录下运行sqlplus / as sysdba 跑ogg所需脚本。

su - oracle cd /ogg sqlplus / as sysdba @marker_setup.sql @ddl_setup.sql @role_setup.sql @ddl_enable.sql |
注:不在ogg安装目录下时第一个脚本会卡死。
OGG操作
创建ogg工作目录(源端和目标端)
在OGG安装目录下运行./ggsci
执行create subdirs命令

su - oracle cd /ogg ./ggsci create subdirs |
在目标端添加checkpoin表,证数据的同步性。(表名区分大小写)

edit params ./GLOBALS //编辑 添加 CHECKPOINTTABLE ogg.ggschkpt 保存退出 view params ./GLOBALS //查看 DBLOGIN USERID ogg, PASSWORD ogg //登入ogg管理用户 ADD CHECKPOINTTABLE //初始化检查表 |
配置ogg主进程MGR(源端和目标端):

su - oracle cd /ogg ./ggsci edit params mgr //编辑并添加以下参数 PORT 7809 DYNAMICPORTLIST 7800-8000 AUTORESTART EXTRACT *, WAITMINUTES 2, RESETMINUTES 5 PURGEOLDEXTRACTS /data/ogg/dirdat, USECHECKPOINTS, MINKEEPDAYS 3 保存退出 start mgr //启动mgr进程 info mgr //查看mgr信息 |
配置源端Extract 进程:

edit params TEXT_1 //添加Extract配置 EXTRACT TEXT_1 //名称 SETENV (ORACLE_SID="ogg1") //数据库的SID SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8) //数据库字符集 USERID ogg,PASSWORD ogg //管理员用户名和密码 EXTTRAIL /ogg/dirdat/aa //导出文件的存放位置 DDL INCLUDE ALL DDLOPTIONS ADDTRANDATA REPORT //支持DDL操作 table yar2.*; //同步yar2用户下的所有表 |

edit params ./GLOBALS //编辑添加DDL同步用户 GGSCHEMA OGG //添加一行即可 |
源端添加extract组并创建本地trail文件:



ADD EXTRACT text_1, TRANLOG, BEGIN NOW ADD EXTTRAIL /ogg/dirdat/aa, EXTRACT text_1, MEGABYTES 5 start text_1 //启动extract进程 |
配置pump进程:

edit params pump_1 //添加Extract配置 EXTRACT pump_1 //名称 SETENV (ORACLE_SID="ogg1") //数据库的SID SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8) //数据库字符集 PASSTHRU RMTHOST 192.168.33.2, MGRPORT 7809 //目标库IP和端口 RMTTRAIL /ogg/dirdat/pu //导出目录 table yar2.*; //同步yar2用户下的所有表 ADD EXTRACT pump_1, EXTTRAILSOURCE /ogg/dirdat/aa //指定本地trail文件 ADD RMTTRAIL /data/ogg/dirdat/pa, EXTRACT PORA_1, MEGABYTES 5 //指定远程trail文件 start pump_1 //启动Pump进程 |
至此源端进程配置结束,使用info all命令查看进程状态为RUNNING即表示正常运行。

目标端Replicat进程配置:


edit params repl_1 //编辑replicat进程 REPLICAT repl_1 //名称 SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8) //字符集 USERID ogg, PASSWORD ogg //登录ogg管理用户 HANDLECOLLISIONS DISCARDFILE /ogg/dirrpt/RORA_aa.rpt, append //指定接收文件 MAP yar2.*, TARGET yar2.*; //同步用户 DDL INCLUDE MAPPED DDLOPTIONS REPORT //DDL操作配置 add replicat repl_1, exttrail /ogg/dirdat/pa //添加replicat进程 start repl_1 //启动replicat进程 info all //查看进程状态 |
至此OGG各项配置均已完成。
OGG环境测试
使用源库的yar2用户创建表,并添加数据。
CREATE TABLE T1( ID NUMBER(10),NAME VARCHAR2(20) ); insert into T1(ID,NAME) values(1,'Yar'); commit; |
目标库同步即可。




