GoldenGate 12.2已经提供下载,增加了不少新特性
1. 异构配置加强
不在需要sourceDefs和AssumeTargetDefs文件,在队列文件中已经包含metadata信息,比如table name, column name, column type等,进一步降低OGG在异构环境下配置的工作量;
2. 内置心跳表
在早期的OGG版本中,如果要监控进程的延迟状态,需要手工创建心跳表,现在通过配置就可以启用心跳表监控功能,
在GGSCI中add heartBeatTable即可。此时,会自动创建心跳配置表和视图,所有OGG进程默认每60秒更新一次数据。创建的其中一个视图是GG_LAG,里面有一个字段Incoming_LAG,可以看到本地DB提交时间和远端DB投递时的延时;同时,也支持双向复制,里面有一个outGoing_Lag字段,可以看到源DB产生心跳时间及目标DB接收到心跳时间的时间差。GG_HEARTBEAT是主要的配置表,其它视图基本上根据此表创建,里面有记录各组件的延迟信息,包括抽取、传输和投递进程。因此,很容易通过分析此表的信息就可以知道性能瓶颈在哪。历史延迟和心跳信息保存在GG_LAG_HISTORY和GG_HEARTBEAT_HISTORY表中。
3. 参数文件校验及运行时获取环境参数 - chkprm, info param, getParamInfo。
在12.2中,启动进程之前,可以使用checkprm检查参数的合法性;
info param可以返回一个进程的多个信息,包括默认值,合法的取值范围等,相当于在GGSCI中查看OGG的在线帮助;
当一个进程在运行时,可以使用send procname getParamInfo查看进程运行时的环境参数,不仅是进程中包含的参数,还包括进程运行需要的其它环境参数等信息,特别是可以查看一些运行时默认设置的参数变量。
4. 加强的数据测量和性能监控。
ogg 12.2可以通过RESTFUL web service,支持对抽取、传输和投递进程的实时度量。针对抽取和投递进程的实时数据库及队列统计,针对传输进程的队列和网络统计。访问方式如下:
http://<hostname>:<manager port>/groups
前提是需要在GLOBALS文件中添加ENABLEMONITORING参数。并在GGSCI中create datastore.
5. GoldenGate Studio
在12.2中,有一个工具平台叫GoldenGate STUDIO,一个图形化的界面,帮助快速配置和部署OGG。通过鼠标点击和拖拉实现OGG部署,而不用关心底层细节。OGG studio的思路是,首先会有一个项目,然后里面包括多个解决方案,每个解决方案包括多个逻辑设计及多种物理部署。OGG studio默认已经带了多个开箱即用的方案模板,比如级联、双向、单向、一对多等复制拓扑,方便更快速的OGG部署。最后,OGG studio允许设计一次,即可部署到多套环境中,比如开发、测试、QA、生产等,只需要一键点击即可部署。
6. GoldenGate 云服务
OGG云服务会是公开的、基于云平台提供订阅或按小时服务。OGG云服务可以帮助企业在内网和云平台之间进行实时数据复制,包括oracle db和非oracle db。同时ogg云服务也支持投递数据到Hadoop或NoSQL等大数据平台。
7. 9位数字的队列文件。
在12.2中,默认创建的队列文件是9位数字,而不是以前版本的6位。这样,队列文件的数量提高了1000倍,相当于每个队列前缀支持10亿个文件。同时,可以更新现有的6位文件格式到9位,使用安装目录下的convchk程序即可;当然,也可以在GLOBALS中添加TRAIL_SEQLEN_6D参数,以提供后向兼容功能,即只有6位数字。
8. 改进的队列文件修复技术。
在早期的OGG版本中,如果一个队列文件丢失或损坏,则投递进程失败。在12.2中,如果队列文件有损坏或丢失,则可以重启传输进程,此时,会重建队列文件;同样的原理,也可以通过抽取进程重建源端的队列文件。投递进程会自动过滤掉已经投递过的重复记录。
针对Oracle数据库
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。
2. 新增同步表与datapump集成。
在早期的OGG版本中,如果要新增同步的表,需要从v$database中获取current_SCN值,然后在expdb中将SCN传递给flashback_scn参数,然后再使用start replicat, aftercsn xxx。在12.2中,add trandata或add schemaTrandata会自动将这些表的状态准备好。expdp在导出时,会添加SCN到对应的表中,此时,只需要在replicat进程使用DBOPTIONS_ENABLE_INSTANTIATION_FILTERING参数,即可自动过滤SCN之前的DML和DDL操作。
3. 支持invisible(不可见)列。
OGG 12.2中新的MAPINVISIBLECOLUMNS参数,使用集成抽取支持oracle db中不可见列的数据复制。
4. 支持DDL同步中源和目标的表结构不同
在旧版本的OGG中,如果要进行DDL同步,两端的表结构必须相同,而在最新的12.2中,允许源和目标端的表结构不同,而且支持2个以上的DB进行DDL同步。当然,DDL的同步仍然只支持ora-ora, teradata-teradata.
针对SQL Server
支持从远端只读归档(ALO)捕获数据
SQL Server标准版的捕获及投递
SQL Server 2014 Compressed Log backups
支持在字段级别指定字符集
针对Teradata
Replicat进程现在可以处理truncates操作
支持在字段级别指定字符集Column level character sets
该版本以后的OGG不再支持从Teradata捕获数据
针对DB2 LUW
支持在字段级别指定字符集
临时表支持
1. 异构配置加强
不在需要sourceDefs和AssumeTargetDefs文件,在队列文件中已经包含metadata信息,比如table name, column name, column type等,进一步降低OGG在异构环境下配置的工作量;
2. 内置心跳表
在早期的OGG版本中,如果要监控进程的延迟状态,需要手工创建心跳表,现在通过配置就可以启用心跳表监控功能,
在GGSCI中add heartBeatTable即可。此时,会自动创建心跳配置表和视图,所有OGG进程默认每60秒更新一次数据。创建的其中一个视图是GG_LAG,里面有一个字段Incoming_LAG,可以看到本地DB提交时间和远端DB投递时的延时;同时,也支持双向复制,里面有一个outGoing_Lag字段,可以看到源DB产生心跳时间及目标DB接收到心跳时间的时间差。GG_HEARTBEAT是主要的配置表,其它视图基本上根据此表创建,里面有记录各组件的延迟信息,包括抽取、传输和投递进程。因此,很容易通过分析此表的信息就可以知道性能瓶颈在哪。历史延迟和心跳信息保存在GG_LAG_HISTORY和GG_HEARTBEAT_HISTORY表中。
3. 参数文件校验及运行时获取环境参数 - chkprm, info param, getParamInfo。
在12.2中,启动进程之前,可以使用checkprm检查参数的合法性;
info param可以返回一个进程的多个信息,包括默认值,合法的取值范围等,相当于在GGSCI中查看OGG的在线帮助;
当一个进程在运行时,可以使用send procname getParamInfo查看进程运行时的环境参数,不仅是进程中包含的参数,还包括进程运行需要的其它环境参数等信息,特别是可以查看一些运行时默认设置的参数变量。
4. 加强的数据测量和性能监控。
ogg 12.2可以通过RESTFUL web service,支持对抽取、传输和投递进程的实时度量。针对抽取和投递进程的实时数据库及队列统计,针对传输进程的队列和网络统计。访问方式如下:
http://<hostname>:<manager port>/groups
前提是需要在GLOBALS文件中添加ENABLEMONITORING参数。并在GGSCI中create datastore.
5. GoldenGate Studio
在12.2中,有一个工具平台叫GoldenGate STUDIO,一个图形化的界面,帮助快速配置和部署OGG。通过鼠标点击和拖拉实现OGG部署,而不用关心底层细节。OGG studio的思路是,首先会有一个项目,然后里面包括多个解决方案,每个解决方案包括多个逻辑设计及多种物理部署。OGG studio默认已经带了多个开箱即用的方案模板,比如级联、双向、单向、一对多等复制拓扑,方便更快速的OGG部署。最后,OGG studio允许设计一次,即可部署到多套环境中,比如开发、测试、QA、生产等,只需要一键点击即可部署。
6. GoldenGate 云服务
OGG云服务会是公开的、基于云平台提供订阅或按小时服务。OGG云服务可以帮助企业在内网和云平台之间进行实时数据复制,包括oracle db和非oracle db。同时ogg云服务也支持投递数据到Hadoop或NoSQL等大数据平台。
7. 9位数字的队列文件。
在12.2中,默认创建的队列文件是9位数字,而不是以前版本的6位。这样,队列文件的数量提高了1000倍,相当于每个队列前缀支持10亿个文件。同时,可以更新现有的6位文件格式到9位,使用安装目录下的convchk程序即可;当然,也可以在GLOBALS中添加TRAIL_SEQLEN_6D参数,以提供后向兼容功能,即只有6位数字。
8. 改进的队列文件修复技术。
在早期的OGG版本中,如果一个队列文件丢失或损坏,则投递进程失败。在12.2中,如果队列文件有损坏或丢失,则可以重启传输进程,此时,会重建队列文件;同样的原理,也可以通过抽取进程重建源端的队列文件。投递进程会自动过滤掉已经投递过的重复记录。
针对Oracle数据库
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。
2. 新增同步表与datapump集成。
在早期的OGG版本中,如果要新增同步的表,需要从v$database中获取current_SCN值,然后在expdb中将SCN传递给flashback_scn参数,然后再使用start replicat, aftercsn xxx。在12.2中,add trandata或add schemaTrandata会自动将这些表的状态准备好。expdp在导出时,会添加SCN到对应的表中,此时,只需要在replicat进程使用DBOPTIONS_ENABLE_INSTANTIATION_FILTERING参数,即可自动过滤SCN之前的DML和DDL操作。
3. 支持invisible(不可见)列。
OGG 12.2中新的MAPINVISIBLECOLUMNS参数,使用集成抽取支持oracle db中不可见列的数据复制。
4. 支持DDL同步中源和目标的表结构不同
在旧版本的OGG中,如果要进行DDL同步,两端的表结构必须相同,而在最新的12.2中,允许源和目标端的表结构不同,而且支持2个以上的DB进行DDL同步。当然,DDL的同步仍然只支持ora-ora, teradata-teradata.
针对SQL Server
支持从远端只读归档(ALO)捕获数据
SQL Server标准版的捕获及投递
SQL Server 2014 Compressed Log backups
支持在字段级别指定字符集
针对Teradata
Replicat进程现在可以处理truncates操作
支持在字段级别指定字符集Column level character sets
该版本以后的OGG不再支持从Teradata捕获数据
针对DB2 LUW
支持在字段级别指定字符集
临时表支持