goldendate配置单项同步
源数据库 extract抽取进程 trail文件 复制进程 目标进程
由于最开始配置goldengate的时候,没有弄清除原理,导致出错了都不知道怎么解决。
最简单的配置方式,先把简单了弄懂了,其他那些复杂的就能了解了。
在配置之前注意:
源数据库开启归档日志,并开启最小附加日志模式。
oracle数据库需要开启归档日志,并开启最小附加日志模式。
SQL> select supplemental_log_data_min from v$database; --查看是否开启了最小附加日志模式
SQL> alter database add supplemental log data; --开启最小附加日志模式
实际生产应用中,最好同时打开ORACLE的强制日志模式,以防止源数据库因直接路径加载忽略redo生成而导致这部分数据无法同步:
SQL> select force_logging from v$database;
SQL> Alter database force logging;
配置源数据库
配置mgr进程
edit param mgr >> 进入配置 只有端口(也可以配置其他数据),可以自定义端口
port 7820
开启mgr进程
start mgr
配置extract抽取进程
先添加抽取进程
add extract extl ,tranlog,begin now 说明:extl,自定义命名抽取进程的名称(小于8字符),tranlog 表示日志方式,begin now 表示立即生效
配置extl 抽取进程
edit param extl
配置内容:
extract extl ----->> 抽取进程
userid abc,password abc ----->>源库用户名密码
rmthost 10.167.70.57,mgrport 7820 ------>> 目标库的ip和目标库的端口
rmtrtrail /oracle/app/ogg/dirdat/rt ------>>目标库接收trail的文件路劲(之前出问题原因是一直以为该源库的路劲接收trail文件。。。当时流程路没仔细看)
gettruncates ----->> 抓取truncate数据
table abc.goods ------->>这个就是你要抓取的表,自定义
参数配置完成后,给抽取进程添加远端队列
add rmttrail /oracle/app/ogg/dirdat/rt extract extl ------>> 目标库接收trail的文件路径
打开抽取进程
start extl
配置目标数据库
首先配置mgr进程
edit params mgr --->更改端口
port 7820
开启mgr进程
start mgr
配置replicat复制进程
edit param repl
配置参数
replicat repl ----->>复制进程名
userid abc,password abc ------>>目标数据库的帐号密码
assumetargetdefs ----->>两台数据库数据结构一致则使用此参数
reperror default,discard ----->>如果复制数据出错则忽略
discardfile ./dirdat/error,append,megabytes 10 ----->>错误信息写入XXXX文件,追加模式,最大10m
gettruncates ----->>复制truncate操作
map abc.goods, target abc.goods; ----->>映射关系,注意target前必须留一个空格
完成后,新增复制进程
add replicat repl exttrail /oracle/app/ogg/dirdat/rt ,begin now,nodbcheckpoint –新增复制进程,使用对应的队列rl,即刻开始,使用文件检查点
然后打开复制进程
start repl
个人总结:源数据库抓取日志信息后,将日志信息传送到远端队列,通过rmttrail设置的路劲文件中,然后目标数据库通过replicat进程复制本地的trail文件内容,然后通过日志捕获同步到目标数据库中,因为初学,如有错误请博友指正。