如何在OWB11gR2(Oracle Warehouse Builder)中应用补丁
OWB 11gR2 对应Oracle Database 11gR2 补丁应用操作步骤
前置准备
- 提前下载对应OWB 11gR2版本的匹配补丁,确认补丁说明文档标注支持11gR2数据库+11gR2 OWB的组合,避免版本不兼容
- 确认当前OPatch工具版本满足补丁要求,若版本过低需先升级OPatch后再执行补丁操作
- 确认当前操作系统用户拥有OWB安装目录、Oracle数据库安装目录的读写权限,数据库实例处于可正常访问状态
- 若OWB与数据库安装在不同的
ORACLE_HOME下,补丁需应用在*OWB对应的ORACLE_HOME*中,操作时需切换到对应OWB_HOME的OPatch目录执行命令 - 提前通知所有OWB相关业务用户暂停任务调度、停止所有正在运行的ETL作业,避免补丁更新过程中数据不一致
停止相关服务
- 停止所有OWB运行时服务,Linux/Unix环境执行命令:
$OWB_HOME/owb/bin/unix/stopService.sh,Windows环境对应运行:%OWB_HOME%\owb\bin\win32\stopService.bat - 停止OWB控制中心服务,Linux/Unix环境执行命令:
$OWB_HOME/owb/bin/unix/stopOC4J.sh,Windows环境对应运行:%OWB_HOME%\owb\bin\win32\stopOC4J.bat - 若补丁需要修改数据库端OWB仓库对象,可保留数据库实例运行,只需停止监听之外的业务访问即可
备份操作
- 完整备份OWB安装目录(
$OWB_HOME),避免补丁应用失败后无法回退 - 对OWB仓库所在的Oracle 11gR2数据库做全量备份,或至少备份OWB所属的所有用户Schema(通常为OWBSYS、OWBSYS_AUDIT及自定义的工作空间Schema)
补丁应用操作
- 解压下载的补丁压缩包到临时目录,进入解压后的补丁根目录
- 执行OPatch命令校验补丁兼容性:
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ - 确认无冲突后执行补丁安装命令:
$ORACLE_HOME/OPatch/opatch apply - 按照命令行提示确认操作,等待补丁安装完成,控制台提示成功后再执行后续操作
- 若补丁包含数据库端OWB仓库对象更新,使用sysdba权限登录数据库,执行补丁包中附带的SQL脚本:
注意执行前确认脚本对应的Schema名称与实际环境一致,避免修改错误的库对象
补丁后验证
- 执行OPatch命令查看已安装补丁列表,确认目标补丁已成功注册:
$ORACLE_HOME/OPatch/opatch lsinventory - 登录OWB设计中心,检查原有项目、映射、作业配置无异常
- 手动运行测试ETL作业,验证数据抽取、转换、加载流程正常无报错
- 检查OWB运行日志无异常报错信息
异常回退方案(补丁应用失败时执行)
- 停止所有OWB相关服务
- 执行OPatch回退命令:
$ORACLE_HOME/OPatch/opatch rollback -id *补丁ID* - 若回退失败,恢复之前备份的OWB安装目录和数据库备份,恢复到补丁应用前的状态
- 验证环境正常后再重新排查补丁兼容性问题
内容的提问来源于stack exchange,提问作者user16889928
相关产品推荐
相关产品推荐

