ogg 下载地址:
http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html
一、 Golden Gate 软件的分类
( 1)Golden Gate:包括GoldenGate Capture, Deliver 和Active Data Guard, XStream on Oracle DB,并支持各种开放数据系统,是我们通常讲的OGG的概念。
( 2)Golden Gate Director:实际上,在下载的时候,可以发现没有Director的类目了,替换的是一个Golden Gate Management Pack的包,其实这个就是之前的OGG Director。Management Pack是基于浏览器的管理工具包,有限使用WebLogic SE,所以配置MP,需要先安装weblogic。
( 3)Golden Gate Veridata:跨平台比较复制的源库和目标库,为Golden Gate源端和目标端提供数据比对和校验的功能。
- - 2个不常见:
( 1)Golden Gate for Mainframe:包括GoldenGate Capture, Deliver for HP Non -Stop, IBM DB2 on
Mainframe, plus Syncfile。
( 2)Golden Gate Adapters:对Java、Flat File、Siebel等的接口包。
2. ogg的应用场景:
①.数据迁移;②.数据中心 ③.双活中心
二:OGG的架构:
2. 1 OGG架构与工作原理
在Oracle OGG 12c中,有如下组件:
( 1) Extract
( 2) Data pump
( 3)Replicat
( 4)Trails 或 extract files
( 5)Checkpoints
( 6)Manager
( 7)Collector
两条线:
initial load : 在初始化装载过程中, Extract 进程直接从源对象中抽取当前的数据。
source - - > target (两种方式:expdp /rman 基于scn)
change synchronizaton :为了保证源数据和其他对象保持数据的一致, extract 进程会捕获源对象自初始化同步以后的DML 和DDL 的变化。
expdp 和 rman , expdp可控性好根据情况开并行;
异库: 直接拉数据;(装载和同步分开);
三:OGG的主要进程
①. Extract 进程: 负责数据的抽取工作;(没有提交之前 extract捕获事物信息, commit后捕获抽取到trail文件里面;
如果是 rollback,事物操作不用写入到trail文件里面);
如果有一个 user里面有 100个 table,只有一个 extract; 就会出现等待,可以配置 5个 extract,每个同步 20个表;
②. data dump进程:将队列数据发送到目标
好处: ①.预防网络和源库的故障;
②.可以对数据进行过来和转换;
③.synchronize方式从多个源库上合并数据到一个中心库;
④.synchronize方式将一个源库数据传到多个目标库;
③.Replicat 进程 : Replicate 进程运行在目标系统上,该进程会读取目标端的trail中的文件,并将解析为DML 或者DDL 语句,然后在目标数据库执行。
当仅配置了一个Replicate 进程的时候,可以对该进程配置为coordinated 或者 integrated 模式:
( 1)Coordinated mode
Coordinated 模式支持所有OGG支持的数据库。 在该模式下,Replicat有一个协调线程,并且协调一个或者多个coordinates thread 并行的执行 replicate的 SQL 操作。
( 2)Integrated mode: Integrated 模式仅支持 11. 2. 0. 4 之后的Oracle 数据库。
Trails 文件: 按照事物的时间顺序写的。默认是 10M.
哪些进程可以读写 Trail文件?
extract data pump replicate
trail 文件会在进程需要的时候自动创建,但在使用 add rmttrail 或者 exttrail 命令往OGG的配置中添加trail时,必须指定为trail 文件的名称指定 2个字符。 默认情况下,trails存放在GG 安装目录的dirdat 子目录下。
默认情况下,每个trails的文件是 10M,为了保证进程的正常运行必须不断的创建的新的trail 文件。 这个过程由OGG 自动实现,并且不影响OGG的运行。
每个新生成的文件,文件名都会继承旧trail文件的前 2个字母,然后加上 6个数字, c:\ggs\dirdat\tr000001
Extract Files : 与 trail 文件相比,少了checkpoints的信息。
checkpoints : 记录
Replicat 进程 : ①. 在 target 端建 checkpoint table(建议),②. 产生一个checkpoints文件(默认)
为啥 checkpoint table, 比 checkpoints文件 好?
2T, 库挂掉了,重新恢复,用checkpoins文件是恢复之前的checkpoints
1 - - - - 2 - - - - 3 时间
库恢复到 2时间点, checkpoint文件记录的是 3的时间点,这是 checkpoint和数据里面的 checkpoint对不上,ogg就不能同步了。
checkpoint table: 库恢复到 2的时间点, checkpoint table里面的当前 checkpoint时间为 2的信息。就可以继续同步。
initial load : 在初始化装载过程中, Extract 进程直接从源对象中抽取当前的数据。
source - - > target (两种方式:expdp /rman 基于scn)
change synchronizaton :为了保证源数据和其他对象保持数据的一致, extract 进程会捕获源对象自初始化同步以后的DML 和DDL 的变化。
expdp 和 rman , expdp可控性好根据情况开并行;
异库: 直接拉数据;(装载和同步分开);
三:OGG的主要进程
①. Extract 进程: 负责数据的抽取工作;(没有提交之前 extract捕获事物信息, commit后捕获抽取到trail文件里面;
如果是 rollback,事物操作不用写入到trail文件里面);
如果有一个 user里面有 100个 table,只有一个 extract; 就会出现等待,可以配置 5个 extract,每个同步 20个表;
②. data dump进程:将队列数据发送到目标
好处: ①.预防网络和源库的故障;
②.可以对数据进行过来和转换;
③.synchronize方式从多个源库上合并数据到一个中心库;
④.synchronize方式将一个源库数据传到多个目标库;
③.Replicat 进程 : Replicate 进程运行在目标系统上,该进程会读取目标端的trail中的文件,并将解析为DML 或者DDL 语句,然后在目标数据库执行。
当仅配置了一个Replicate 进程的时候,可以对该进程配置为coordinated 或者 integrated 模式:
( 1)Coordinated mode
Coordinated 模式支持所有OGG支持的数据库。 在该模式下,Replicat有一个协调线程,并且协调一个或者多个coordinates thread 并行的执行 replicate的 SQL 操作。
( 2)Integrated mode: Integrated 模式仅支持 11. 2. 0. 4 之后的Oracle 数据库。
Trails 文件: 按照事物的时间顺序写的。默认是 10M.
哪些进程可以读写 Trail文件?
extract data pump replicate
trail 文件会在进程需要的时候自动创建,但在使用 add rmttrail 或者 exttrail 命令往OGG的配置中添加trail时,必须指定为trail 文件的名称指定 2个字符。 默认情况下,trails存放在GG 安装目录的dirdat 子目录下。
默认情况下,每个trails的文件是 10M,为了保证进程的正常运行必须不断的创建的新的trail 文件。 这个过程由OGG 自动实现,并且不影响OGG的运行。
每个新生成的文件,文件名都会继承旧trail文件的前 2个字母,然后加上 6个数字, c:\ggs\dirdat\tr000001
Extract Files : 与 trail 文件相比,少了checkpoints的信息。
checkpoints : 记录
Replicat 进程 : ①. 在 target 端建 checkpoint table(建议),②. 产生一个checkpoints文件(默认)
为啥 checkpoint table, 比 checkpoints文件 好?
2T, 库挂掉了,重新恢复,用checkpoins文件是恢复之前的checkpoints
1 - - - - 2 - - - - 3 时间
库恢复到 2时间点, checkpoint文件记录的是 3的时间点,这是 checkpoint和数据里面的 checkpoint对不上,ogg就不能同步了。
checkpoint table: 库恢复到 2的时间点, checkpoint table里面的当前 checkpoint时间为 2的信息。就可以继续同步。