『Oracle复制技术系列白皮书』Oracle数据库复制软件白皮书(二)

DDS系统结构<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

模块化的系统结构

DDS采用模块化设计,每个模块完成单独的功能,多个模块互相配合工作。这样的设计保证DDS有很好的可扩展性,功能可以做到并发处理,单独的模块维护和升级也不会影响整个软件。模块之间有并发和自我监控机制,即使有部分进程实效,也不会导致工作停止。

物理结构上,DDS包括内存进程和磁盘存储两个部分。内存进程包括后台进程和共享内存区;磁盘存储部分包括日志文件和缓存文件。

 

后台进程

DDS有多组后台进程,每组包括一个或多个相同的进程,进程间通过共享内存区和磁盘缓存交换数据和消息,互相配合工作,启动多个同名的进程表示进行并发处理。源端和目的端在进程的功能和名称上有较大区别,源端主要做日志的分析和传输,目的端则负责交易的接收和装载。

源端主要进程:

Ø        DDS_PMONS负责建立共享内存、信号灯、消息队列,监控系统其它进程的状态,重起异常退出进程并报告状态;

Ø        DDS_PMSGS负责收集其它所有进程报告的各种错误信息,将错误信息存放到日志文件 msg.log中;

Ø        DDS_PRECVS负责接收界面发送来的管理命令并执行;

Ø        DDS_PTRACK负责跟踪数据库redo log动态增量信息;

Ø        DDS_PMERGE负责将DDS_PTRACK 输出的增量信息进行过滤、合成;

Ø        DDS_PCOMM负责将DDS_PMERGE 输出的信息发送到目标端;

Ø        DDS_PCLEAN负责将 DDS_PMERGEDDS_PCOMM没有成功处理的数据包提交进行处理;
 
 

1 DDS 源端体系结构

 

PTRACK 跟踪到 redo log 增量信息,将其写入共享内存,并通知 PMERGE   进行处理, PTRACK 同时将此数据包写入缓存目录 $DDS_DATA/track 中,以便后续进程没有成功处理或系统其它异常情况时,这些数据能够恢复并重新进行处理。

PMERGE 收到 PTRACK PCLEAN 的通知,将收到的数据包进行各种必要的处理,生成处理后的数据包,将新数据包写入共享内存,并通知 PCOMM   进行处理。

PCOMM   收到 PMERGE PCLEAN 的通知,将收到的数据包发送到目标端系统,如果发送不成功(目标系统未启动、网络故障),将数据包写入缓存目录 $DDS_DATA/comm 中。

PCLEAN 清道夫进程,负责将缓存中未处理的数据包提出并请求 PMERGE PCOMM 重新进行处理。

 

目的端主要进程:

Ø        DDS_PMONT 负责建立共享内存、信号灯、消息队列,监控系统其它进程的状态,重起异常退出进程并报告状态;

Ø        DDS_PMSGT 负责收集其它所有进程报告的各种错误信息,将错误信息存放到日志文件 msg.log 中;

Ø        DDS_PRECVT 负责接收界面发送来的管理命令并执行,接收增量数据包,装载历史数据;

Ø        DDS_PSCHED 负责调度待装载事务并通知装载进程开始工作;

Ø        DDS_PPUT 负责装载增量信息到数据库中;

Ø        DDS_PRID 统一负责所有并行装载进程的 rowid 存取;

 

 
PRECVT 接收由 源系统 发送的增量数据包后,通知 PSCHED 调度进程进行处理;接收界面发送过来的各种命令,处理后发送结果返回到界面;接收历史数据,并启动数据库导入工具将历史数据导入到数据库中。

       PSCHED 在收到 PRECVT 的通知后,查询是否有数据包等待装载,如果有,则将数据包装载到共享内存中,将数据包分成事务列表,启动不同的 PPUT 装载进程进行操作。

       PPUT 在收到 PSCHED 的装载通知后,在共享内存事务控制表中选择一个合适的事务,将此事务在目标中数据库重演再现。

PRECVT 接收由 源系统 发送的增量数据包后,通知 PSCHED 调度进程进行处理;接收界面发送过来的各种命令,处理后发送结果返回到界面;接收历史数据,并启动数据库导入工具将历史数据导入到数据库中。

       PSCHED 在收到 PRECVT 的通知后,查询是否有数据包等待装载,如果有,则将数据包装载到共享内存中,将数据包分成事务列表,启动不同的 PPUT 装载进程进行操作。

       PPUT 在收到 PSCHED 的装载通知后,在共享内存事务控制表中选择一个合适的事务,将此事务在目标中数据库重演再现。
 
 
 
 
 
 
oracle ORACLE Oracle ora ORA Ora 数据库 shujuku 9i <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />10g11g 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 程序 进程 网络 距离 远程 异地 公里 跨平台 行业 异构 成功案例 案例 项目 规划 设计 方案 白皮书 技术 报告 测试报告 文档 验收 竞争分析 测试 迁移 migration qianyi 在线 部署 集成 通信 工程 开放 封闭 服务 service fuwu 模块 模块化 地址 体系结构 延迟 时间 特点 优势

dataguard 高级复制 逻辑复制 物理复制 逻辑容灾 物理容灾 log redolog redo 日志 日志分析 analysis stream streams 流复制 保护 baohu

对象 object 类型 type 存储过程 procedure trigger 触发器 序列 sequence 权限 sqlplus 外部表 OMS 物化视图 试图 view 索引 index 提交 commit 回滚 rollback OCI imp exp 导入 导出 select insert update where alter recovery recover mount v$obj

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 gzip

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 GUI EJB C C++ unix Linux 界面 游戏 工具 tools 查询 报表 即席查询 抽取 转换 装载 ETL 功能