如何回退一个失败的临时补丁的安装_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 5012 | 回复: 0   主题: 如何回退一个失败的临时补丁的安装        下一篇 
yanghui
注册用户
等级:上尉
经验:584
发帖:92
精华:0
注册:2011-12-13
状态:离线
发送短消息息给yanghui 加好友    发送短消息息给yanghui 发消息
发表于: IP:您无权察看 2011-12-23 16:34:37 | [全部帖] [楼主帖] 楼主

如何回退一个失败的临时补丁的安装

应用:Oracle Universal Installer - Version: 1.0.0.0.50 to 1.0.0.0.99

现象

使用OPatch安装临时补丁的过程中,会返回以下错误:

在运用补丁过程中,OPatch出错

你想中止吗:

开始OPatch1.0.0.0.53,会有下面的内容:

回复“Y”将立即终止补丁安装,它不会保存任何更新的内存

回复“N”将继续更新内存,显示补丁已被申请

注释:在回复“Y”或“N”后,要回顾一下

Metalink 注释 312767.1 :如何回退一个失败的临时补丁的安装

你想停止吗?

回复 Y|N

更改

临时补丁被申请

原因

在安装临时补丁的过程中复制文件有错误,需要更新对象或者重新连接binaries

解决方案

使用下面选项来成功申请或者回退补丁。下面的步骤将移除补丁号1234567,用正确的补丁号代替

注释:OPatch 不会自动回退被更新的对象。在回退对象之前,重新运行OPatch 会毁坏rollback.sh 脚本

根据选项有多种解决方案来结束补丁的安装:

你想停止吗:

情境1:回复Y

运行回退脚本

% sh $ORACLE_HOME/.patch_storage/1234567/rollback_1234567 .sh


注释:若在OPatch里有未知的问题,rollback_1234567.sh可能会抛出类似下面的错误:

./rollback_5901872.sh[89]: System: not found.
./rollback_5901872.sh[97]: System: not found.


这些可以忽略,因为它们标记在脚本里

% sh $ORACLE_HOME/.patch_storage/1234567/1234567_make.txt


注释:如果申请是在重新连接阶段失败的话,只需运行1234567_make.txt。如果补丁申请是在重新连接之前终止的,就不会产生1234567_make.txt,并且也不需要重新连接

重新命名OPatch 备份目录

% mv $ORACLE_HOME/.patch_storage/1234567 $ORACLE_HOME/.patch_storage/1234567.orig


情境2:回复N:

使用OPatch回退补丁

% cd patch number
% opatch rollback -id patch number


情境3:rollback.sh被覆盖了

移动(不是移除)原始的备份目录

% mv $ORACLE_HOME/.patch_storage/1234567 $ORACLE_HOME


通过用no_inventory 和no_relink 选项来重新申请补丁,重建rollback.sh

% cd patch directory
% opatch apply -no_inventory -no_relink


复制回退,将脚本放置原始目录

% cp $ORACLE_HOME/.patch_storage/1234567/rollback_1234567.sh $ORACLE_HOME/1234567
% cp $ORACLE_HOME/.patch_storage/1234567/1234567_make.txt $ORACLE_HOME/1234567


把最初备份目录移动到$ORACLE_HOME/.patch_storage

% mv $ORACLE_HOME/.patch_storage/1234567 $ORACLE_HOME/1234567.rereun
% mv $ORACLE_HOME/1234567 $ORACLE_HOME/.patch_storage
*


运行回退脚本,运行指令

% sh $ORACLE_HOME/.patch_storage/1234567/rollback_1234567.sh


注释:因为未知的问题,OPatch, rollback_1234567.sh可能会抛出类似下面的错误:

./rollback_5901872.sh[89]: System: not found.
./rollback_5901872.sh[97]: System: not found.


这些可以忽略,因为它们标记在脚本里

% sh $ORACLE_HOME/.patch_storage/1234567/1234567_make.txt


重命名OPatch 备份目录

% mv $ORACLE_HOME/.patch_storage/1234567 $ORACLE_HOME/.patch_storage/1234567.orig


在补丁4321390下的 "rempatch.pl"实用程序能用来将补丁从内存中移除。 "rempatch.pl"只能作为最后手段,因为ORACLE_HOME文件不能恢复到原始状态。同时也注意补丁密码是受保护的




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论