Chinaunix首页 | 论坛 | 博客
  • 博客访问: 292976
  • 博文数量: 60
  • 博客积分: 1437
  • 博客等级: 中尉
  • 技术积分: 632
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-10 14:12
文章存档

2012年(7)

2011年(53)

分类: Oracle

2011-02-11 15:01:29

   在ORACLE GG中,为了支持连续地提取与复制数据库变化,Oracle GG将捕捉到的数据变化临时存放在磁盘上的一系列文件中,这些文件就叫做trail文件!这些文件可以在source DB上也可以在目标DB上,也可以在中间系统上,这依赖以你的配置情况。在source DB上的叫做local trail或者extract trail,在目标端的叫做remote trail。需要注意的是,只有primary extract进程需要写trail文件,并且仅有一个extract进程写一个trail文件,注意,这里是只是,那么谁来读取这个文件呢?我们知道extract进程是提取变化数据的,可以配置它写local trail,或者是remote trail,如果是写local trail,那么就是data pump进程负责读取trail文件里的内容并传递给target端的trail文件中,如果是配置extract写remote trail,那么就是Replicat进程负责来读取trail文件中的内容并应用之!
   综上所述,我们知道读trail文件的进程有如下两个:
1.data pump进程:data pump从local trail文件中读取数据以便处理,如果需要,data pump会将数据传递到目标端或者下一个GG的处理进程中。
2.replicat进程: replicat读取数据并应用到目标数据库。
   默认,trail文件是10M一个,在添加trail文件时指定,也可以通过alert命令来修改,需要注意的是所有的文件名都要以两个字母开始,在创建trail的时候指定,然后,后面会自动跟上6位数字,从000000到999999,例如:c:\ggs\dirdat\tr000001,默认trail文件是存放在GG的dirdat子目录中。
  trail文件的aged是由PURGEOLDEXTRACTS参数来控制的,过期后就自动删除。默认,extract进程以append模式添加数据到trail文件中。当一个extract进程失败了,一个恢复标记会写到trail文件中。

Data pump或者replicat进程从恢复点读取数据。





阅读(2544) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~