Oracle 升级之Universal Installer error

本文解决在AIX系统上安装Oracle 10.2.0.4补丁时遇到的进程未关闭问题。通过修改fuser文件允许安装程序继续执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同事在AIX 6L上安装oracle 10.2.0.1正确,但无法安装10.2.0.4 的补丁报如下错误:
"oracle Universal Installer has detected that there are processes running in the currently seleted oracle Home. The following processes need to be shutdown before continuing:java ksh"

metalink(ID 975597.1)有一文章可供参考
[quote]Changes
The "ps -ef | grep java" clearly showed that the process is for the Oracle Universal Installer (OUI) for the patchset.
Cause
The fuser is picking up the process for the installer itself, and thus is saying that there are processes still running and is preventing the installer from continuing.

This is similar to Bug:3823729 (HP/AIX OUI IS DETECTING PROCESSES RUNNING WHICH ARE NOT ASSOCIATED THE ORACLE_HOME)


Solution
To implement the solution, please execute the following steps:

1. Exit the current installer

2. As root user:

[quote]cd /usr/sbin/
mv fuser fuser.orig
touch /usr/sbin/fuser
chmod +x /usr/sbin/fuser[/quote]

3. As oracle software owner, install the 10.1.2.3 patchset.
(Note: fuser can now return nothing, hence the Installer should continue)

4. After a successful installation, as the root user, rename the fuser back.

[quote]cd /usr/sbin/
cp fuser.orig fuser[/quote][/quote]
``` #RequireAdmin Opt("WinWaitDelay", 500) ; 设置窗口等待延迟为0.5秒 ; 启动安装程序 Run("D:\oracle10g_client_win32\client\setup.exe") ; 通用等待函数 Func WaitForWindow($title, $timeout = 30) Local $hTimer = TimerInit() While Not WinExists($title) If TimerDiff($hTimer) > $timeout * 1000 Then MsgBox(0, "错误", "窗口未找到: " & $title) Exit EndIf Sleep(500) WEnd WinActivate($title) EndFunc ; 智能点击函数 Func SmartClick($title, $controlID, $retry = 5) Local $i = 0 While $i < $retry If ControlCommand($title, "", $controlID, "IsEnabled") Then ControlClick($title, "", $controlID) Return True EndIf Sleep(1000) $i += 1 WEnd Return False EndFunc ; 主安装流程 WaitForWindow("Oracle Universal Installer") Send("{ENTER}") ; 第一阶段:选择安装类型 SmartClick("Oracle Universal Installer", "Button2") ; 选择管理员安装 SmartClick("Oracle Universal Installer", "Button10") ; 下一步 ; 动态等待安装进度 Local $hInstallTimer = TimerInit() While 1 ; 检测完成条件 If WinExists("Oracle 10g 客户端安装完成") Then ExitLoop ; 处理中间步骤 If ControlCommand("Oracle Universal Installer", "", "Button10", "IsVisible") Then SmartClick("Oracle Universal Installer", "Button10") EndIf ; 超时处理(5分钟) If TimerDiff($hInstallTimer) > 300000 Then MsgBox(0, "错误", "安装超时") Exit EndIf Sleep(1000) WEnd ; 第二阶段:网络配置 SmartClick("Oracle 网络配置", "Button1") ; 选择专用网络 SmartClick("Windows 安全警报", "Button1") ; 允许访问 ; 最终安装检测 If SmartClick("Oracle 安装摘要", "Button3", 10) Then ; 点击安装 While ProcessExists("setup.exe") Sleep(1000) WEnd MsgBox(0, "完成", "安装成功") Else MsgBox(0, "错误", "最终安装步骤失败") EndIf```打开软件后,并没有其他动作,比如自动识别下一步按钮亮起,模拟鼠标点击下一步
03-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值