Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2217067
  • 博文数量: 287
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2130
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 14:30
个人简介

自己慢慢积累。

文章分类

全部博文(287)

分类: LINUX

2014-11-12 17:07:52

有时,我们会发现 replicat 进程的状态显示为 running,而 report 却显示未更新任何记录。造成这种现象主要有 4 种原因:
1、replicat 进程正在读取错误的 trail 记录
2、replicat 进程正在读取错误的 trail 文件
3、指定的表名称格式不正确
4、replicat 或 extract 进程 hang 住

发生上述四种情况时,进程的状态会显示为 running,但是查看 report 会发现没有复制任何记录。
如果是第一种情况:
执行 info extract,detail 或查看 extract 参数文件中的 rmttrail 参数
执行 info replicat,detail 或查看 replicat report
replicat 进程正在读取的 trail 文件的名称、主机、和路径必须和 extract 进程参数中指定的一样

如果是第二种情况:
执行 info replicat,detail 或者查看 replicat report
执行 ls- l 查看目标端的 trail 文件,检查正在读取的 trail 文件是否才能知道,replicat 进程正在
读取的 trail 文件的结尾未衔接到下一个可用的文件

解决方法:执行 alter replicat rep_name,extseqno nnnnnn,extrba 0 师 replicat 切换至下啊一耳光文件,然后重启 replicat 进程。
此现象通常由源端执行 etrollover 操作引起。通常我们需要修改整个同步流程中的 extract、pump 和 replicat 进程的 extseqno 和 
extrba 才能解决问题。

如果是指定的表名称格式不正确:
则对 trail 文件执行 logdump 检查 trail 文件中的表名称是否与 replicat 进程参数中指定的 schema.table_name 一致

如果是进程 hang 起:
通常情况下 extract 进程 和 replicat 进程、mgr 进程都有可能出现 hang 的情况。
可以执行 ps -ef | grep proecess_name 进程查看是否运行着多个进程,或者在 ggsci 中执行 stop 操作,查看进程是否
能够正常停起,如果不行,很多时候我们直接 kill process_name (可以在 ggsci ,也可以在 os 中) 重启进程便可解决
问题。


转载请注明作者出处及原文链接:

http://blog.csdn.net/xiangsir/article/details/8728747

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