Setting up a Classic Capture Extract process
1° Classic Capture提取进程简介:
Classic Capture提取进程配置在源端系统上
该进程能够抽取源数据并且持续复制
该进程从源库的redo或归档日志提取数据库事务并记录在内存缓冲区
遇到commit,写入磁盘trail文件;遇到rollback,丢弃
所有平台所有版本的OGG都支持该模式
该模式无法读取压缩数据
2° 配置前的准备:
打开库级最小附加日志
打开表级附加日志
参见《2. Enabling supplemental logging in the source database》
配置MGR进程
参见《6. Setting up a Manager process》
创建存放源端trail文件的目录
为源端trail文件配置一个双字母的前缀名
该前缀在对应trail文件目录中必须是唯一的:
/ggs/dirdat/et*
/ggs/dirdat1/et*
如果前缀相同,则不能放入同一个目录中,否则冲突
3° 源端创建Classic Capture提取进程的步骤:
su - oracle
cd /ggs
./ggsci
EDIT PARAMS EGGTEST1
EXTRACT EGGTEST1
-- 名字和配置文件要保持一致
USERID ggs@tns_name, PASSWORD ggs
-- 如果是RAC或者ASM环境,建议配置tns_name
-- 一般单机环境直接写 USERID ggs, PASSWORD ggs 即可
-- 当然这里的ggs是你创建的用于OGG的数据库用户和密码
-- 参见《4. Preparing the source database for GoldenGate setup》
EXTTRAIL /ggs/dirdat/st
-- 使用绝对路径指定trail文件的路径和双子母前缀
-- 不同的EXTRACT可以指定不同的路径名
-- 如果路径名相同,则双子母前缀不能相同
-- 可以使用相对路径,如 EXTTRAIL ./dirdat/st
-- 相对于OGG的软件安装目录
TABLE scott.*;
-- 指定该抽取进程抽取的表的列表,可以使用通配符
-- 像使用vi命令一样保存编辑的配置文件
-- 上一步是配置该进程的配置文件,现在添加Classic Capture提取进程
ADD EXTRACT EGGTEST1, TRANLOG, BEGIN NOW
-- 可以使用一个时间戳来替代 BEGIN NOW,如 begin 2018-06-03 08:00
-- 即从相应的时间戳抽取redo或者归档到trail文件中
-- 为Classic Capture提取进程添加本地trail文件
ADD EXTTRAIL /ggs/dirdat/st, EXTRACT EGGTEST1
-- 和配置文件保持一致,将trail文件和EXTRACT进程关联起来
START EXTRACT EGGTEST1
status extract EGGTEST1
4° 另外可选的参数:
EOFDELAY n
该参数控制OGG检查源库redo日志的间隔秒数为n秒
EOFDELAYCSECS n
和上个参数相似,单位是厘秒(100厘秒=1秒)
MEGABYTES <N>
该参数控制提取进程的trail文件大小
DYNAMICRESOLUTION
提取进程启动的时候会对所有需要同步的表生成元数据
如果表很多,且进程启动时候一次性全部生成元数据,导致很慢
使用该参数在遇到某个表的时候再去动态的创建该表的元数据
NODYNAMICRESOLUTION
上个参数相反的参数
当生产库负载很高,不能部署OGG时,可以将OGG部署在另外的服务器上
需要将原库的redo传输到备用服务器,并且在该服务器上配置MGR进程
提取进程配置成从备用服务器读取归档的方式:
TRANLOGOPTIONS ARCHIVEDLOGONLY ALTARCHIVEDLOGDEST <path>
如果源库是ASM环境,必须将归档存放在备用服务器的ASM之外的地方
确保Classic Capture的提取进程能够读归档
[TOC]