论文部分内容阅读
摘要:随着企业信息化的发展,越来越多的数据被保存在数据库中,为保护这些宝贵的信息,各个数据库厂家都在其产品中实现了备份功能,确保当数据库损坏时,可以进行数据的恢复。但对于电信级企业来说,由于数据量非常大,即便有备份,恢复需要的时间往往很长,如何尽量缩短恢复时间,逐渐成为数据备份的一个重点。本文主要阐述了ORACLE GoldenGate的实时数据同步功能以及在企业的信息系统中的应用。
关键词:数据库 GoldenGate 数据复制 容灾
1 概述
数据库系统面临的风险很多,大到自然灾害、小到病毒、电源故障乃至操作员的意外操作失误,都会影响数据库系统的正常运行,甚至造成整个系统完全瘫痪。数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段。然而在一些需要7x24运行的重要系统中,如果利用传统的数据备份进行恢复,需要的时间过长,无法满足应用的需要。
GoldenGate是一种基于日志的数据复制软件,它通过解析源数据库的日志获得对象的增删改变化,再将这些改变应用到目標数据库。GoldenGate可以根据用户的需要,应用在不同的场景:单向复制,备份或查询的场景;双向复制,灾备或双业务中心的场景;点对点复制,有三个以上多业务中心的场景;广播复制,数据分发的场景;集中复制,数据仓库或N+1灾备的场景;多级复制,层次化的企业数据复制。
我们可以利用GoldenGate的数据复制功能,实现企业数据的集中容灾保护。使管理人员从繁杂重复的工作中解放出来,从而提高工作效率,节省人员管理开销并减少人为失误的发生。另外利用GoldenGate的数据压缩功能,也可以最小化网络资源的使用,实现异地容灾。GoldenGate不仅可以用于oracle数据库,其它如微软Sql Server,IBM DB2等等,GoldenGate同样也支持。
2 架构及数据同步原理
2.1 架构 GoldenGate主要由以下进程组成:管理进程(Manager):是GoldenGate的主控制进程。一个管理进程可以管理多个捕获进程和交付进程,管理进程完成:启动GoldenGate的进程、维护进程端口、管理trail文件、生成错误报告等功能。捕获进程(Extract):运行于源系统,负责进行数据捕获,它可以被配置实现初始化数据同步和数据改变同步两个目的。捕获进程通常从源表和数据库的日志文件两个数据源捕获数据。多个捕获进程可以对不同的对象进行捕获,只需要给不同的捕获进程分配一个组名即可。数据泵进程(Data pump):也是源数据库的配置,如果没有它,捕获进程将捕获的数据直接发送到目的系统。在一个使用数据泵进程的环境中,源数据库的捕获进程将捕获的数据改变写到本地的trail文件中,数据泵进程将这些trail文件通过TCP/IP网络发送到目的端。
交付进程(Replicat):运行在目的数据库。它负责读取目的系统接收的trail文件,生成DML和DDL语句,在目的数据库应用。和捕获进程类似,也可以配置为初始化数据同步、数据改变同步两种方式。
收集进程(Collector):当配置了数据改变同步时,这个进程运行在目的系统,它负责完成以下工作:当管理进程接收到连接请求时,查找并绑定一个本地未使用的端口,并将端口号发送给管理进程;接收捕获进程发送的数据库改变,并将它们写入一个trail文件。
2.2 基本复制原理 利用捕获进程在源数据库端读取日志文件,解析提取其中需要捕获的对象的变化,将相关信息转换为GoldenGate自定义的格式保存在trail文件中。再利用数据泵进程将trail文件通过网络传送到目标数据库系统。捕获进程每次读完日志文件并将数据传送到目标数据库系统后,会写检查点,通过检查点来记录当前读取log的位置,检查点机制使捕获进程在发生异常终止并恢复后可以从检查点位置继续捕获信息。
目标数据库系统的收集进程接收数据变化并缓存到它本地的trail文件中,等待交付进程读取数据。
GoldenGate交付进程从队列trail文件中读取数据变化并重建对应的SQL语句,通过目标数据库的本地接口执行,提交到数据库成功后更新检查点,记录复制的位置,数据的复制过程最终完成。整个过程中目标端数据库是活动的。
3 应用效果
在移动某省网上营业厅系统中,随着数据库容量的增长,备份恢复需要的时间也相应增加,需要三、四个小时才能完成。此外,由于经常需要对用户访问情况按不同的维度进行分析,对数据库的性能也造成了很大的压力。通过使用GoldenGate软件,由于主库到备库进行实时的数据同步,可以在备库进行统计查询工作,exp等逻辑备份也可以在备库进行,降低了主库的压力。另外,当主库出现问题,也可以方便的切换到备库,缩短了故障恢复时间。
在移动某省计费业务系统中,需要对重要的数据异地保存。GoldenGate在传输中对数据进行高达9:1的压缩比进行压缩,相比其他的异地备份方法,大大降低了网络传输中的带宽需求。
4 结论
本文分析了GoldenGate的架构和原理以及主要应用场景,并对主要的进程功能进行了简要描述。对于使用GoldenGate软件在企业数据库中实现数据容灾保护等问题进行了有益的探讨。
参考文献:
[1]Oracle GoldenGate Administrator’s Guide,2012.
[2]Ben Prusinski,Steve Phillips,Richard Chung.Expert Oracle GoldenGate,2011.
[3]http://wenku.baidu.com/view/291d13c68bd63186bcebbcd
e.html.Oracle GoldenGate产品介绍.
关键词:数据库 GoldenGate 数据复制 容灾
1 概述
数据库系统面临的风险很多,大到自然灾害、小到病毒、电源故障乃至操作员的意外操作失误,都会影响数据库系统的正常运行,甚至造成整个系统完全瘫痪。数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段。然而在一些需要7x24运行的重要系统中,如果利用传统的数据备份进行恢复,需要的时间过长,无法满足应用的需要。
GoldenGate是一种基于日志的数据复制软件,它通过解析源数据库的日志获得对象的增删改变化,再将这些改变应用到目標数据库。GoldenGate可以根据用户的需要,应用在不同的场景:单向复制,备份或查询的场景;双向复制,灾备或双业务中心的场景;点对点复制,有三个以上多业务中心的场景;广播复制,数据分发的场景;集中复制,数据仓库或N+1灾备的场景;多级复制,层次化的企业数据复制。
我们可以利用GoldenGate的数据复制功能,实现企业数据的集中容灾保护。使管理人员从繁杂重复的工作中解放出来,从而提高工作效率,节省人员管理开销并减少人为失误的发生。另外利用GoldenGate的数据压缩功能,也可以最小化网络资源的使用,实现异地容灾。GoldenGate不仅可以用于oracle数据库,其它如微软Sql Server,IBM DB2等等,GoldenGate同样也支持。
2 架构及数据同步原理
2.1 架构 GoldenGate主要由以下进程组成:管理进程(Manager):是GoldenGate的主控制进程。一个管理进程可以管理多个捕获进程和交付进程,管理进程完成:启动GoldenGate的进程、维护进程端口、管理trail文件、生成错误报告等功能。捕获进程(Extract):运行于源系统,负责进行数据捕获,它可以被配置实现初始化数据同步和数据改变同步两个目的。捕获进程通常从源表和数据库的日志文件两个数据源捕获数据。多个捕获进程可以对不同的对象进行捕获,只需要给不同的捕获进程分配一个组名即可。数据泵进程(Data pump):也是源数据库的配置,如果没有它,捕获进程将捕获的数据直接发送到目的系统。在一个使用数据泵进程的环境中,源数据库的捕获进程将捕获的数据改变写到本地的trail文件中,数据泵进程将这些trail文件通过TCP/IP网络发送到目的端。
交付进程(Replicat):运行在目的数据库。它负责读取目的系统接收的trail文件,生成DML和DDL语句,在目的数据库应用。和捕获进程类似,也可以配置为初始化数据同步、数据改变同步两种方式。
收集进程(Collector):当配置了数据改变同步时,这个进程运行在目的系统,它负责完成以下工作:当管理进程接收到连接请求时,查找并绑定一个本地未使用的端口,并将端口号发送给管理进程;接收捕获进程发送的数据库改变,并将它们写入一个trail文件。
2.2 基本复制原理 利用捕获进程在源数据库端读取日志文件,解析提取其中需要捕获的对象的变化,将相关信息转换为GoldenGate自定义的格式保存在trail文件中。再利用数据泵进程将trail文件通过网络传送到目标数据库系统。捕获进程每次读完日志文件并将数据传送到目标数据库系统后,会写检查点,通过检查点来记录当前读取log的位置,检查点机制使捕获进程在发生异常终止并恢复后可以从检查点位置继续捕获信息。
目标数据库系统的收集进程接收数据变化并缓存到它本地的trail文件中,等待交付进程读取数据。
GoldenGate交付进程从队列trail文件中读取数据变化并重建对应的SQL语句,通过目标数据库的本地接口执行,提交到数据库成功后更新检查点,记录复制的位置,数据的复制过程最终完成。整个过程中目标端数据库是活动的。
3 应用效果
在移动某省网上营业厅系统中,随着数据库容量的增长,备份恢复需要的时间也相应增加,需要三、四个小时才能完成。此外,由于经常需要对用户访问情况按不同的维度进行分析,对数据库的性能也造成了很大的压力。通过使用GoldenGate软件,由于主库到备库进行实时的数据同步,可以在备库进行统计查询工作,exp等逻辑备份也可以在备库进行,降低了主库的压力。另外,当主库出现问题,也可以方便的切换到备库,缩短了故障恢复时间。
在移动某省计费业务系统中,需要对重要的数据异地保存。GoldenGate在传输中对数据进行高达9:1的压缩比进行压缩,相比其他的异地备份方法,大大降低了网络传输中的带宽需求。
4 结论
本文分析了GoldenGate的架构和原理以及主要应用场景,并对主要的进程功能进行了简要描述。对于使用GoldenGate软件在企业数据库中实现数据容灾保护等问题进行了有益的探讨。
参考文献:
[1]Oracle GoldenGate Administrator’s Guide,2012.
[2]Ben Prusinski,Steve Phillips,Richard Chung.Expert Oracle GoldenGate,2011.
[3]http://wenku.baidu.com/view/291d13c68bd63186bcebbcd
e.html.Oracle GoldenGate产品介绍.