Oracle Db 安装 修改 Inventory目录

本文介绍了Oracle Inventory Directory的作用及其配置方式。此目录存储了系统上所有已安装Oracle软件的信息,并由所有Oracle软件安装共享。首次安装Oracle软件时,Oracle Universal Installer会提示用户指定此目录的路径,默认建议路径为oracle_base/oraInventory。文章还提到了如何通过oraInst.loc文件指定不同的路径。
Oracle Inventory Directory
2.7.2 Oracle Inventory Directory

The Oracle Inventory directory (oraInventory ) stores an inventory of all software installed on the system. It is required by, and shared by, all Oracle software installations on a single system. The first time you install Oracle software on a system, Oracle Universal Installer prompts you to specify the path to this directory. then Oracle recommends that you choose the following path:

oracle_base/oraInventory

Oracle Universal Installer creates the directory that you specify and sets the correct owner, group, and permissions for it. You do not need to create it.

Note:

All Oracle software installations rely on this directory. Ensure that you back it up regularly.

Do not delete this directory unless you have completely removed all Oracle software from the system.

第一次安装完oracle db后,如果再想往oracle中加入新的组件,需要重新运行runInstaller。第二次运行runInstaller的时候,runInstaller就是通过oraInst.loc中指定的

inventory_loc=/u01/app/oracle/
inst_group=oinstall

来确定oracle inventory directory路径的。默认runInstaller会去中/etc/oraInst.loc。如果不想使用默认的,可以使用如下参数指定:

./runInstaller -invPtrLoc /u01/app/oracle/installfile/oraInst.loc

<think> 我们正在处理用户关于Oracle安装过程中"主目录为空"的问题。根据引用内容,特别是引用[2]中的信息,错误[INS-32016]表明所选Oracle目录包含目录或文件,而安装程序要求主目录为空(除非是升级现有安装)。 用户的问题是如何解决"主目录为空"的问题。实际上,这个错误提示的真正含义是:安装程序要求目标主目录必须是**空目录**(对于全新安装)或**有效的现有Oracle目录**(对于升级/添加组件)。从错误信息看,用户当前选择的主目录非空且不是有效的Oracle目录,导致安装失败。 根据引用[2]和引用[3]的提示,解决方案如下: 1. **确保主目录为空(全新安装)**:如果是全新安装,则必须选择一个空目录作为Oracle目录。如果所选目录非空,请清空该目录或选择其他空目录。 2. **附加现有主目录(升级或添加组件)**:如果目的是在已有Oracle安装上升级或添加组件,则必须选择一个已存在的、有效的Oracle目录(如引用[1]和引用[3]所述)。如果选择的是已有主目录,但安装程序不识别(报错主目录不兼容),则可能需要先通过附加操作注册该主目录(引用[3]的方法),但此操作通常由安装程序自动处理,若手动复制安装则需先注册。 根据用户提供的引用和问题描述,用户遇到的是安装Oracle时主目录不为空导致的错误。以下是具体解决方案: **解决方案步骤:** 1. **确定安装类型**: - 如果是**全新安装**,则必须选择**空目录**作为Oracle目录。 - 如果是**升级或添加组件**,则必须选择**已存在的Oracle目录**(且版本兼容,如引用[1]要求10g的主目录)。 2. **处理主目录不为空的错误(针对全新安装)**: - **方法1**:删除所选主目录内的所有内容,使其变为空目录。 ```bash # 假设主目录为 /u01/app/oracle/product rm -rf /u01/app/oracle/product/* ``` **注意**:确保该目录内没有重要数据,此操作不可逆! - **方法2**:更换一个全新的空目录路径作为主目录。 3. **处理主目录不兼容错误(针对升级/添加组件)**: - 如果目的是在现有Oracle安装基础上添加组件(如将10g升级到11g或在10g主目录安装新组件),但安装程序报错不识别主目录,则可能需要先**注册(附加)该主目录**(引用[3]的方法): - 使用Oracle提供的附加主目录工具(如`attachHome.sh`,位于`$ORACLE_HOME/oui/bin`下)。 - 或运行以下命令(以Oracle用户身份): ```bash cd $ORACLE_HOME/oui/bin ./runInstaller -attachHome -silent ORACLE_HOME="<现有主目录路径>" ORACLE_HOME_NAME="<给主目录起个名字>" ``` - 例如: ```bash ./runInstaller -attachHome -silent ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1" ORACLE_HOME_NAME="OraDb10g_home1" ``` 执行成功后再运行原安装程序,选择该主目录。 4. **静默安装时的注意事项**(引用[2]示例): - 静默安装出现`[INS-32016]`错误时,同样遵循上述原则。需确保: - 对于**全新安装**:`ORACLE_HOME`参数指定的目录为空。 - 对于**升级/添加**:`ORACLE_HOME`必须是已注册的有效主目录。 ### 总结步骤 1. **确定安装意图**:全新安装还是升级/添加组件? 2. **对应操作**: - 全新安装 → 选择或创建空目录作为`ORACLE_HOME`。 - 升级/添加 → 确保选择的`ORACLE_HOME`是现有有效Oracle目录,若未注册则先附加。 3. **重新运行安装程序**。 §§相关问题§§ 1. 如何正确选择Oracle安装的主目录路径? 2. Oracle静默安装时如何指定主目录? 3. 如何注册(附加)一个已存在但未在inventory中记录的Oracle目录? 4. 安装Oracle时出现[INS-32016]错误有哪些解决方法? </think> ### 解决Oracle安装目录为空问题的方法 当Oracle安装程序提示"所选主目录包含目录或文件"(错误代码INS-32016)时,说明您选择的目标目录**不是空目录**。以下是完整的解决方案: #### 方法1:清空目标目录(推荐) 1. **备份现有数据**(如有重要文件): ```bash tar -czvf oracle_home_backup.tar.gz /path/to/your/oracle_home/* ``` 2. **删除目录内容**: ```bash rm -rf /path/to/your/oracle_home/* ``` 3. **重新运行安装程序**: ```bash ./runInstaller ``` #### 方法2:创建新目录 1. **新建空目录**: ```bash mkdir -p /u01/app/oracle/new_home ``` 2. **安装时指定新路径**: ```bash ./runInstaller -silent ORACLE_HOME=/u01/app/oracle/new_home ``` #### 方法3:强制覆盖安装(仅限测试环境) ```bash # 添加-force参数强制清空目录(谨慎使用!) ./runInstaller -silent -force ``` > **重要提示**:根据Oracle官方文档[^2],主目录必须为空才能进行全新安装。如果需要在现有Oracle上升级,应选择已注册的有效主目录(参考引用[3]的"附加主目录"方法)。 ### 根本原因分析 1. **全新安装要求**:Oracle安装程序要求目标目录完全为空[^2] 2. **升级场景要求**:如果升级现有Oracle,必须选择已注册的有效主目录(需通过`attachHome`注册)[^3] 3. **目录权限问题**:确保当前用户对该目录有读写权限(使用`ls -ld /path`检查)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值