『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_PMERGE和DDS_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
功能
转载于:https://blog.51cto.com/replication/41179