淘先锋技术网

首页 1 2 3 4 5 6 7

OGG(Oracle GoldenGate)是一款Oracle数据库实时抓取、同步和复制工具,而OGG采集则是OGG其中的一个组成部分。实际上OGG的采集功能十分强大,不仅可以采集Oracle数据库中的表、视图等对象,还可以提供高效的数据过滤和转换功能。

比如,我们需要将一个Oracle数据库的customer表的所有修改和删除数据进行采集,并将采集到的数据同步到另外一个目标数据库中:

GGSCI>DBLOGIN USERIDALIAS loginid
GGSCI>ADD TRANDATA SCOTT.CUSTOMER
GGSCI>ADD CHECKPOINTTABLE SCOTT.CUSTOMER_CHKPT
GGSCI>ADD EXTTRAIL D:\gg\dirtrs\et, EXTRACT EXTCUSTOMER, BEGIN NOW, TRANLOG, MEGABYTES 500, INTEGRATED FULLCHECKPOINT, DATABASE ORCL, KEEPREPLOG
GGSCI>ADD RMTTRAIL D:\gg\dirrmt\r2, EXTRACT EXTCUSTOMER, MEGABYTES 500
GGSCI>ADD EXTRACT EXTCUSTOMER, TRANLOG, BEGIN NOW, DATABASE ORCL, INTEGRATED FULLCHECKPOINT, EXTTRAIL D:\gg\dirtrl\et
GGSCI>ADD EXTPUMP EP1, EXTRACT EXTCUSTOMER, RMTTRAIL D:\gg\dirrmt\r1
GGSCI>ADD REPLICAT RCREMOTE, EXTTRAIL D:\gg\dirrmt\r2, EXTRACT EP1, SPECIALRUN
GGSCI>START EXTCUSTOMER
GGSCI>START EP1
GGSCI>START RCREMOTE

在以上配置中,我们创建了一个名为CUSTOMER的OGG并配置了以下内容:

  • TRANDATA SCOTT.CUSTOMER:指定OGG采集SCOTT用户下的customer表
  • CHECKPOINTTABLE SCOTT.CUSTOMER_CHKPT:创建了一个名为SCOTT.CUSTOMER_CHKPT的检查点表,用来记录采集器偏移量
  • EXTRACT EXTCUSTOMER:采集器的配置
  • RMTTRAIL D:\gg\dirrmt\r2:指定RMTTRAIL的目录
  • EXTTRAIL D:\gg\dirtrl\et:指定EXTTRAIL的目录
  • EXTPUMP EP1:抽取器的配置
  • REPLICAT RCREMOTE:复制器的配置

另外举一个例子,如果想要将Oracle数据库的数据转换成JSON格式进行采集,可以使用OGG的Data Transformation功能来实现:

GGSCI>ADD FILEFORMAT JSON, TRANSTYPE CONVERT, CHARSET UTF8, FORMAT JSON, SOURCEKEYS, OUTPUTOP
GGSCI>ADD SCHEMA SOURCE, TARGET
GGSCI>ADD TABLE SCOTT.CUSTOMER, FILE JSON, FORMAT JSON, COLMAP(EXCLUDEUPDATECHKPT), REUSEFILE, KEEPNULLS

以上配置中,我们创建了一个名为JSON的格式转换器,并配置了以下内容:

  • SOURCEKEYS:指定了采集表中的列作为JSON格式的键
  • OUTPUTOP:指定产生的JSON中的操作类型:INSERT/UPDATE/DELETE
  • COLMAP:指定OGG进行数据列映射,通过"EXCLUDEUPDATECHKPT"指定排除掉OGG采集所用的内部列
  • KEEPNULLS:指定OGG汇出的JSON中包含NULL值

最后,我们将SCOTT用户下的customer表添加到上述的目标表列表中,即可把Oracle中customer表的数据以JSON格式进行采集。

总之,OGG的采集功能非常强大,可以灵活扩展,支持各种数据转换和数据过滤操作,为企业提供了高效、可信赖的数据采集方案。