【oracle灾备方案系列】基于DDS的Oracle灾备方案(二)
1. DataGrid DDS数据复制系统建设方案
1.1. 需求分析
我国证券企业的数据保护系统建设目前还处在起步阶段,大多只拥有简单的备份手段,而且目前的备份手段多是基于应用开发,对业务交易系统影响较大,只能提供数据库表级别的备份和恢复,在手段上比较单一。因此,目前的证券企业对交易系统的数据保护需求是非常迫切的,尤其是在普遍采用集中交易模式之后,数据丢失的风险和可能带来的经济损失进一步的增加。而最重要的交易数据就存在于后台系统。对核心数据库和系统的数据保护将成为整个灾备系统建设需求的重点。
1.2. DataGrid DDS 数据复制方案
在此,我们提出灾备统一的数据复制保护方案。推荐使用具有国际领先技术的
DataGrid DDS
数据库远程灾备产品,能够支持跨平台远程的
Oracle
数据实时复制。能够预防自然灾害、系统宕机等物理故障,快速实施系统切换。满足当前和未来证券公司对灾备的需要。
1.2.1. 软件部署
DataGrid DDS
同时支持实时复制和定时复制两种工作模式,实时复制一般用于容灾,定时复制一般用于备份。一般情况下,本地建立一套定时复制系统,远程建立一套实时容灾系统,采用一对多的复制拓扑结构,由两个系统完成统一的灾备部署。
如果有多套
Oracle
生产数据库,例如基金公司主要有
4
个系统,则可以使用多对一的复制模式,用一个灾备库存储所有生产系统的数据,进行集中灾备。每个应用系统的数据与灾备库的数据以
schema
为单位一一对应。
1.2.2. 拓扑结构
1.2.3. 软件安装配置
DataGrid DDS
复制软件分为
Source
和
Target
两个部分,
Source
模块安装在复制的源端;
Target
模块安装在复制的目标端。源端和目标端互相对应。
为了实现数据复制,首先需要安装和配置
DataGrid DDS
软件:
软件安装包括数据源端和复制目标端的软件安装,二者在安装时都不会对系统的运行产生影响,从而无需业务中断。
同时,
DataGrid DDS
的参数配置也非常简单,只需要配置所有参加复制的服务器
IP
地址和
port
号,以及参加复制的
database
的参数等。
复制关系的映射有两种方式:
1
、以表为单位;
2
、以用户为单位。对于那些数据库中拥有大量数据表
(table)
的系统,采用
DataGrid DDS
以“
USER
”为复制单位的配置复制关系比较简单。
1.2.4. 初始化复制环境、进行初始数据同步
复制环境的建立,首先需要将生产系统中的已有数据初始化同步到目标系统上,同时记录各种系统状态和映射关系等。因此如何快速、有效的建立复制的初始化环境是每个复制系统都非常关心的问题。
在传统办法中,数据首次同步过程大都采用
Oracle
的
EXP/IMP
工具,将源端数据库数据抽取出来,通过网络传输至目标端数据库进行加载。或者是借助第三方的备份软件工具,将源端的数据进行备份,再通过磁带运输至目的地,将磁带数据恢复到目标数据库,从而达到首次数据同步的目的。
这种方式存在大量的问题:
1.
性能低下:通过
Export/Import
方式,最大的问题在于性能很慢,对于一个几十
GB
的数据库,进行一次
export/import
,则大约费时
8
-
10
小时以上。
2.
完全需要手工干预:数据的导出(
Export
),传输和装载(
Import
)等过程都需要手工干预和执行。
3.
业务必需停止:在执行
export/imp
过程中,业务一般需要中断。
4.
易出错:尤其在
Import
过程中,由于表之间的关联性存在,往往出现由于违反参照完整性规则而导致装载中断,非常难于操作。
而
DATAGRID DDS
在数据的一致性同步方面有着非常好的解决方案,这是其它方案所不具备的。
DataGrid DDS
集成有数据的一致性同步工具,能够自动化的进行数据的首次同步和出现差异情况下进行一致性同步的工作,无需人工干预,维护工作量小,且大大提高了工作效率:
1.
速度快:对于几十
GB
的数据量,在系统正常且带宽充足的情况下,只需要
1
小时左右完成初始数据同步。
2.
完全自动化:采用
DataGrid DDS
只需要1条命令就完成系统的初始化工作,系统自动进行导出、传输和装载任务,完全无需人为干预,减少出错机会。
3.
不中断业务:在
DataGrid DDS
在进行首次数据同步时,无需停止交易生产业务,实现不停机的系统初始化;
1.2.5. 实时复制
当对系统的初始化环境工作结束后,
DataGrid DDS
自动进入实时复制状态,无需手工干预。
1.2.6. 灾难后的数据恢复
在业务数据库系统发生灾难的情况下,此时可使用灾备数据库首先接管业务,然后进行数据的反向恢复。具体步骤为:
1.
数据库发生灾难,业务交易业务停止;
2.
修改
TNS
的指向,将业务指向灾备的数据库,接管业务;
3.
应用系统重新连接灾备数据库,完成业务接管;
4.
停止
DataGrid DDS
复制进程;
5.
排除系统故障;
6.
恢复原业务系统的
Oracle
数据库
7.
启动
DataGrid DDS
进程
8.
将数据反向批量同步到原系统上,此过程中灾备数据库继续进行业务处理,无需中断
9.
数据重新同步结束后,停止灾备数据库的业务
10.
修改
TNS
指向,将业务指向原来的(已经恢复的)数据库
11.
应用系统重新连接集中交易数据库,完成业务回切
12.
配置
DataGrid DDS
进行正向复制
以上过程是利用灾备中心的系统首先接管业务后,再进行生产中心的修复和数据的反向复制,因此不会造成长时间的业务中断。
1.3. 复制系统的有效性
1.3.1. 数据丢失情况
DataGrid DDS
解决方案在一般性灾难发生时不存在数据丢失。这些一般灾难包括数据库失败、操作系统失败等等。对于一些极端的情况下,掉电、站点失败时,
DataGrid DDS
也作了大量测试不会出现数据丢失(但从理论上讲这些极端情况无法
100%
避免数据丢失,因为这种情况可能造成了系统的严重破坏)。
l
网络失败:网络恢复时继续复制,没有数据损失。
l
数据库关闭:数据库恢复时从断点继续复制,没有数据损失。
l
操作系统重起:重新启动复制软件,从断点处继续复制,没有数据损失。
l
掉电:
DataGrid Replication
也作了大量测试不会出现数据丢失(但从理论上讲这些极端情况无法
100%
避免数据丢失,因为这种情况可能造成了系统的严重破坏)。不过对于重要的生产系统一般通过
UPS
预防断电情况
,
发生概率非常小
.
。
l
站点失败:由于目标系统在线可用,不存在任何数据风险。但对于还没来得及传输到目标系统的数据可能出现丢失。
1.3.2. 数据延迟
DataGrid DDS
是一种异步准实时的复制技术,其数据延迟非常小。数据延迟的周期可以设置,在生产系统中,数据延迟和源系统复制事物的多少,事物的处理方式有关,以及跟设置的
log
数据轮询周期有关。在复制数据量正常的
OLTP
系统中,数据延迟一般在几秒钟。
1.3.3. 复制环境的健壮性
DataGrid DDS
方案具备足够的健壮性。源系统和目标系统的任何故障都不会影响到复制环境。在以下故障发生时,
DataGrid DDS
故障处理方法如下:
l
源系统主机故障:源系统主机故障修复后,当
Oracle
数据库和操作系统重新启动后,
DataGrid DDS
自动重试连接数据库,并从断点继续进行复制工作。
l
数据库故障:当源系统数据库故障修复后,当
Oracle
数据库重新启动后,可以从断点继续进行复制工作。
l
复制软件故障:当复制软件的进程遇到问题时,可以自动重起相关进程。如果不能自动重启,也可手工重启进程。进程的重启不会对复制数据产生影响。
l
网络故障:当网络恢复后可以自动从断点进行复制工作。
l
目标系统的主机故障:数据存储在目标系统队列中,当目标系统主机故障修复后,从断点继续进行复制工作。
l
数据库故障:数据存储在目标系统队列中,当目标系统数据库修复后,从断点继续进行复制工作。
1.3.4. 事物的完整性和可用性
DataGrid DDS
是一个数据库级的软件解决方案,其复制的基本单位就是一个事务
(Transaction)
,
DataGrid DDS
在从
oracle log
中读取到交易数据后,根据交易的关系,将属于一个事务的所以操作组合在一起,以一个基本单位发送给目标端,目标端在执行时也严格按照交易进行,因此严格保证了交易的完整性。
对于事务与事务之间的顺序,
DataGrid DDS
严格按照
ORACLE
的
SCN
标记进行排序。确保事务之间的先后秩序。
1.3.5. 复制系统资源占用
1.3.5.1. 对源系统性能的影响
与其它类型的复制产品比较,
DataGrid DDS
要求的整体系统资源很少。无须采购指定型号的硬件,如磁盘阵列;不需要特殊基础软件配合,如专用文件系统;也不需要应用软件支持,完全无关。
对于单个系统的资源使用,平均的
CPU
利用率为
5%
左右,内存使用小于
100MB
,在没有交易处理工作的时候,不占用系统资源。这样的资源使用基本不会对数据库的运行产生任何影响。
同时,
DataGrid DDS
在安装调试过程不会改动数据库,也不涉及文件系统、操作系统和数据卷。完全能够在业务系统不停机甚至工作状态下实施安装、调试。而其他的解决方案可能需要停机,甚至改动软硬件的配置。对生产系统将会产生较大的影响。
1.3.5.2. 对网络资源的使用
DataGrid DDS
方案所需网络带宽很少
,
能够在有限传输带宽上保证复制工作不延迟。
因为
DataGrid DDS
复制操作只是读取操作系统的日志文件
,
同时通过
TCP/IP
方式而不是采用中间件方式传输只发生改变的数据也使网络负载降至最低。通常情况下
DataGrid DDS
传输的数据量只相当于日志的三分之一,而且传输过程中还有压缩机制。
1.3.5.3. 对系统扩容的影响
DataGrid DDS
解决方案对今后的扩容没有任何影响。使用
DataGrid DDS
,
源数据库和目标数据库可以运行在不同类型的操作系统和同一
Oracle
数据库的不同版本上。同时,也能够支持不同类型的磁盘阵列。这不仅能够满足目前异构环境,还能适应未来的扩展需求。随着业务量规模的不断扩大,在硬件升级时,新旧硬件产品可以随意调换,不受限制。
oracle ORACLE Oracle ora ORA Ora
数据库
shujuku 9i 10g 11g database db dbms rdbms sqlserver sybase informix db2 mysql postgres
数据仓库
shujuchangku sql SQL
表
table biao
表空间
tablespace biaokongjian
用户
user yonghu
模式
schema moshi
事物
transaction transactions shiwu
交易
jiaoyi
实例
instance RAC rac OPS ops
实时
shishi
定时
传输
chuanshu
自动
auto
缓存
buffer
内存
磁盘
目录
文件系统
file system
操作系统
OS
内核
kernel
分发
集中
fenfa jizhong
数据
data shuju track merge comm communication
程序
进程网络
距离
远程
异地
公里
跨
跨平台
行业
异构
成功案例
案例
项目
dataguard
高级复制
逻辑复制
物理复制
逻辑容灾
物理容灾
log redolog redo
日志
日志分析
analysis stream streams
流
流复制
保护
baohu
对象
object
类型
type
存储过程
procedure trigger
触发器
序列
sequence
权限
sqlplus
外部表
OMS
物化视图
试图
view
索引
index
emc SRDF timefinder netapp snapassure mirror
镜像
veritas VVR vxfs netbackup hp truecopy ibm pprc sun hds
快照
复制
阵列
阵列复制
存储
存储复制
data guard DSG dsg Quest Shareplex SHAREPLEX SharePlex rongzai fuzi
容灾
复制
备份
软件
RUANJIAN ruanjian realsync snapassure goldengate ireflect datamirror toad beifen SAN NAS DAS
rongzai
成本
cost
带宽
网络
ip
压缩
yasuo wangluo daikuan chengben iot logminer
进程
process
打开
open
ods ODS OSS BSS BOSS erp crm
交易系统
jiaoyixitong
管理系统
guanlixitong
监控系统
jiankongxitong
采集系统
caijixitong
支撑系统
zhichengxitong
业务系统
yewuxitong
业务
yewu
核心系统
核心
hexin
中间业务
增值业务
前台
后台
houtai
前置
账务
zhangwu
处理
process
管理
management Java j2ee web
界面
游戏
工具
tools