OGG新版本出来后,大部分情况都会选择升级到新版本,不过也存在部分原因导致只能用11G的ogg,但是又因为存在部分bug等原因,要做11G小版本之间的升级,如从11.1.x.x.x升级到11.2.1.0.1,下面对这种情况做个简单的步骤说明。
1.停止所有进程
源端和目标端的进程全部停止,包括mgr进程
GGSCI>stop *
GGSCI>stop mgr
本文采用用新版本覆盖就版本的方法升级,故防止进程信息丢失,记录当前各进程的信息
源端:
GGSCI (qzdb2) 2> info * EXTRACT EXT1 Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag unknown (updated 02:07:16 ago) Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:30:09 Thread 1, Seqno 162502, RBA 373017020 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:28:59 Thread 2, Seqno 85757, RBA 1029120 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:29:14 Thread 3, Seqno 39513, RBA 1349712 EXTRACT EXT1DP Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:07:14 ago) Log Read Checkpoint File ./trails/w1002906 2016-12-08 07:29:49.000000 RBA 9404504 EXTRACT EXT2 Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:07:13 ago) Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:30:09 Thread 1, Seqno 162502, RBA 373017020 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:28:59 Thread 2, Seqno 85757, RBA 1029632 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:29:14 Thread 3, Seqno 39513, RBA 1349712 EXTRACT EXT2DP Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:07:11 ago) Log Read Checkpoint File ./trails/w2008990 2016-12-08 07:30:09.000000 RBA 6816055 EXTRACT EXT3 Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:07:09 ago) Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:30:09 Thread 1, Seqno 162502, RBA 373017020 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:28:59 Thread 2, Seqno 85757, RBA 1029632 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:29:14 Thread 3, Seqno 39513, RBA 1349712 EXTRACT EXT3DP Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:07:08 ago) Log Read Checkpoint File ./trails/w3000321 2016-12-08 07:30:08.000000 RBA 3873403 EXTRACT EXT4 Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:07:07 ago) Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:30:09 Thread 1, Seqno 162502, RBA 373017020 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:28:59 Thread 2, Seqno 85757, RBA 1030144 Log Read Checkpoint Oracle Redo Logs 2016-12-08 07:29:14 Thread 3, Seqno 39513, RBA 1349712 EXTRACT EXT4DP Last Started 2016-12-07 12:00 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:07:05 ago) Log Read Checkpoint File ./trails/w4002813 2016-12-08 07:30:09.000000 RBA 8638179
目标端:
GGSCI (QZJHK) 8> info * REPLICAT REP1 Last Started 2016-11-14 18:46 Status STOPPED Checkpoint Lag 00:00:00 (updated 00:10:27 ago) Log Read Checkpoint File /oradata/ggs/trails/w1007920 2016-12-08 07:29:49.236830 RBA 9404532 REPLICAT REP2 Last Started 2016-11-14 18:46 Status STOPPED Checkpoint Lag 00:00:00 (updated 00:10:26 ago) Log Read Checkpoint File /oradata/ggs/trails/w2026025 2016-12-08 07:30:09.236829 RBA 6816246 REPLICAT REP3 Last Started 2016-11-14 18:46 Status STOPPED Checkpoint Lag 00:00:00 (updated 00:10:24 ago) Log Read Checkpoint File /oradata/ggs/trails/w3000956 2016-12-08 07:30:08.236788 RBA 3873431 REPLICAT REP4 Last Started 2016-11-16 14:31 Status STOPPED Checkpoint Lag 00:00:00 (updated 00:10:22 ago) Log Read Checkpoint File /oradata/ggs/trails/w4007019 2016-12-08 07:30:09.236898 RBA 8640562
2.备份原有目录
源端:
$ cd /u01
$ tar -cf ggs.tar ggs
目标端:
$ cd /oradata
$ tar -cv ggs.tar ggs
3.使用新版本覆盖就版本
上传新版本到ggs目录并解压
$ cd /u01/ggs
$ unzip ogg112101_ggs_AIX5_AIX6.1_ppc_ora11g_64bit.zip
$ tar -xf ggs_AIX_ppc_ora11g_64bit.tar
在这里解压的时候可能会报错
解决方法:
在ggs目录下随便建个目录,如tmp
$ mkdir tmp
将ggs_AIX_ppc_ora11g_64bit.tar一到tmp目录并解压
$ mv ggs_AIX_ppc_ora11g_64bit.tar tmp
$ cd tmp
$ tar -xf ggs_AIX_ppc_ora11g_64bit.tar
然后将新解压出来的文件mv到ggs目录覆盖原来的旧版本(dirprm文件不要覆盖,不然进程要重建)
$ pwd
/u01/ggs/tpm
$ rm -rf dirprm
$ mv * /u01/ggs
这样新的版本就覆盖就版本了
ggsci命令进入ogg控制台
$ ./ggsci Oracle GoldenGate Command Interpreter for Oracle Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230 AIX 5L, ppc, 64bit (optimized), Oracle 10.2 on Apr 23 2012 07:27:46 Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
可以看到源端版本已经升级到11.2.1.0.1
目标端也用同样的方法升级
4.源端启动进程
升级好后,在源端启动进程
GGSCI > start mgr
GGSCI > start *
发现抽取进程和传输进程起不来,查看日志报错:
ERROR OGG-01416 File ./trails/w1002906, with format RELEASE 10.4/11.1, does not match current format specification of RELEASE 11.2.Modify the parameter file to specify format RELEASE 10.4/11.1 or issueETROLLOVER prior to restar
因为ogg版本换过了则trail文件不能匹配,报错中已经提示解决办法,将参数文件中制定版本的参数改成现在的版本,或者使用ETROLLOVER命令
查看参数文件的配置,本来就没制定版本,所以不用修改,采用ETROLLOVER命令,如下:
对抽取进程和传输进程做ETROLLOVER操作
GGSCI > alter ext1 ETROLLOVER GGSCI > alter ext1dp ETROLLOVER GGSCI > alter ext2 ETROLLOVER GGSCI > alter ext2dp ETROLLOVER GGSCI > alter ext3 ETROLLOVER GGSCI > alter ext3dp ETROLLOVER GGSCI > alter ext4 ETROLLOVER GGSCI > alter ext4dp ETROLLOVER
再次启动进程:
GGSCI > start *
进程起来后,抽取进程正常挖掘
传输进程虽然是running的,但是一直停留在原来的记录点,目标端存放trail文件的目录下文件大小为0,不增长
-rw-rw-rw- 1 oracle dba 9404532 Dec 08 07:29 w1007920 -rw-rw-rw- 1 oracle dba 3873431 Dec 08 07:29 w3000956 -rw-rw-rw- 1 oracle dba 6816246 Dec 08 07:29 w2026025 -rw-rw-rw- 1 oracle dba 8640562 Dec 08 07:29 w4007019 -rw-rw-rw- 1 oracle dba 0 Dec 08 11:38 w1007921 -rw-rw-rw- 1 oracle dba 0 Dec 08 11:38 w3000957 -rw-rw-rw- 1 oracle dba 0 Dec 08 11:38 w2026026 -rw-rw-rw- 1 oracle dba 0 Dec 08 11:39 w4007020
查看ggserr.log日志如下提示:
WARNING OGG-01519 Oracle GoldenGate Capture for Oracle, ext1dp.prm: Waiting at EOF on input trail file ./trai ls/w1002906, which is not marked as complete; but succeeding trail file ./trails/w1002907 exists. If ALTER ETROLLOVER has been perfo rmed on source extract, ALTER EXTSEQNO must be performed on each corresponding downstream reader.
因为源端的抽取进程执行ETROLLOVER操作后,进程的extseqno和extrba号被重置至下一个extseqno号的第0号extrba,
而datapump传输进程并不知道extract进程发生了这个变化,仍然守望在extract ETROLLOVER前的extseqno和extrba号上,
永远也等不到这个extseqno上有新的RBA变化,造成就无法将extract新抽取到的数据,传递到目标端去。
所以,在extract进程ETROLLOVER后,需要使用"Alterextract group_name EXTSEQNO X, EXTRBA 0"的命令,重置checkpoint位置,datadump进程才能正常的将数据继续传递到远端。
查看trail文件目录,发现进程的extseqno号已经跳到下一个
故重新指定extseqno和extrba,如下:
GGSCI > alter ext1dp extseqno 2907 extrba 0 GGSCI > alter ext2dp extseqno 8991 extrba 0 GGSCI > alter ext3dp extseqno 322 extrba 0 GGSCI > alter ext4dp extseqno 2814 extrba 0
重新启动传输进程,trail文件正常传输到目标端。
5.目标端启动进程
GGSCI > start *
应用进程无法启动,日志报错如下:
ERROR OGG-00665 Oracle GoldenGate Delivery for Oracle, rep4.prm: OCI Error describe for query (status = 942 -ORA-00942: table or view does not exist), SQL<SELECT a.current_dir, a.seqno, a.rba, a.audit_ts, a.log_csn, a.log_xid, a.log_cmplt_c sn, a.log_cmplt_xids, b.log_cmplt_xids FROM GOLDENGATE.CHKPOINT a LEFT JOIN GOLDENGATE.CHKPOINT_lox b ON a.group_name = b.group_name AND a.group_key = b.group_key AND a.log_cmplt_csn = b.log_cmplt_csn WHERE a.group_name = 'REP4' AND a.group_key = 2420532828>. 2016-12-08 11:30:30 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep4.prm: PROCESS ABENDING.
原因:ogg_11.1.1.1.2每条replicat进程只有CHECKPOINT一张表,而ogg_11.2.x.x.1每条replicat进程有CHECKPOINT,CHECKPOINT_LOX两张表,
所以,如果在升级后,直接启动replicat进程,是无法启动
提示表不存在,这张表是指:GOLDENGATE.CHKPOINT表(CHECKPOINT_LOX表),重建replicat的最终目的是在重建进程时,自动将两张checkpoint表都自动创建起来。
删除replicat进程与checkpoint表
GGSCI > dblogin userid GOLDENGATE password GOLDENGATE GGSCI > delete CHECKPOINTTABLE GOLDENGATE.CHKPOINT GGSCI > ADD CHECKPOINTTABLE GOLDENGATE.CHKPOIN
重建应用进程
GGSCI > add replicat rep1 exttrail /oradata/ggs/trails/w1 CHECKPOINTTABLE GOLDENGATE.CHKPOINT GGSCI > alter rep1 extseqno 7920 extrba 9404532 --可不做,直接指定到下一个 GGSCI > add replicat rep2 exttrail /oradata/ggs/trails/w2 CHECKPOINTTABLE GOLDENGATE.CHKPOINT GGSCI > alter rep2 extseqno 26025 extrba 6816246 --可不做,直接指定到下一个 GGSCI > add replicat rep3 exttrail /oradata/ggs/trails/w3 CHECKPOINTTABLE GOLDENGATE.CHKPOINT GGSCI > alter rep3 extseqno 956 extrba 3873431 --可不做,直接指定到下一个 GGSCI > add replicat rep4 exttrail /oradata/ggs/trails/w4 CHECKPOINTTABLE GOLDENGATE.CHKPOINT GGSCI > alter rep4 extseqno 7019 extrba 8640562 --可不做,直接指定到下一个
若是将应用进程制定到原来的点的话,会和传输进程一样找不到这个点,无法应用,报错如下:
WARNING OGG-01519 Oracle GoldenGate Delivery for Oracle, rep1.prm: Waiting at EOF on input trail file /oradat a/ggs/trails/w1007920, which is not marked as complete; but succeeding trail file /oradata/ggs/trails/w1007921 exists. If ALTER ETRO LLOVER has been performed on source extract, ALTER EXTSEQNO must be performed on each corresponding downstream reader.
重新指定应用进程记录点
查看trail文件目录下文件,找到源端etrollover后传输过来的第一个文件
GGSCI > alter rep1 extseqno 7921 extrba 0 GGSCI > alter rep2 extseqno 26026 extrba 0 GGSCI > alter rep3 extseqno 957 extrba 0 GGSCI > alter rep4 extseqno 7020 extrba 0
重新启动进程
GGSCI > start *
发现进程正常应用
至此,ogg版本升级结束。
编辑推荐:
- OGG软件升级-11.1.x.x.x升级到11.2.1.0.103-03
- OGG 网络异常导致传输进程hang OGG-0103103-03
- 数据库管理-第164期 关于RAC私网的一些探索(20240326)03-03
- 从卷算力到拼性价比,智能驾驶的“风向”变了03-03
- ora-00314 0031203-03
- ORA-1254503-03
- Oracle监控工具,一家老小全在这里03-03
- sql Tuning Advisor启用导致业务性能问题03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 数据库管理-第164期 关于RAC私网的一些探索(20240326)
数据库管理-第164期 关于RAC私网的一些探索(20240326)
26-03-03 - 从卷算力到拼性价比,智能驾驶的“风向”变了
从卷算力到拼性价比,智能驾驶的“风向”变了
26-03-03 - ora-00314 00312
ora-00314 00312
26-03-03 - Oracle监控工具,一家老小全在这里
Oracle监控工具,一家老小全在这里
26-03-03 - sql Tuning Advisor启用导致业务性能问题
sql Tuning Advisor启用导致业务性能问题
26-03-03 - Oracle 12C 及19C DG备库如何设置延迟应用
Oracle 12C 及19C DG备库如何设置延迟应用
26-03-03 - 数据库管理-第166期 来自于全球最强数据库性能优化团队的四大处方(20240329)
- library cache lock模拟和处理
library cache lock模拟和处理
26-03-03 - 突发,亲历数据仓库ORA-01578:ORACLE data block corrupted
- 分页语句该怎么写?
分页语句该怎么写?
26-03-03
