GoldenGate布教活动①~GoldenGate的基本指南~
此篇文章是Oracle数据库或GoldenGate Advent Calendar 2018 Day 4的内容!
我是负责JPOUG的Oracle Database或GoldenGate Advent Calendar 2018第4天的ch0c0bana0。
一眨眼,已经到了我负责的日子了。
早晨起床时我突然想到JPOUG是什么意思,难道是日本Oracle用户组的简称之类的吗?
昨天,我在itedgeblog的文章中读到了《[Oracle] My Oracle Support的知识文章已可通过网络搜索》,很有启发。
我的Oracle支持现在可以在网上进行搜索,非常方便啊。
如果大家都熱烈搜索,並使MOS的文件排名上升,那麼它可能變得更加方便。
好的,本篇文章将从基础知识开始介绍,以增加GoldenGate用户数为目标。另外,我发现在Qiita上搜索”GoldenGate”只有17个结果。希望在这个圣诞节日中能够有大约30个结果。
在讨论下一个问题之前
本篇文章的开头
1.我在意识到针对GoldenGate超初学者的文章而进行写作。
2.虽然我会尽力负责任地写作,但这些言论仅代表个人观点,并非所属组织的官方立场。
3.如果有任何指出的问题,请及时提出。
4.虽然我也可以在个人博客上写,但选择在「Qiita」上是为了尽可能地让更多人看到,将其视为布教活动。
GoldenGate布教活动中的第一项任务是教授GoldenGate的基本技巧。
我想简要介绍一下Oracle GoldenGate是什么,以及使用GoldenGate时的基本要点,参考《Oracle® Fusion Middleware Oracle GoldenGate的理解12c(12.3.0.1)》。
GoldenGate是什么?
GoldenGate是用于在数据库之间迁移数据的数据复制产品。它不仅可以在Oracle数据库之间进行数据复制,还可以在不同类型的数据库之间进行数据复制。同时最近,结合GoldenGate for Bigdata,可以将数据复制到像MongoDB和Kafka这样的BigData目标中。
为什么要使用GoldenGate?
在混合使用异构数据库的系统中,为了降低运维成本,有时需要将Database统一为Oracle,或者需要进行新版本的Oracle Database构建并进行数据迁移。
通过使用GoldenGate,在这种情况下可以极大地减小系统停止时间,并且可以高效地进行迁移数据的转换和过滤。
此外,在近年来,GoldenGate也被广泛用于从本地环境迁移到云环境,以及用于数据集成以支持大数据的利用,其应用范围变得非常广泛。
金门关的关键词和主要过程
源数据-数据库
移行元的数据库
可能是Oracle或者不是Oracle
目标数据库
最近,迁移的数据库不仅限于Oracle,也包括Kafka和Mongo等。
GGSCI
GoldenGate拥有自己的命令行界面,通过运行GoldenGate Home的ggsci命令可启动。
在这里可以进行进程的启动和停止,还可以编辑各个进程的参数文件。
在中国讲汉语时,重定向(证据)文件
這個由GoldenGate獨有的文件記錄著從源數據庫中提取的DML和DDL內容。我們將此文件從源數據庫傳送到源和目標之間,並將其中的DML和DDL應用到目標數據庫中。
管理者进程
「GoldenGate的主进程(?)」负责使用GGSCI工具,维护GoldenGate创建的各种文件,以及管理和监控后面提到的GoldenGate核心处理进程的角色。
捕获进程
从源数据库中读取DML和DDL,并将其写入名为Trail(讲述)文件的自定义文件的过程
有集成模式和经典模式
可以进行数据过滤、映射数据转换,还可以对Trail文件进行加密
需要使用专用参数文件
数据泵进程
把Capture进程输出的Trail文件传输到目标服务器的过程。
有根据Trail文件内的数据进行过滤、映射和数据转换的传输模式,也有简单传输而无需进行任何操作的透明模式。
也有一种方法是将Trail文件写入NFS等,并在目标端进行协作,而无需配置Datapump进程,但在大多数系统中,推荐配置该进程。
通过将网络传输的职责划分给Datapump,也可以更容易地进行运维和故障排除。
饭要找专业的厨师。
需要使用专用参数文件。
收藏家的进程
接收(实际上是接收并写入)由Datapump发送的Trail文件的过程
GoldenGate的唯一一个不需要显式地创建或启动参数文件的过程
该过程由Manager自动启动,并在故障时自动恢复
不需要专用的参数文件
复制进程
接收从源发送过来的Trail文件,读取后对目标数据库进行应用处理的过程。
有能够进行并行处理的Integrated(综合)模式和仅支持串行处理的Classic(非综合)模式。
可以进行数据过滤、映射和转换。
虽然快速,但总结一下。
仅提供一种翻译选项:
只简单描述一下以下内容:
1. Capture进程读取源数据库的更新数据。
2. Capture进程写出Trail文件。
3. Datapump进程将Trail文件发送到源数据库。
4. Collector进程接收Trail文件。
5. Replicat读取Trail文件并将其应用到目标数据库中。
如果你记住了上述动作,你就能够大致想象出GoldenGate的架构。
请参考《Oracle GoldenGate 架构与基本功能》第7张幻灯片,它作为一个更具体的图表会很有参考价值!
在接下来的文章中,我打算实际安装GoldenGate,并进行进程创建和数据传播的步骤。
从第五天开始也请多多关照!