Oracle golden gate是通过解析源数据库在线日志或归档日志获得数据的增量变化,通过tcp/ip将变化投递到目标端,最后应用到远程数据库,从而实现数据同步。ogg的原理确实比较好理解。
Ogg的几个关键的进程:
Manager进程:
manager进程是golden gate的控制进程,运行在源端和目标端,用于启动、监控、重启golden gate其他进程,报告错误和事件、分配数据存储空间、发布阀值报告等。
Extract进程:extract进程运行在源端,负责从源数据库表或者日志中捕获数据库。所有提交的事务相关的日志会被以事务为单元顺序记录到trail文件,extract进程也有其内部的checkpoint机制,
周记性记录读写位置,checkpoint机制是为了在extract进程崩溃后重新启动extract进程后,goldengate可以恢复到之前checkpoint状态,从而从这个点继续运行,这个checkpoint机制跟oracle内部的checkpoint机制含义大体相同。extract正是通过上面的trail文件和checkpoint来保证数据的完整性。
Pump进程:
pump进程运行在数据库源端,主要是在将源端产生的本地trail文件,然后把trail以数据块形式通过tcp/ip发送到目标端,o也推荐这种方式。如果不使用trail文件,extract进程会抽取完数据以后,直接投递到目标端,生成远程trail文件。
Trail文件:
extract抽取完数据后会将对应的事务信息转化为goldengate专有格式文件trail,trail文件主要是为了防止单点故障,事务信息持久化,并且使用checkpoint机制记录其读写位置,如果故障发生,则数据可以根据checkpoint记录的位置来重传。
Server collector进程
:server collector进程主要是把extract或pump进程投递过来的数据组装成远程的trail文件,server collector不需要我们对其进程任何配置。
Replicat进程:
replicat进程运行在目标端,主要是通过读取目标端的trail文件内容然后将其解析为对应的dml和ddl语句,最后应用到目标数据库中。Replicat进程也有其内部的checkpoint机制,保证重启后可以从上次记录的位置开始恢复从而保证数据一致性和安全性。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23073818/viewspace-765639/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23073818/viewspace-765639/