GoldenGate安装(源端和目标端)
一、环境准备
项目 源环境 目标环境
操作系统 Centos6.6 X86_64 Centos6.6 X86_64
主机名 don11 don22
IP地址 192.168.123.122 192.168.123.121
数据库及版本 ORACLE 11.2.0.4.0 ORACLE 11.2.0.4.0
数据库字符集 ZHS16GBK ZHS16GBK
ORACLE SID jm jm
Goldengate用户 ogg ogg
Goldengate 版本 12.3.0.1.4 12.3.0.1.4
二、OGG安装
unzip 123014_fbo_ggs_Linux_x64_shiphome.zip
cd /home/oracle/fbo_ggs_Linux_x64_shiphome/Disk1
./runinstaller
选择数据库版本Oracle11g或者Oracle12c
选择GoldenGate安装目录和Oracle数据库的安装目录
配置环境变量
源库和目标库均增加如下信息
vi ~/.bash_profile
export GG_HOME=/u01/app/ogg
export PATH=HOME/bin:GG_HOME
alias ggsci='cd GG_HOME;ggsci'
#export LD_LIBRARY_PATH=ORACLE_HOME/lie:/lib:/usr/lib
三、数据库参数配置调整(在源端和目标端)
1、数据库处于归档模式
[oracle@enmo1 ogg]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sun May 7 21:32:09 2017
Copyright © 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 541068408 bytes
Database Buffers 281018368 bytes
Redo Buffers 6586368 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
2、打开强制生成日志
SQL> select force_logging from v$database;
FOR
NO
SQL> alter database force logging;
Database altered.
SQL> select force_logging from v$database;
FOR
YES
3、打开补充日志
开启最小附加日志(DDL的话好开启数据库级别)
在正常情况下,oracle是用rowid来唯一标示一行记录的,但对于goldengate来说是不够的,需要开附加日志。
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
NO
SQL> alter database add supplemental log data;
Database altered.
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
YES
千万不要小看这步日志设置,其实在GoldenGate的配置中,这步是最容易出错的环节。如果开启DDL复制做冗灾备份,最好直接在数据库级别打开补全日志:
SQL> alter database add supplemental log data (primary key,unique,foreign key) columns;
检查一下,全是YES就OK了(整个数据库级别补全)
SQL> select supplemental_log_data_min,
supplemental_log_data_pk,supplemental_log_data_ui from v$database;
/****如果启用DDL支持设置(只需在源库设置)**************/
关闭回收站:
SQL> show parameter recyclebin;
NAME TYPE VALUE
recyclebin string on
SQL> alter system set recyclebin=off scope=spfile; ##如果是10g,需要重启数据库,这里是11g,无需重启
System altered.
/******************/
4、修改参数
这个参数在11.2.0.4和12.1.0.2以后才出现。目的是为了更好的监视你是用的OGG,所以把OGG绑定到DB中,只有设置了改参数为true,才能使用OGG的一些功能。
SQL> show parameter enable_goldengate;
NAME TYPE VALUE
enable_goldengate_replication boolean FALSE
SQL> alter system set enable_goldengate_replication=true;
System altered.
SQL> show parameter enable_goldengate;
NAME TYPE VALUE
enable_goldengate_replication boolean TRUE
5、创建goldengate数据库用户
①创建一个专属于OGG的表空间(非必须)
SQL> create tablespace ts_ogg datafile’/u01/app/oracle/oradata/jm/ts_ogg.dbf’ size 200M;
Tablespace created.
SQL> create user ogg identified by oracle default tablespace ts_ogg;
User created.
②授予用户相关权限
grant dba to ogg;
grant create session,alter session to ogg;
grant select any dictionary to ogg;
grant flashback any table to ogg;
grant alter any table to ogg;
grant select any table to ogg;
grant execute on dbms_flashback to ogg;
Oracle Goldengate和TDE的配置**
抽取模式为经典模式, 集成模式不需要配置
源库操作
Oracle数据库部分
该prvtclkm.plb文件创建DBMS_INTERNAL_CLKMPL / SQL包,使Oracle GoldenGate能够从Oracle数据库提取加密数据
sqlplus sys/as sysdba
@/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/prvtclkm.plb
或@?/rdbms/admin/prvtclkm.plb
或@?prvtclkm.plb
GRANT EXECUTE ON DBMS_INTERNAL_CLKM TO ogg;
创建钱夹和主密钥(源库和目标库都操作)
修改sqlnet.ora文件,添加以下内容
WALLET_LOCATION=
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY =/u01/app/oracle/admin/jm/wallet)
)
)
登录数据库创建主密钥(源库和目标库都操作)
sqlplus sys/as sysdba
alter system set encryption key identified by oracle1234;
创建共享秘钥创建一个ORACLEGG在钱包中命名的条目。必须是此密钥的名称。此密钥的密码必须是商定的共享密码(源库操作)
cd ORACLE_SID/wallet
mkstore -wrl ./ -createEntry ORACLE.SECURITY.CL.ENCRYPTION.ORACLEGG
mkstore -wrl . -list(查看主秘钥)
SQL> alter system set encryption wallet close identified by oracle1234;
System altered.
SQL> alter system set encryption wallet open identified by oracle1234;
System altered.
通过重启数据库实例来代替钱夹的关闭和打开
shu immediate
startup
SQL> alter system switch logfile;
使用BLOWFISH给ORACLEOGG加密,生成密钥
GGSCI (don11 as ogg@jm) 9> ENCRYPT PASSWORD oracle1234 BLOWFISH ENCRYPTKEY DEFAULT
Using Blowfish encryption with DEFAULT key.
Encrypted password: AACAAAAAAAAAAAKAIEJANCHETDCCSJLCVCRGSJBFZCQBWIPD
Algorithm used: BLOWFISH
在抽取进程的参数文件里配置
ENCRYPT PASSWORD schina1234 BLOWFISH ENCRYPTKEY DEFAULT
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAKAIEJANCHETDCCSJLCVCRGSJBFZCQBWIPD ENCRYPTKEY DEFAULT
#####################示例##################
GGSCI (dbdream) 10> EDIT PARAMS EORA_1
加入以下内容
EXTRACT EORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD oracle
EXTTRAIL /u01/app/ogg/dirdat/aa
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAKAIEJANCHETDCCSJLCVCRGSJBFZCQBWIPD ENCRYPTKEY DEFAULT
FETCHOPTIONS, USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW REPORT
STATOPTIONS REPORTFETCH
WARNLONGTRANS 1H, CHECKINTERVAL 5M
TABLE t.*;
SQL> alter system set encryption wallet close identified by oracle1234;
System altered.
SQL> alter system set encryption wallet open identified by oracle1234;
System altered.
#####################示例##################
*Oracle Goldengate和TDE的配置end
六、配置goldengate
创建OGG的管理目录(源端和目标端)
创建OGG的管理目录
在正式配置OGG之前,首先需要创建OGG的管理目录,源端和目标端都需要创建,登录OGG,只需要执行create subdirs命令就可以了。
GGSCI(ogg1.zyu.com) 2> create subdirs
Creatingsubdirectories under current directory /u01/ogg/12.1.2
Parameterfiles /u01/ogg/12.1.2/dirprm: already exists
Reportfiles /u01/ogg/12.1.2/dirrpt: already exists
Checkpointfiles /u01/ogg/12.1.2/dirchk: already exists
Processstatus files /u01/ogg/12.1.2/dirpcs: already exists
SQLscript files /u01/ogg/12.1.2/dirsql: already exists
Databasedefinitions files /u01/ogg/12.1.2/dirdef: already exists
Extractdata files /u01/ogg/12.1.2/dirdat: already exists
Temporaryfiles /u01/ogg/12.1.2/dirtmp: already exists
Credentialstore files /u01/ogg/12.1.2/dircrd: already exists
Masterkeywallet files /u01/ogg/12.1.2/dirwlt: already exists
Dumpfiles /u01/ogg/12.1.2/dirdmp: already exists
主要目录介绍:
dirprm:存放参数文件
dirrpt:存放进程报告文件
dirchk:存放检查点(Checkpoint)文件
dirpcs:存放进程状态文件
dirsql:存放SQL脚本文件
dirdef:通过DEFGEN工具生成的源或目标的数据定义文件
dirdat:存放Trail与Extract文件
dirtmp:当事务所需要的内存超过已分配内存时,缺省存储于此
dircrd:证书存储文件
dirwlt:Masterkey wallet files
dirdmp:Dump files
运行OGG支持DDL脚本(如果只同步dml可忽略,抽取模式为经典模式, 集成模式不需要配置)
如果要让OGG支持DDL操作,还需要额外运行几个脚本,这些脚本是OGG带的而不是ORACLE带的,在OGG的安装目录都可以找到,如果在OGG的安装目录登录数据库,可以直接@加脚本的名字,源端与目标端都需要运行,如下:
sqlplus / as sysdba
@marker_setup.sql
@ddl_setup.sql
@role_setup.sql
@ddl_enable.sql
如果没有在OGG的安装目录登录数据库,需要指定脚本的位置,比如我的OGG安装目录为/ogg。
sqlplus / as sysdba
@/ogg/marker_setup.sql
@/ogg/ddl_setup.sql
@/ogg/role_setup.sql
@/ogg/ddl_enable.sql
安装性能优化包。
SQL> @?/rdbms/admin/dbmspool
ddl_pin将触发器用到的plsql包放进内存中
cd $GG_HOME
SQL> @ddl_pin ogg /ogg用户/
OGG复制流程
之前所做的只是准备工作,现在就可以正式配置OGG了,在配置OGG之前,先看下OGG的复制流程,OGG和其他传统复制软件一样,也是通过源端捕获/挖掘ORACLE的日志信息,
源端创建用户t,创建表td
create table td as select * from scott.dept;
创建主键
alter table td add constraint PK_TD primary key (DEPTNO);
目标端创建用户t,创建表td
create table td as select * from scott.dept where 2=1;
alter table td add constraint PK_TD primary key (DEPTNO);
源端添加表级TRANDATA
添加表级的trandata可以理解为需要将哪些用户的哪些表和目标库同步,其实也是添加表级的supplemental log,但是只有上文打开的minimal supplemental log后,这个才生效。
使用第7节建立的OGG用户从OGG登录源端数据库。
dblogin userid ogg,password oracle
add trandata t.td
add trandata t.t1
add trandata t.*
成功添加表级TRANDATA后,可以通过INFO命令查看哪些表被添加了TRANDATA.
INFO TRANDATA t.*
配置MGR管理进程
源端:
GGSCI (dbdream) 8> EDIT PARAMS MGR
加入以下两行内容
PORT 7809
PURGEOLDEXTRACTS /u01/app/ogg/dirdat, USECHECKPOINTS
ACCESSRULE, PROG *, IPADDR 192.168.123.122, ALLOW
配置源端./GLOBALS
GGSCI (node1) > edit params ./GLOBALS
GGSCHEMA ogg
目标端:
GGSCI (stream) 2> EDIT PARAMS MGR
加入以下内容
PORT 7809
PURGEOLDEXTRACTS /u01/app/ogg/dirdat, USECHECKPOINTS
ACCESSRULE, PROG *, IPADDR 192.168.123.121, ALLOW
参数说明:
PORT 7809:OGG管理进程监控端口。
PURGEOLDEXTRACTS:清除不需要的trail文件。
/ogg/dirdat:trail文件存放位置。
USECHECKPOINTS:使用检查点队列。
本实验只用到上述参数,MGR其他参数详见下表,摘自OGG官方文档
PURGEOLDEXTRACTS /u01/app/ogg/dirdat, USECHECKPOINTS
七、数据初始化
配置初始化数据进程
由于在创建测试表的时候,源端的测试表有数据,而目标端的测试表只有结构,没有数据,所以需要初始化目标端的数据,所谓初始化,就是让目标端的数据和源端的数据在这个时间点是一模一样的,所以初始化工作并不需要一定使用OGG,也可以使用EXP、EXPDP、SQLLOAD等其他工具,本文主要介绍如何使用OGG进行数据初始化,下面在源端配置捕获进程EINI_1。
GGSCI (dbdream) 11> ADD EXTRACT EINI_1, SOURCEISTABLE
由于只是添加了捕获进程EINI_1,还没有进行配置和启动这个进程,所以现在的状态是STOPPED状态。
源端
配置初始化数据进程
配置捕获进程EINI_1 EXTRACT
源端编辑捕获进程EINI_1。
GGSCI (dbdream) 13> EDIT PARAMS EINI_1
加入以下内容
EXTRACT EINI_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD oracle
RMTHOST 192.168.123.122, MGRPORT 7809
RMTTASK REPLICAT, GROUP RINI_1
TABLE t.t1;
TABLE t.td;
参数介绍:
EXTRACT EINI_1:说明这是EXTRACT进程,名字是EINI_1
SETENV:环境变量,一定要设置和数据库字符集一样,否则可能会乱码
USERID:数据库OGG用户
PASSWORD:数据库用户OGG的密码
RMTHOST:目标端地址,如果在/etc/hosts文件里已经设置解析,可以写主机名
MGRPORT:目标端MGR管理进程监听的端口
RMTTASK REPLICAT:目标端REPLICAT应用进程的组和名字
TABLE:源端要初始化数据的表的名字
编辑好捕获进程EINI_1后,还需要在目标端配置REPLICAT应用进程,名字要和源端的捕获进程EINI_1里面RMTTASK REPLICAT参数配置的一样,也就是还需要在目标端配置RMTTASK REPLICAT RINI_1。
配置目标端REPLICAT进程
目标端
REPLICAT进程配置
add replicat RINI_1,specialrun
GGSCI (don22) 7> EDIT PARAMS RINI_1
加入以下内容
REPLICAT RINI_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
ASSUMETARGETDEFS
USERID ogg, PASSWORD oracle
DISCARDFILE /u01/app/ogg/dirrpt/RINIaa.dsc, PURGE
MAP t., TARGET t.;
参数介绍:
REPLICAT RINI_1:说明这是REPLICAT应用进程,名字叫RINI_1
SETENV:语言变量,同捕获进程EINI_1
ASSUMETARGETDEFS:告诉OGG目标端和源端需要同步的表的结构完全一致,不需要OGG去检查表的结构,包括表名、字段名、字段类型、字段长度等,如果目标端和源端同步的表的结构不一样,需要使用SOURCEDEFS参数,详见OGG官方文档。
USERID、PASSWORD:同捕获进程EINI_1参数介绍
DISCARDFILE:错误信息存放位置及命名规则
MAP:源端捕获的表的名字
TARGET:目标端同步的表的名字,可以不在同一SCHEMA。
初始化数据
配置好目标端的应用进程RINI_1后,就可以启动源端的捕获进程进行捕获数据了,而目标端的应用进程RINI_1不需要手动去启动,也就是说目标端RINI_1进程不需要管。
GGSCI (don22) 14> START EXTRACT EINI_1
Sending START request to MANAGER …
EXTRACT EINI_1 starting
注意:Ogg 启动初始化进程,report 初始化进程提示OGG-01201 Error reported by MGR : Access denied解决方法
ACCESSRULE, PROG *, IPADDR 192.168.123.121, ALLOW
启动源端的捕获进程EINI_1后,正常情况下(如果配置没问题),源端的数据已经传送到目标端了,可以通过VIEW命令查看源端捕获进程EINI_1的工作状态。
GGSCI (dbdream) 11> VIEW REPORT EINI_1
如果配置正确,会看到上面的日志,日志会告诉你在目标端SCOTT.EMP_OGG表INSERT了14条记录,SCOTT.DEPT_OGG表INSERT了4条记录。如果在上面日志的最后部分出现ERROR,就需要去检查OGG的安装目录下的ggserr.log日志,这个日志相当于数据库的告警日志。
验证初始化数据
登录目标端数据库,查看初始化是否成功
select * from td;
select * from t1;
可以看到初始化是正确的。初始化之后,上文提到的初始化进程(EINI_1、RINI_1)自动停止,因为通常情况下初始化数据工作只会做一次。可以通过INFO命令查看进程的状态。
源端:
GGSCI (dbdream) 9> INFO EXTRACT EINI_1
EXTRACT EINI_1 Last Started 2012-11-14 02:03 Status STOPPED
Checkpoint Lag Not Available
Log Read Checkpoint Table SCOTT.DEPT_OGG
2012-11-14 02:03:22 Record 4
Task SOURCEISTABLE
目标端:
GGSCI (stream) 1> INFO REPLICAT RINI_1
REPLICAT RINI_1 Initialized 2012-11-14 20:30 Status STOPPED
Checkpoint Lag 00:00:00 (updated 03:16:37 ago)
Log Read Checkpoint Not Available
Task SPECIALRUN
八、开始配置数据同步
源端和目标端配置OGG的检查点
此步骤不是必须的,但是为了让OGG网络中断、服务器宕机、掉电等在突发情况也能正确断点续传,ORACLE建议配置OGG的检查点队列。
源端和目标端都需配置。
GGSCI (don11) 2> EDIT PARAMS ./GLOBALS
CHECKPOINTTABLE ogg.ggschkpt
这就告诉OGG检查点存放到OGG用户下的GGSCHKPT表中,但是还需要使用OGG用户登录数据库,创建检查点表,此时需要退出OGG,重新登录,否则可能会遇到下面的错误。
GGSCI (stream) 4> ADD CHECKPOINTTABLE
ERROR: Missing checkpoint table specification.
退出OGG,重新登录,并使用OGG用户登录数据库,源端和目标端都需要执行。
GGSCI (stream) 5> exit
[ogg@stream ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright © 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (stream) 1> dblogin userid ogg,password oracle
Successfully logged into database.
只需要执行ADD CHECKPOINTTABLE命令,OGG会自动在ORACLE的OGG用户下创建检查点,源端和目标端都需要执行。
GGSCI (stream) 2> ADD CHECKPOINTTABLE
No checkpoint table specified, using GLOBALS specification (ogg.ggschkpt)…
Successfully created checkpoint table ogg.ggschkpt.
此时用OGG登录数据库,就可以看到OGG创建的检查点表。
[ogg@dbdream ogg]$ sqlplus ogg/ogg
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 14 13:10:55 2012
Copyright © 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
With the Partitioning option
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
—————————— ——- ———-
GGSCHKPT TABLE
GGSCHKPT_LOX TABLE
源端配置捕获进程
现在已经可以配置数据同步了,下面在源端配置捕获进程。
GGSCI (dbdream) 10> EDIT PARAMS EORA_1
加入以下内容
EXTRACT EORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD oracle
EXTTRAIL /u01/app/ogg/dirdat/aa
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAKAIEJANCHETDCCSJLCVCRGSJBFZCQBWIPD ENCRYPTKEY DEFAULT
FETCHOPTIONS, USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW REPORT
STATOPTIONS REPORTFETCH
WARNLONGTRANS 1H, CHECKINTERVAL 5M
TABLE t.;
参数介绍:
以上参数基本都在上文提过,这里不在重复,说下EXTTRAIL参数,EXTTRAIL参数是TRAIL队列文件存放的路径和命名格式,TRAIL文件可以理解为存放捕获进程捕获的日志文件。此时还需要将捕获进程EORA_1添加到OGG。捕获用户模式下的所有表 table schmas.;
管理Extract进程和Extract目录
添加
ADD EXTRACT EORA_1, TRANLOG, BEGIN NOW
ADD EXTTRAIL /u01/app/ogg/dirdat/aa, EXTRACT EORA_1, MEGABYTES 5
查看
GGSCI>info EXTTRAIL
GGSCI>info EXTRACT EORA_1
删除
GGSCI>delete EXTTRAIL /u01/app/ogg/dirdat/aa, EXTRACT EORA_1
GGSCI>delete EXTRACT EORA_1
管理Extract进程
GGSCI > start extract EORA_1 –启动EORA_1进程
GGSCI > stop extract EORA_1 –关闭EORA_1进程
GGSCI > kill extract EORA_1 --强制停止EORA_1进程
GGSCI > info EORA_1 --查看进程参数信息
GGSCI > stats EORA_1 --查看进程运行信息
GGSCI > view report EORA_1 —查看运行报告
–其中extract可以不用
ogg_集成模式(integrated)和经典模式(classic)之间的切换
Classic模式到integrated模式
register extract eora_1 database
alter extract eora_1, upgrade integrated tranlog, begin now
integrated模式到Classic模式
alter extract eora_1, downgrade tranlog
unregister extract eora_1 database
上面的两个命名告诉OGG,捕获进程从启动起开始捕获,捕获数据保存到TRAIL文件,及TRAIL文件的路径、命名格式,单个TRAIL文件最大大小。
现在就可以启动源端捕获进程EORA_1了。
START EXTRACT EORA_1
使用INFO命令查看EORA_1进程是否是RUNNING状态。
INFO EXTRACT EORA_1
源端配置PUMP传输进程
此步骤也是非必须的,如果不配置传输进程,OGG会通过EXTRACT进程传输TRAIL队列文件,但是和检查点队列一样,为了保证断点续传ORACLE建议配置PUMP传输进程。
1
GGSCI (dbdream) 15> EDIT PARAMS PORA_1
加入以下内容
EXTRACT PORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
PASSTHRU
RMTHOST 192.168.123.122, MGRPORT 7809
RMTTRAIL /u01/app/ogg/dirdat/pa
TABLE t.*;
添加PUMP进程PORA_1到OGG,并指定本地的TRAIL文件。
ADD EXTRACT PORA_1, EXTTRAILSOURCE /u01/app/ogg/dirdat/aa
此时用INFO命令可以看到PUMP进程PORA_1的状态。
GGSCI (dbdream) 17> INFO EXTRACT PORA_1
为PUMP进程PORA_1指定将本地TRAIL文件传输到目标端后保存成目标端TRAIL文件的名字。
ADD RMTTRAIL /u01/app/ogg/dirdat/pa, EXTRACT PORA_1, MEGABYTES 5
下面就可以启动PUMP进程PORA_1了,启动后看下PORA_1的状态。
START EXTRACT PORA_1
查看状态
GGSCI (dbdream) 20> INFO EXTRACT PORA_1
此时在目标端/ogg/dirdat/目录下,就会看到由源端PUMP进程PORA_1传输过来的TRAIL文件。
查看
GGSCI>info RMTTRAIL
GGSCI>info EXTRACT PORA_1
删除
GGSCI>delete RMTTRAIL /u01/app/ogg/dirdat/pa, EXTRACT PORA_1
GGSCI> delete EXTRACT PORA_1
管理PUMP进程
GGSCI > start extract PORA_1 –启动PORA_1进程
GGSCI > stop extract PORA_1 –关闭PORA_1进程
GGSCI > kill extract PORA_1 --强制停止PORA_1进程
GGSCI > info PORA_1 --查看进程参数信息
GGSCI > stats PORA_1 --查看进程运行信息
GGSCI > view report PORA_1 —查看运行报告
–其中extract可以不用
目标端配置同步进程RORA_1
add replicat RORA_1,exttrail /u01/app/ogg/dirdat/pa, checkpointtable ogg.ggschkpt
delete replicat RORA_1
edit params RORA_1
/GGSCI (stream) 5> ADD REPLICAT RORA_1, SPECIALRUN/
添加如下内容
REPLICAT RORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD oracle
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE /u01/app/ogg/dirrpt/RORA_aa.DSC, PURGE
DDL INCLUDE ALL
DDLOPTIONS REPORT
BATCHSQL
DBOPTIONS DEFERREFCONST
DBOPTIONS LOBWRITESIZE 102400
DDLERROR DEFAULT DISCARD RETRYOP MAXRETRIES 5 RETRYDELAY 20
MAP t., TARGET t.;
目标端编辑同步进程RORA_1后,就可以启动RORA_1进程
start REPLICAT RORA_1
stop REPLICAT RORA_1
启动RORA_1进程后,查看进程状态。
INFO REPLICAT RORA_1
经典模式转换到集成模式
register extract EORA_1 database
alter extract EORA_1, integrated tranlog, begin now
alter extract EORA_1, upgrade integrated tranlog, begin now
0
ERROR OGG-02912 PATCH 17030189 IS REQUIRED ON YOUR ORACLE MINING DATABASE FOR TRAIL FORMAT RELEASE 12.2 OR LATER.
There are some recommended patches which are needed to be applied to the database to use the Integrated Capture / Extract in Oracle GoldenGate. Even though after applying the recommended patch to the database, when starting the Integrated Extract process, the process abended with the below error,
2016-09-20 11:58:36 ERROR OGG-02912 Patch 17030189 is required on your Oracle mining database for trail format RELEASE 12.2 or later.
2016-09-20 11:58:36 ERROR OGG-01668 PROCESS ABENDING.
GGSCI (OGGR2-1.localdomain as ggadmin@GGDB1) 2> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED INEXT 00:00:00 00:13:08
There is a work around available to overcome this issue. A script included known “prvtlmpg.plb” and this script will be under the Oracle GoldenGate installation directory.
Check tbe below, my OGG_HOME is /ogg,
[oracle@OGGR2-1 ogg]$ ls -lrt prvtlmpg.plb
-rw-r----- 1 oracle oinstall 9487 May 27 2015 prvtlmpg.plb
[oracle@OGGR2-1 ogg]$ pwd
/ogg
[oracle@OGGR2-1 ogg]$
Login to the database and just run this script,
[oracle@OGGR2-1 ogg]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Sep 20 12:00:42 2016
Copyright © 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @prvtlmpg.plb
Oracle GoldenGate Workaround prvtlmpg
This script provides a temporary workaround for bug 17030189.
It is strongly recommended that you apply the official Oracle
Patch for bug 17030189 from My Oracle Support instead of using
this workaround.
This script must be executed in the mining database of Integrated
Capture. You will be prompted for the username of the mining user.
Use a double quoted identifier if the username is case sensitive
or contains special characters. In a CDB environment, this script
must be executed from the CDB$ROOT container and the mining user
must be a common user.
=========================== WARNING ==========================
You MUST stop all Integrated Captures that belong to this mining
user before proceeding!
Enter Integrated Capture mining user: ggadmin
Installing workaround…
No errors.
No errors.
No errors.
Installation completed.
SQL>
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options




