oui-10150错误本质是oui无法正确读取或写入orainventory目录,需通过/etc/orainst.loc(linux)或注册表hkey_local_machine\software\oracle\inst_loc(windows)定位路径,彻底清理残留并手动重建。
oui-10150 错误本质是 oracle universal installer 无法正确读取或写入 orainventory 目录,不是单纯“重装就能好”的问题;必须定位当前 orainventory 路径并彻底清理或重建。
oraInventory 目录位置怎么确认
安装失败时,OUI 通常会在日志里暴露实际使用的 oraInventory 路径。最直接的方式是检查 oraInst.loc 文件:
- Linux/Unix 下默认路径是
/etc/oraInst.loc(全局)或/var/opt/oracle/oraInst.loc;该文件内容形如:inventory_loc=/u01/app/oraInventory inst_group=oinstall
- Windows 下查找注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\INST_LOC,其字符串值即为 oraInventory 所在路径 - 如果找不到
oraInst.loc,OUI 会 fallback 到默认路径(如/home/oracle/oraInventory),但此时极易因权限或残留导致 OUI-10150
为什么删错目录会导致反复报 OUI-10150
OUI-10150 常伴随 “s_dlgCfgNamingLabelSIDnull” 或 “setting component” 类异常,说明它已加载部分 inventory 元数据但解析失败——这往往是因为目录结构损坏、权限不一致,或存在跨版本残留(比如之前装过 11g 又装 12c)。
- 只删
oraInventory目录本身不够:oraInst.loc文件若还指向一个不存在或不可写的路径,OUI 仍会尝试访问并报错 - Windows 下必须同步清理注册表中
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application下所有以Oracle开头的键 - Linux 下若用不同用户(如 root vs oracle)执行过安装,
oraInventory目录属主可能混乱,chown -R oracle:oinstall /u01/app/oraInventory是必要操作
重建 oraInventory 的安全做法
不要依赖 OUI 自动创建,手动初始化更可控:
- 先确保目标路径父目录存在且 oracle 用户可写,例如:
mkdir -p /u01/app/oraInventory,再chown oracle:oinstall /u01/app/oraInventory - 运行命令重建 inventory:
./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -attachHome ORACLE_HOME="/u01/app/oracle/product/12.1.0/dbhome_1" ORACLE_HOME_NAME="OraDB12c_home1"(仅用于初始化,不装库) - 或者更稳妥地,用 Oracle 提供的
createCentralInventory.sh(Linux)或win64_12102_database\stage\cv\scripts\createCentralInventory.bat(Windows)脚本生成干净结构 - 务必验证
oraInst.loc内容与实际路径一致,且文件权限为 644、属主为 root(Linux)或 Administrator(Windows)
oraInventory 不是缓存,而是 Oracle 软件注册中心;一次残留就可能让后续所有安装卡在 OUI-10150。最易被忽略的是:Linux 下 /etc/oraInst.loc 和实际目录权限不匹配,Windows 下注册表残留比文件残留更顽固。











