Oracle GoldenGate 12c版本18个新功能全面曝光_详解OGG 12c新特性

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:1010

Oracle GoldenGate 12c版本18个新功能全面曝光_详解OGG 12c新特性 Oracle GoldenGate现在可以帮助企业在传统数据库和云平台、大数据平台之间进行实时复制。新的OGG 12c支持更多的异构数据库和大数据平台,进一步提升可管理性和对混合云的支持。主要新特性如下:
1、一个新的streams迁移工具: Streams2OGG,帮助streams用户迁移到OGG平台,利用OGG当前的集成捕获和冲突管理等新功能;
2、支持IBM informix:OGG 12c现在支持从informix数据库抽取数据或把informix做为目标端,主要支持的版本为informix较新的版本,包括:11.5, 11.7, 12.1。此次发布的版本支持压缩表、加密字段、fragmentedtables等。
3、支持ms sql server 2012/2014及mysql社区版;
4、支持socks5通信协议,用户现在可以使用socks兼容的协议进行数据传输,比如在没有VPN网络的内网和云平台之间进行数据传输;
5、支持大数据:OGG for java adapter可与oracle NoSQL,Hadoop, HDFS, HBase, Storm, Flume, Apache Kafka等平台进行实时的数据集成,实现大数据平台的实时加载和分析;
6、不一致数据的自动修复:在不中断业务的情况下,除提供异构数据库之间的数据对比和报告之外,GoldenGate Veridata 12c也提供数据修复和再校验功能;
7、支持从ADG(Oracle Active Data Guard)进行数据捕获,从一个ADGstandby数据库抽取数据,而不是直连生产库,进一步降低对生产库的影响;
8、增强的管理和监控:使用ogg plug-in for OEM(oracle enterprisemanager),可以在OEM界面中实现GoldenGate的启停、编辑参数文件、查看运行日志等功能,从而在一个管理界面中实现与DB、中间件等产品统一运维;
9、由于oracle 12c已经是多租户架构,在使用OGG同步的时候,需要考虑下面一些情况:9.1、一个 CDB包含多个PDB,源端部署的一个extract可访问所有pdb redo,理论上不需要每个pdb单独配置extract.9.2、抽取模式只能是integrated(集成)模式,不支持claasic capture传统方式捕获;9.3、因为要使用integrated extract,因此,需要能访问logmining server,而这个只能从cdb$root中访问;9.4、源端要使用common user,即c##ogg这种用户来访问源端DB,这样能访问DB的redo log & all pdbs。9.5、在GGSCI或参数文件中,可以使用pdb.schema.table来访问具体的表或序列;9.6、可以在参数文件 中使用sourceCatalog参数,指定一个PDB,后面的参数中只需要schema.table即可;9.7、目标端每个pdb要有一个replicat进程,即一个replicat进程只能投递到一个PDB,不能投递到多个。9.8、源端OGG用户需要赋权:dbms_goldengate_auth.grant_admin_privilege(‘C##GGADMIN’,container=>‘all’),同时建议将ogg的用户设置赋权为:grantdba to c##ogg container=all;9.9、源端DB除了以前要打开归档, force logging, 最小附加日志,可能还需要打开一个开关:altersystem set enable_goldengate_replication=true;extract示例: EXTRACT ex1 SETENV (ORACLE_SID='oradb')
userid c##ogg@oradb, password ogg

EXTTRAIL ./dirdat/lt TABLE pdb1.schema1.table*;
SOURCECATALOG pdb2
TABLE schema2.table*;
TABLE schema3.table*;
SOURCECATALOG pdb3
TABLE schema4.table*;add extract之后,还需要register extract ex12c database container(pdb1, pdb2, pdb3)
pump示例: EXTRACT dp1
SETENV (ORACLE_SID='oradb') userid c##ogg@oradb, password oggRMTHOST orasql-test, MGRPORT 7809
RMTTRAIL ./dirdat/rt TABLE pdb1.schema1.table*;
SOURCECATALOG pdb2
TABLE schema2.table*;
TABLE schema3.table*;
SOURCECATALOG pdb3
TABLE schema4.table*;
replicat示例:REPLICAT rep1 SETENV (ORACLE_SID='condb2') DBOPTIONS INTEGRATEDPARAMS(parallelism 6) USERID C##ogg@tgt_pdb1, PASSWORD welcome1 ASSUMETARGETDEFSMAP pdb1.schema1.table*, targetschema1.table*;MAP pdb3.schema4.table*, targetschema1.table*;sourceCatalogMAP schema2.table*, target schema1.table*;MAP schema3.table*, target schema1.table*;

10. 异构配置加强
不在需要sourceDefs和AssumeTargetDefs文件,在队列文件中已经包含metadata信息,比如table name, column name, column type等,进一步降低OGG在异构环境下配置的工作量;

11. 内置心跳表
在早期的OGG版本中,如果要监控进程的延迟状态,需要手工创建心跳表,现在通过配置就可以启用心跳表监控功能,
在GGSCI中addheartBeatTable即可。此时,会自动创建心跳配置表和视图,所有OGG进程默认每60秒更新一次数据。创建的其中一个视图是GG_LAG,里面有一个字段Incoming_LAG,可以看到本地DB提交时间和远端DB投递时的延时;同时,也支持双向复制,里面有一个outGoing_Lag字段,可以看到源DB产生心跳时间及目标DB接收到心跳时间的时间差。GG_HEARTBEAT是主要的配置表,其它视图基本上根据此表创建,里面有记录各组件的延迟信息,包括抽取、传输和投递进程。因此,很容易通过分析此表的信息就可以知道性能瓶颈在哪。历史延迟和心跳信息保存在GG_LAG_HISTORY和GG_HEARTBEAT_HISTORY表中。

12. 参数文件校验及运行时获取环境参数 - chkprm, info param, getParamInfo。
在12.2中,启动进程之前,可以使用checkprm检查参数的合法性;
info param可以返回一个进程的多个信息,包括默认值,合法的取值范围等,相当于在GGSCI中查看OGG的在线帮助;
当一个进程在运行时,可以使用send procname getParamInfo查看进程运行时的环境参数,不仅是进程中包含的参数,还包括进程运行需要的其它环境参数等信息,特别是可以查看一些运行时默认设置的参数变量。

13. 加强的数据测量和性能监控。
ogg 12.2可以通过RESTFUL web service,支持对抽取、传输和投递进程的实时度量。针对抽取和投递进程的实时数据库及队列统计,针对传输进程的队列和网络统计。访问方式如下:
http://:/groups
前提是需要在GLOBALS文件中添加ENABLEMONITORING参数。并在GGSCI中createdatastore.

14. GoldenGate Studio
在12.2中,有一个工具平台叫GoldenGateSTUDIO,一个图形化的界面,帮助快速配置和部署OGG。通过鼠标点击和拖拉实现OGG部署,而不用关心底层细节。OGG studio的思路是,首先会有一个项目,然后里面包括多个解决方案,每个解决方案包括多个逻辑设计及多种物理部署。OGG studio默认已经带了多个开箱即用的方案模板,比如级联、双向、单向、一对多等复制拓扑,方便更快速的OGG部署。最后,OGG studio允许设计一次,即可部署到多套环境中,比如开发、测试、QA、生产等,只需要一键点击即可部署。

15. GoldenGate 云服务
OGG云服务会是公开的、基于云平台提供订阅或按小时服务。OGG云服务可以帮助企业在内网和云平台之间进行实时数据复制,包括oracle db和非oracle db。同时ogg云服务也支持投递数据到Hadoop或NoSQL等大数据平台。

16. 9位数字的队列文件。
在12.2中,默认创建的队列文件是9位数字,而不是以前版本的6位。这样,队列文件的数量提高了1000倍,相当于每个队列前缀支持10亿个文件。同时,可以更新现有的6位文件格式到9位,使用安装目录下的convchk程序即可;当然,也可以在GLOBALS中添加TRAIL_SEQLEN_6D参数,以提供后向兼容功能,即只有6位数字。

17. 改进的队列文件修复技术。
在早期的OGG版本中,如果一个队列文件丢失或损坏,则投递进程失败。在12.2中,如果队列文件有损坏或丢失,则可以重启传输进程,此时,会重建队列文件;同样的原理,也可以通过抽取进程重建源端的队列文件。投递进程会自动过滤掉已经投递过的重复记录。

18、针对Oracle数据库

18.1. 与Oracle RAC无缝集成。
在早期的OGG版本中,使用Grid Infrastructure Agent (XAG)在RAC中提供高可用,必须使用AGCTL控制OGG的启动和停止,而不能在GGSCI中使用start/stop命令。在12.2中,一旦使用AGCTL命令向RAC注册了OGG实例,我们仍然可以在GGSCI中使用start/stop命令。同时,GLOBALS参数中可以使用一个新的参数:XAG_ENABLE。

18.2. 新增同步表与datapump集成。
在早期的OGG版本中,如果要新增同步的表,需要从v$database中获取current_SCN值,然后在expdb中将SCN传递给flashback_scn参数,然后再使用startreplicat, aftercsn xxx。在12.2中,add trandata或add schemaTrandata会自动将这些表的状态准备好。expdp在导出时,会添加SCN到对应的表中,此时,只需要在replicat进程使用DBOPTIONS_ENABLE_INSTANTIATION_FILTERING参数,即可自动过滤SCN之前的DML和DDL操作。

18.3. 支持invisible(不可见)列。
OGG 12.2中新的MAPINVISIBLECOLUMNS参数,使用集成抽取支持oracledb中不可见列的数据复制。

18.4. 支持DDL同步中源和目标的表结构不同
在旧版本的OGG中,如果要进行DDL同步,两端的表结构必须相同,而在最新的12.2中,允许源和目标端的表结构不同,而且支持2个以上的DB进行DDL同步。当然,DDL的同步仍然只支持ora-ora, teradata-teradata.

[color=#9932cc]针对SQL Server
支持从远端只读归档(ALO)捕获数据
SQL Server标准版的捕获及投递
SQL Server 2014 Compressed Log backups
支持在字段级别指定字符集

针对Teradata
Replicat进程现在可以处理truncates操作
支持在字段级别指定字符集Column level character sets
该版本以后的OGG不再支持从Teradata捕获数据

针对DB2 LUW
支持在字段级别指定字符集
临时表支持

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】