ogg日常维护

ogg 日常维护  共同学习交流 请加群(385215695)
 

1.启动GoldenGate
su - oracle
cd ogg安装目录
./ggsci


start *  //启动所有进程
start 进程名 //启动单独进程
start extract * /start replicat * // 启动所有的extract 或者replicat




2.查看GoldenGate各进程状态
Running: 正常运行
Stopped: 正常停止或未能启动
Abended: 异常中断,需要通过以下命令查看报告,找出出错原因


查看进程状态
Info all //查看所有进程运行状态
Info repa //查看某个进程运行状态


查看进程详细信息
Info exta, detail //查看指定进程详细信息
Info exta, showch //查看某个进程的检查点信息,当需要重启时有用


3.查看GoldenGate各进程状态(续一)
View report exta //查看指定进程运行报告。如果出现abend一般要查看报告找出错误信息。进程报告存放在dirrpt目录下
以进程名大写开头,以rpt为后缀。


查看进程延时
LAG exta //查看指定进程复制延迟
检查点信息解读
info exta,showch
EXTRACT EXTGA Last Started 2010-02-10 17:54 Status
STOPPED
Checkpoint Lag 00:00:00 (updated 306:56:35 ago)
Log Read Checkpoint Oracle Redo Logs
2010-02-10 18:07:51 Seqno 44, RBA 25725440


Current Checkpoint Detail:
Read Checkpoint #1
Oracle Redo Log
Startup Checkpoint (starting position in the data source): //启动位置
Sequence #: 44
RBA: 22935568
Timestamp: 2010-02-10 17:54:38.000000
Redo File: C:\APP\LARRY\ORADATA\GGS\REDO02.LOG
Recovery Checkpoint (position of oldest unprocessed transaction in the data
source): //当前重启需要读取的最早日志,也就是最早未提交的交易开始位置
Sequence #: 44
RBA: 25724944
Timestamp: 2010-02-10 18:07:51.000000
Redo File: C:\APP\LARRY\ORADATA\GGS\REDO02.LOG
Current Checkpoint (position of last record read in the data source):
Sequence #: 44 //当前检查点位置,表示在此之前所有提交的交易已经完成复制
RBA: 25725440
Timestamp: 2010-02-10 18:07:51.000000
Redo File: C:\APP\LARRY\ORADATA\GGS\REDO02.LOG


Write Checkpoint #1 //写检查点,表示写到什么位置
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 14
RBA: 32937
Timestamp: 2010-02-10 18:07:54.703000
Extract Trail: D:\ggs\ggs\dirdat\ra




4.查看GoldenGate各进程状态(续二)


 一个Replicat进程检查点示例
Ggsci>Info repa,showch
Current Checkpoint Detail:
Read Checkpoint #1
GGS Log Trail
Startup Checkpoint (starting position in the data source):
Sequence #: 13
RBA: 991
Timestamp: 2010-02-10 17:53:14.750000
Extract Trail: D:\ggs\ggs\dirdat\ra
Current Checkpoint (position of last record read in the data source):
Sequence #: 14
RBA: 32937
Timestamp: 2010-02-10 18:07:45.000000
Extract Trail: D:\ggs\ggs\dirdat\ra


5.停止GoldenGate
su - oracle
cd ogg安装目录
./ggsci


针对所有直接读Oracle日志的ext进程
– 执行info exta, showch命令
– 查看每个进程的所有Read Checkpoint #1 -> Recovery Checkpoint
-> Sequence # (如果是RAC会有多个)
– 到数据库归档日志中查看该日志是否存在,如果该归档存在(或者能
还没有进入归档)则可以安全停止ext进程。否则需要进行特殊处理再
重启,参考后节内容。
说明:本步骤是要验证所有读日志的进程所需的最早日志在重启时依然
可用。GoldenGate重启后需要重新分析这些进程中那些尚未提交的
交易。


选择执行以下命令停止各进程
stop er * //启动所有抽取和复制进程
stop exta/dpea/repa //单独启动某个进程
stop extract */start replicat * //启动所有的extract或者replicat进程
执行stop mgr 命令停止mgr。注意除非修改mgr进程参数,否则mgr一般不需要停止。


6.长交易处理


GoldenGate在提交前将交易缓存在内存和硬盘中,一旦
进程停止则会丢弃这些信息,重启时根据检查点重新读取
GoldenGate提供了一些命令来查看和处理这些长交易
- 查看长交易的方法
send extract <进程名>,showtrans [thread n] [count n]
其中,进程名是要查看的进程名,如exta/dpea/repa
thread n 是可选的,表示只查看其中一个节点上的未提交交易,只用于RAC;
count n 也是可选的,表示只显示n条记录。
例如 查看extsz进程中节点1上最长的10个交易,可以通过下列命令
send extract exta ,showtrans thread 1 count 10


输出结果是以时间降序排列的所有未提交交易列表,通过xid可以查找到对应的事务,请应用开发商和DBA帮助可以查找出未提交原因,通过数据库予以提交或者回滚后GoldenGate的checkpoint会自动向前滚动。
 使用GoldenGate命令跳过或接受长交易的方法
在GoldenGate中强制提交或者回滚指定事务,可以通过以下命令(<>中的为参数):
Ggsci> SEND EXTRACT <进程名>, SKIPTRANS <5.17.27634> THREAD <2> //跳过交易
Ggsci>SEND EXTRACT <进程名>, FORCETRANS <5.17.27634> THREAD <1> //强制认为该交易已经提交
说明:使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议使用数据库中提交或者回滚交易而不是使用GoldenGate处理。


7.长交易告警
可以在extract进程中配置长交易告警,参数如下所示:


extract extsz
……
warnlongtrans 12h, checkintervals 10m
exttrail /backup/goldengate/dirdat/sz
….
以上表示GoldenGate会每隔10分钟检查一下长交易,如果有超过12个小时的长交易,GoldenGate会在根目录下的ggserr.log里面加入一条告警信息。可以通过察看ggserr.log或者在ggsci中执行view ggsevt命令查看这些告警信息。以上配置可以有助于及时发现长交易并予以处理。


说明:在OGG 11g中,extract提供了BR参数可以设置每隔一段时间(默认4小时)将长交易缓存到本地硬盘(默认dirtmp目录下),因此extract只要不停止一般需要的归档日志不超过8个小时(极限情况)。但是如果extract停掉后,便无法再自动缓存长交易,需要的归档日志就会依赖于停机时间变长。




8.配置自动删除过期队列
su - oracle
cd ogg安装目录
./ggsci
purgeoldextracts ./dirdat/*, USERCHECKPOINTS, MINKEEPDAYS 7
第一个参数为队列位置,*可匹配备份中心所有队列文件
第二个参数表示是根据检查点计算时间
第三个参数表示最小保留多少天,后面的数字为天数。


如果希望只保留队列/ggs/dirdat/rt文件10天,可以配置如下
purgeoldextracts ./dirdat/rt, usercheckpoints, minkeepdays 10
重启mgr进程
stop mgr
输入y确认停止
start mgr
注:临时停止mgr进程并不影响数据复制进程。


9.配置自动定时重启extract和replicat进程
su - oracle
cd ogg安装目录
./ggsci


执行edit param mgr编辑管理进程参数,加入以下行
AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 60
以上参数表示每5分钟尝试重新启动所有进程,共尝试三次。以后每60分钟
清零,再按照每5分钟尝试一次共试3次。


停止和重启mgr进程,使修改后的参数文件生效
GGSCI > stop mgr
GGSCI > start mgr


10.修改复制表结构
当数据库需要复制的表结构有所改变,如增加列,改变某些
列的属性等表结构改变后,可以按照下列步骤执行:
– 各进程使用lag exta验证无较大延迟(秒一级即可);
– 各进程执行info exta,showch并验证ext进程重启所需日志存在;
– 按顺序停止源和目标端进程;
– 源和目标端执行修改表结构;
– 如表有主键(或唯一索引)且本次修改未修改主键,则直接重启进程;
– 但如果表无主键或者本次修改了主键(或唯一索引)则需继续执行下
列步骤重建附加日志;
 ggsci> dblogin userid goldengate, password XXXXXX
 ggsci> delete trandata schema.mytable
 ggsci> add trandata schema.mytable
– 重新启动源端和目标端的抓取和复制进程。
– 注意:表结构变化后必须要重启ext/rep进程!否则各进程将按照旧
的结构进行复制,会导致数据无法正确复制。


11.增加复制表
1) 对于新增表,首先要在源端对其加入supplemental log。
– GGSCI 〉dblogin userid goldengate, password goldengate
– GGSCI > info trandata <schema>.<table name>
– 如果不是enable则需要手动加入:
– GGSCI > add trandata <schema>.<table name>
2) 在源端系统上ggsci中执行stop extXX停止源端的抓取
进程(注意检查所需最老归档日志是否存在);
3) 在目标端系统上ggsci中执行stop repXX停止目标端的
复制进程;
4) 在源端修改ext进程参数,添加新表:
– Ggsci> edit param extXX
在文件最后加入一行“table myschema.newtable;” 注意写全schema和
表的名称。




12.增加复制表(续一)
在目标端修改rep进程所包含的列表文件:
GGSCI>edit param repXX
在assumetargetdefs下面加入一行:
Handlecollisions //注:如果是空表的话不用加此冲突处理参数
结尾加入一行“map ***.XXX, target ***.XXX;”注意写全schema和表
的名称。
 在源端执行exp将该表数据导出;(可选步骤,仅用于需要
执行初始化的表;如表为新表,可以直接在备份端执行建表
sql,然后执行重起即可)
 在目标端执行imp将该表数据导入;(可选步骤,仅用于需
要执行初始化的表)
 在目标端系统上启动复制进程 repXX
 GGSCI > start repXX
 在源端系统上启动源端的抓取进程extXX和传输进程dpeXX
 GGSCI > start er *


13.增加复制表(续二)
 在目标端系统上去掉冲突处理(如果不需要去掉冲突处理则
无需做此步)
GGSCI > lag repXX
直到AT EOF,停止repXX进程:
ggsci>stop repXX
修改repXX.prm:
ggsci>edit param repXX.prm
在handlecollions前面加—将其注释掉;
重新启动repXX:
ggsci>start repXX
即可进入正常复制状态。


14.删除复制表
 要移除某个复制表,则执行以下步骤
– 直接源端的进程参数文件中注释掉包含该表的table行
– 目标端同样在rep进程里面注释掉包含该表的map行
– 源端使用info exta,showch查看检查点并验证归档日志是否存在,然
后重启ext进程
– 目标端直接重启rep进程


--15.GoldenGate问题处理步骤
 如果GoldenGate复制出现异常,可以通过以下步骤尝试解
决问题:
– 通过ggsci>view ggsevt查看告警日志信息;
– 通过ggsci>view report命令查找ERROR字样,确定错误原因并根据
其信息进行排除;
– 检查两端数据库是否正常运行,网络是否连通;
– 重新启动进程察看是否能正常复制;
– 如不能确定错误原因,则可以寻求技术支持,需要提供以下信息:
 操作系统、数据库、GGS版本
 错误描述
 进程报告,位于dirrpt下以进程名字大写开头加一个序列号,
以.rpt结尾;
 GGS日志ggserr.log,位于GGS主目录下;
 Ggsci中对出错进程执行“info 进程名,showch”,将输入放到文
本里提供给技术支持。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29615265/viewspace-2139610/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29615265/viewspace-2139610/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值