现象
在window server 2016,已经安装了Oracle 12.2.0.1数据库的环境上继续静默安装Oracle 19c,报错:
[FATAL] [INS-32104] Specified Oracle Home user is not the owner of the specified Oracle Base.
ACTION: Make sure you specify Oracle Home user who has ownership of the selected Oracle Base.
静默安装方式:
D:\app\product\19.0.0\dbhome_1\setup.bat -silent -ignorePrereqFailure -responseFile d:\db.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_BASE=D:\app\
oracle.install.db.InstallEdition=SE2
oracle.install.IsBuiltInAccount=false
oracle.install.IsVirtualAccount=true
解决
1、(或者)更换ORACLE_BASE的路径。
2、(或者)使图形化界面安装就不报错了。
12.1 : Installation of 12.1 Oracle Database/Client throws the Error "[INS-32104] The user of the Oracle Home directory shown is not the owner of the Oracle home directory specified database." (Doc ID 1581850.1)
SYMPTOMS
Installation of Oracle Client 12.1.0.1 on 64-Bit Windows 2008,the below error is encountered at Screen 5,
The Error Message Translates to -
[INS-32104] The user of the Oracle Home directory shown is not the owner of the Oracle home directory specified database.
Action - Be sure to specify a user of the Oracle home directory that owns the Oracle Base selected directory.
The Error is shown even though,C:\app\ has permission and all the subdirectory have the same permission.
CAUSE
This is due to the new behaviour introduced in OUI 12.1 onwards.
For reasons of security, different Windows User Accounts used as Oracle Home Users for different Oracle homes are not allowed to share the same Oracle Base. However, to support Oracle Database upgrade, Oracle supports the sharing of Oracle Base between a Windows Built-in Account and a Windows User Account.This means that if you choose to reuse an Oracle Base from an earlier release of Oracle Database in Oracle Database 12c, then the Oracle Home User of Oracle Database 12c Oracle home has complete control over the Oracle Base of the earlier release.
In summary, a 12.1 install can share an Oracle Base with a 11.2 install if the 12.1 db install uses either a built in account (which means local system) or it uses a named windows user account.
To clarify further,if 2(two) 12.1 installations are being attempted (for whatever reason), and the need is to use 2 different named windows user accounts for each of them (user1, user2), if for the 1st install the Oracle Base used by user1 was the same as 11.2 , then for the 2nd install we cannot use the same Oracle Base for user2.Because post the 1st install that Oracle Base is seen as owned by user1 and hence cannot be used also by user2.
For eg - If we have installed 11.2 DB in C:\app\oracle\product\11.2.0\db_1 and the oracle base chosen was C:\app\oracle
==> If we want to install 12.1 client or DB,in path C:\app\oracle\product\12.1.0\client_1 or C:\app\oracle\product\12.1.0\db_1 and the oracle base is chosen as C:\app\oracle with the User id who is doing the installation is user1,this installation is allowed.
==> Now,If we have 2nd user id who is doing installation as user2,and same Oracle Base is chosen- C:\app\oracle,12.1 OUI will not allow this,because after 1st 12.1 installation,Oracle Base will be owned by user1.Hence OUI throws Error INS-32014.
Note - Both user1,user2 are named windows accounts(which are non-local administrator accounts).
Note : The above scenario holds good for Database Installs only.For 12c ( 12.1.0.1 & higher)Oracle Client Installations,Local Service Account(Built-In account) is not allowed for sharing of Oracle Base owned by Local Sytem user.This has been confirmed by Development.
SOLUTION
Choose a different Oracle Base location.
REFERENCES
NOTE:1529702.1 - FAQ: Oracle Database 12.1 Oracle Home User On Windows