Oracle Kamus 升级迁移实战
Oracle Kamus 升级迁移实战
来源:张乐奕 (Kamus) / dbform.com 适用版本:Oracle Database 11g+ 文档版本:v1.0 / 2026-07-22
1. 概述
Kamus 对升级迁移有丰富实战经验[1]。
详细见:Oracle 数据库版本升级、Oracle 数据库迁移方案选择。
2. 升级路径
2.1 当前推荐
- 11g → 19c
- 12c → 19c
- 18c → 19c
- 19c → 23ai
2.2 Kamus 建议
- 跟随 LTS
- 19c 长期支持
- 评估 23ai
2.3 升级前
- 评估
- 测试
- 备份
- 计划
3. 升级方式
3.1 DBUA
- 图形化
- 简单
- 适合小库
3.2 手动
- catctl.pl
- 控制
- 适合大库
3.3 Data Guard 滚动
- 零停机
- 复杂
- 关键业务
3.4 Kamus 推荐
- 关键业务:Data Guard
- 普通:DBUA
- 大库:手动
4. 升级前检查
4.1 preupgrade
sqlplus / as sysdba
@?/rdbms/admin/utlu112i.sql # 11g
@?/rdbms/admin/preupgrd.sql # 12c
$ORACLE_HOME/rdbms/admin/preupgrade.jar # 19c
4.2 报告
- 警告
- 推荐
- 必做
4.3 修复
- 按报告修复
- 验证
4.4 Kamus 强调
- preupgrade 必做
- 修复所有警告
- 测试
5. DBUA 升级
5.1 启动
$NEW_ORACLE_HOME/bin/dbua
5.2 选项
- 升级数据库
- 选项
- 并行
- 时区
5.3 执行
- 自动
- 进度
- 报告
5.4 验证
- 版本
- 组件
- 对象
6. 手动升级
6.1 19c 流程
# 1. 关闭
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
# 2. 切换 ORACLE_HOME
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
# 3. 启动
sqlplus / as sysdba
STARTUP UPGRADE;
# 4. 升级
@?/rdbms/admin/catctl.pl ?/rdbms/admin/catupgrd.sql
# 5. 后置
@?/rdbms/admin/utlrp.sql
@?/rdbms/admin/catuppst.sql
6.2 验证
SELECT version FROM v$instance;
SELECT comp_name, version FROM dba_registry;
6.3 Kamus 经验
- 并行
- 监控
- 验证
7. Data Guard 滚动升级
7.1 流程
1. 升级备库软件
2. 启动备库(升级数据字典)
3. Switchover
4. 升级原主库软件
5. 启动原主库
6. Switchover 回
7.2 Kamus 优势
- 零停机
- 风险低
- 可回退
7.3 验证
- 数据
- 应用
- 性能
8. 迁移方式
8.1 Data Pump
- 逻辑
- 跨平台
- 适合中小
8.2 RMAN
- 物理
- 同平台
- 适合大库
8.3 GoldenGate
- 实时
- 零停机
- 复杂
8.4 ZDM
- 云迁移
- 自动化
- OCI
8.5 Kamus 建议
- 评估数据量
- 停机窗口
- 平台
详细见:Oracle 数据库迁移方案选择。
9. 时区升级
9.1 检查
SELECT * FROM v$timezone_file;
9.2 升级
# 19c
@?/rdbms/admin/utltz_upgrade.sql
9.3 Kamus 警告
- 必做
- 影响 TIMESTAMP
- 测试
10. 统计信息
10.1 升级后
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
10.2 Kamus 建议
- 升级后立即
- CBO 准确
- 验证
11. 失效对象
11.1 检查
SELECT owner, object_name, object_type
FROM dba_objects WHERE status='INVALID';
11.2 编译
@?/rdbms/admin/utlrp.sql
11.3 验证
- 无失效
- 测试
12. 回退
12.1 DBUA
- 自动回退
- 或备份恢复
12.2 手动
- 旧 HOME
- 备份恢复
12.3 Data Guard
- Switchover 回
- 简单
12.4 Kamus 建议
- 回退预案
- 测试
- 文档
13. 升级后验证
13.1 功能
- 应用
- 业务
- 数据
13.2 性能
- AWR 对比
- TOP SQL
- 优化
13.3 稳定性
- 监控
- 一周观察
- 优化
14. Kamus 案例
14.1 案例:11g → 19c
- Data Guard 滚动
- 零停机
- 成功
14.2 案例:跨平台迁移
- Data Pump
- 测试
- 验证
14.3 案例:性能回归
- AWR 对比
- CBO 变化
- Baseline
15. 最佳实践
- preupgrade:必做
- 测试:演练
- 备份:升级前
- Data Guard:零停机
- 时区:升级
- 统计信息:收集
- 失效对象:编译
- 回退:预案
- 验证:功能/性能
- 监控:稳定
16. 参考资料
[1] Kamus, “升级迁移实战”, http://www.dbform.com [2] Oracle Database Upgrade Guide 19c