1.1 环境说明
|
Oracle 版本 |
OGG现有 版本 |
OGG目标升级 版本 |
源端 |
11.2.0.4.0 |
11.2.1.0.3 |
12.2.0.2.0 |
目标端 |
11.2.0.4.0 |
11.2.1.0.3 |
12.2.0.2.0 |
二 源端升级前准备
2.1 检查源端所需最旧归档日志
info extract {group_name},showch
send extract {group_name},showtrans
2.2 所需归档日志过旧解决方法
以下两种方法均可:
(1) 归档日志存在备份, 可以考虑恢复所需归档日志
(2) 使用命令清除旧事务
跳过或者强制标记为已完成
SEND EXTRACT {group_name}, {SKIPTRANS | FORCETRANS} transaction_ID [THREAD n] [FORCE]
强制执行边界恢复检查点
SEND EXTRACT {group_name}, BR BRCHECKPOINT IMMEDIATE
2.3 停止OGG 中对象的DDL/DML 活动
send extract {group_name},logend
2.4 停止extract 进程 (抽取、传输)
stop {group_name}
2.5 停止管理进程
stop mgr
2.6 extract 进程添加参数
当仅升级源端 , 目标端 OGG 版本低于源端 OGG 版本时 , 需添加此参数
{EXTTRAIL | RMTTRAIL} {file_name} FORMAT RELEASE {major.minor}
例如:
exttrail ./dirdat/aa format release 11.2
2.7 清除DDL 触发器和相关对象
a.sqlplus / as sysdba 进入命令行
b. 断开发起DDL 的会话, 并确保升级期间无法启动DDL 会话
c. 执行ddl_disable 脚本禁止DDL 触发器
d. 执行ddl_remove 脚本删除DDL 触发器和相关对象
e. 执行marker_remove 脚本删除OGG 标记支持系统
三 目标端升级前准备
3.1 检查目标端进程应用状态
send replicat {group_name} status
该命令显示replicat 进程状态为At EOF 表明replicat 进程已经完成所有数据的处理. 必须确认每一个replicat 进程状态都为At EOF
3.2 停止replicat 进程
stop {group_name}
3.3 停止管理进程
stop mgr
四 源端升级OGG 软件
4.1 安装OGG 12c 软件到源端的 新 OGG 目录中
此处参考OGG 12c 安装文档
4.2 以sysdba 角色运行ulg.sql
sqlplus / as sysdba
@ulg.sql
此脚本将现有的补充日志组转换为新版本所需的新格式( 即使计划使用集成模式捕获DDL 这步骤也是必须的). 此脚本执行理论上无报错, 如果遇到报错, 联系oracle support
4.3 重新开启DDL 支持
a.sqlplus / as sysdba 进入命令行
b. 执行marker_setup 脚本重新安装OGG 标记支持系统
c. 执行ddl_setup 脚本安装DDL 触发器和相关对象
d. 执行role_setup 脚本创建DDL 角色
e. 将DDL 角色授予给OGG 管理用户
f. 执行ddl_enable.sql 脚本启用DDL 触发器
4.4 拷贝dir* 目录到新OGG 目录
cp -r /ogg/dir* ./
4.5 更新trail 文件版本
更改挖掘进程以写入到新的trail 文件
alter extract {group_name} etrollover
此处应返回Rollover performed
更改传输进程以写入到新的trail 文件
alter extract {group_name} etrollover
此处应返回Rollover performed
4.6 重新定位传输进程
alter extract {group_name},extseqno {seqno} ,extrba {rba}
4.7 验证extract 信息
info extract {group_name} detail
确保seqno 已经向下滚动一位
info extract {group_name} detail
确保seqno 已经向下滚动一位且extract source 从新trail 文件开始
五 目标端升级OGG 软件
5.1 安装OGG 12c 软件到目标端的新OGG 目录中
此处参考OGG 12c 安装文档
5.2 拷贝dir* 目录到新OGG 目录
cp -r /ogg/dir* ./
5.3 重新定位复制进程
alter replicat {group_name},extseqno {seqno},extrba {rba}
5.4 更新检查点表
OGG 管理用户登陆数据库
更新检查点表
六 启动OGG 进程
6.1 依次启动管理/ 挖掘/ 传输/ 应用进程
源端:
start mgr
start mc_ext
start mc_dmp
目标端:
start mgr
start mc_rep
6.2 观察进程是否正常
进程均正常, 至此OGG 11g 升级至12c 成功