从命令行安装 Oracle Client,无需用户交互
Install Oracle Client from command line without user-interaction
我正在寻找一种在 Windows 上安装 Oracle 客户端的方法,但 运行 是从命令行安装的。为了 运行 它会自动 没有用户交互 。
Oracle 文档中关于 Oracle Universal Installer 命令行选项的内容非常少。即使 运行 将设置设置为 setup.exe -silent -responseFile filename.rsp
,用户也必须在特定点按 ENTER。
经过一些调查,我发现了如何获得完整的命令行选项:
setup.exe -help
这适用于版本 11.2、12.1 和 12.2。在版本 18c 和 19c 中,这不再有效,您必须执行:
setup.exe -help -silent
这里是 18c 设置的示例输出:
Usage: setup.exe [<flag>] [<option>]
Following are the possible flags:
-help - display help.
-silent - run in silent mode. The inputs can be a response file or a list of command line variable value pairs.
[-ignorePrereqFailure - ignore all prerequisite checks failures.]
[-lenientInstallMode - perform the best effort installation by automatically ignoring invalid data in input parameters.]
[-showProgress - show the installation progress on the console. This option is supported for silent mode installation only.]
-responseFile - specify the complete path of the response file to use.
-invPtrLoc - point to a different inventory location. The orainst.loc file contains the location of the central inventory (inventory_loc) and the inventory group (inst_group).
-jreLoc - specify the location for the jre used in the installation.
-logLevel - enable the log of messages up to the priority level provided in this argument. Valid options are: severe, warning, info, config, fine, finer, finest.
-paramFile - specify the location of the oraparam.ini file to be used in the installation.
-executePrereqs | -executeConfigTools | -deinstall
-executePrereqs - execute the prerequisite checks only.
-executeConfigTools - execute the config tools for an installed home.
[-all - execute all the config tools for an installed home, including the config tools that have already succeeded.]
-deinstall - uninstall the specified home.
-debug - run in debug mode.
-executeSysPrereqs - execute the system prerequisite checks and exit.
-ignoreSysPrereqs - ignore the results of the system prerequisite checks.
-printdiskusage - log the debug information for the disk usage.
-printmemory - log the debug information for the memory usage.
-printtime - log the debug information for the time usage.
-waitForCompletion - wait for the completion of the installation, instead of spawning the installer and returning the console prompt.
-suppressPreCopyScript - suppress the execution of the precopy script.
-acceptUntrustedCertificates - accept untrusted certificates from a secure site.
-suppressPostCopyScript - suppress the execution of the postcopy script.
-noconfig - do not execute the config tools.
-noconsole - suppress the display of messages in the console. The console is not allocated.
-ignoreInternalDriverError - ignore any internal driver errors.
-promptForPassword - provide the passwords on the console during a silent installation of an Oracle database.
-remotecp - specify the path to the remote copy program on the local cluster node. Used only for cluster installs.
-remoteshell - specify the path to the remote shell program on the local cluster node. Used only for cluster installs.
最后,即使没有可以由软件部署系统执行的响应文件,我也设法 运行 使用单个命令进行了完整设置。以下是一些示例(需要在一行中):
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereq -waitforcompletion -force \
"INVENTORY_LOCATION=C:\Program Files\Oracle\Inventory" \
"ORACLE_BASE=c:\oracle\product" \
"ORACLE_HOME=c:\oracle\product.1\Client_x64" \
"SELECTED_LANGUAGES=de,en,fr,it" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Custom" \
"oracle.install.client.customComponents=oracle.rdbms.util:12.1.0.2.0,oracle.sqlplus:12.1.0.2.0,oracle.odbc:12.1.0.2.0"
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereqFailure -skipPrereqs -waitForCompletion -force \
"INVENTORY_LOCATION=C:\Program Files\Oracle\Inventory" \
"ORACLE_BASE=c:\oracle\product" \
"ORACLE_HOME=c:\oracle\product.2\Client_x64" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Custom" \
"oracle.install.client.customComponents=oracle.rdbms.util:12.2.0.1.0,oracle.sqlplus:12.2.0.1.0,oracle.odbc:12.2.0.1.0"
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereqFailure -waitForCompletion -force \
"ORACLE_BASE=c:\oracle\product" \
"ORACLE_HOME=c:\oracle\productc\Client_x86" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Custom" \
"oracle.install.client.customComponents=oracle.rdbms.util:18.0.0.0.0,oracle.sqlplus:18.0.0.0.0,oracle.odbc:18.0.0.0.0"
注意,选项 -nowait
未在帮助中提及,但需要取消提示“按 ENTER 关闭程序”。
选项 -force
在版本 12.2 和更新版本的帮助中没有提到,但似乎仍然有效以强制安装在 non-empty 目录
显然 18c 32 位安装程序不喜欢选项 "INVENTORY_LOCATION=C:\Program Files (x86)\Oracle\Inventory"
,请跳过此条目。使用 "INVENTORY_LOCATION=C:\PROGRA~2\Oracle\Inventory"
导致 c:\Program Files (x86)\Oracle\Inventory\locks\
中的锁定文件异常
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereq -waitForCompletion \
-force "INVENTORY_LOCATION=C:\Program Files\Oracle\Inventory" \
"ORACLE_BASE=c:\oracle\product" "ORACLE_HOME=c:\oracle\product.2\Client_x64" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Administrator" \
"oracle.install.client.customComponents=oracle.rdbms.util:12.2.0.1.0,oracle.sqlplus:12.2.0.1.0,oracle.odbc:12.2.0.1.0"
这对我有用。这将从 Windows 10 中的命令提示符安装 Oracle Client Admin 版本 {我已经使用过}。感谢之前的帖子。
我正在寻找一种在 Windows 上安装 Oracle 客户端的方法,但 运行 是从命令行安装的。为了 运行 它会自动 没有用户交互 。
Oracle 文档中关于 Oracle Universal Installer 命令行选项的内容非常少。即使 运行 将设置设置为 setup.exe -silent -responseFile filename.rsp
,用户也必须在特定点按 ENTER。
经过一些调查,我发现了如何获得完整的命令行选项:
setup.exe -help
这适用于版本 11.2、12.1 和 12.2。在版本 18c 和 19c 中,这不再有效,您必须执行:
setup.exe -help -silent
这里是 18c 设置的示例输出:
Usage: setup.exe [<flag>] [<option>]
Following are the possible flags:
-help - display help.
-silent - run in silent mode. The inputs can be a response file or a list of command line variable value pairs.
[-ignorePrereqFailure - ignore all prerequisite checks failures.]
[-lenientInstallMode - perform the best effort installation by automatically ignoring invalid data in input parameters.]
[-showProgress - show the installation progress on the console. This option is supported for silent mode installation only.]
-responseFile - specify the complete path of the response file to use.
-invPtrLoc - point to a different inventory location. The orainst.loc file contains the location of the central inventory (inventory_loc) and the inventory group (inst_group).
-jreLoc - specify the location for the jre used in the installation.
-logLevel - enable the log of messages up to the priority level provided in this argument. Valid options are: severe, warning, info, config, fine, finer, finest.
-paramFile - specify the location of the oraparam.ini file to be used in the installation.
-executePrereqs | -executeConfigTools | -deinstall
-executePrereqs - execute the prerequisite checks only.
-executeConfigTools - execute the config tools for an installed home.
[-all - execute all the config tools for an installed home, including the config tools that have already succeeded.]
-deinstall - uninstall the specified home.
-debug - run in debug mode.
-executeSysPrereqs - execute the system prerequisite checks and exit.
-ignoreSysPrereqs - ignore the results of the system prerequisite checks.
-printdiskusage - log the debug information for the disk usage.
-printmemory - log the debug information for the memory usage.
-printtime - log the debug information for the time usage.
-waitForCompletion - wait for the completion of the installation, instead of spawning the installer and returning the console prompt.
-suppressPreCopyScript - suppress the execution of the precopy script.
-acceptUntrustedCertificates - accept untrusted certificates from a secure site.
-suppressPostCopyScript - suppress the execution of the postcopy script.
-noconfig - do not execute the config tools.
-noconsole - suppress the display of messages in the console. The console is not allocated.
-ignoreInternalDriverError - ignore any internal driver errors.
-promptForPassword - provide the passwords on the console during a silent installation of an Oracle database.
-remotecp - specify the path to the remote copy program on the local cluster node. Used only for cluster installs.
-remoteshell - specify the path to the remote shell program on the local cluster node. Used only for cluster installs.
最后,即使没有可以由软件部署系统执行的响应文件,我也设法 运行 使用单个命令进行了完整设置。以下是一些示例(需要在一行中):
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereq -waitforcompletion -force \
"INVENTORY_LOCATION=C:\Program Files\Oracle\Inventory" \
"ORACLE_BASE=c:\oracle\product" \
"ORACLE_HOME=c:\oracle\product.1\Client_x64" \
"SELECTED_LANGUAGES=de,en,fr,it" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Custom" \
"oracle.install.client.customComponents=oracle.rdbms.util:12.1.0.2.0,oracle.sqlplus:12.1.0.2.0,oracle.odbc:12.1.0.2.0"
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereqFailure -skipPrereqs -waitForCompletion -force \
"INVENTORY_LOCATION=C:\Program Files\Oracle\Inventory" \
"ORACLE_BASE=c:\oracle\product" \
"ORACLE_HOME=c:\oracle\product.2\Client_x64" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Custom" \
"oracle.install.client.customComponents=oracle.rdbms.util:12.2.0.1.0,oracle.sqlplus:12.2.0.1.0,oracle.odbc:12.2.0.1.0"
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereqFailure -waitForCompletion -force \
"ORACLE_BASE=c:\oracle\product" \
"ORACLE_HOME=c:\oracle\productc\Client_x86" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Custom" \
"oracle.install.client.customComponents=oracle.rdbms.util:18.0.0.0.0,oracle.sqlplus:18.0.0.0.0,oracle.odbc:18.0.0.0.0"
注意,选项 -nowait
未在帮助中提及,但需要取消提示“按 ENTER 关闭程序”。
选项 -force
在版本 12.2 和更新版本的帮助中没有提到,但似乎仍然有效以强制安装在 non-empty 目录
显然 18c 32 位安装程序不喜欢选项 "INVENTORY_LOCATION=C:\Program Files (x86)\Oracle\Inventory"
,请跳过此条目。使用 "INVENTORY_LOCATION=C:\PROGRA~2\Oracle\Inventory"
导致 c:\Program Files (x86)\Oracle\Inventory\locks\
setup.exe -silent -nowait -ignoreSysPrereqs -ignorePrereq -waitForCompletion \
-force "INVENTORY_LOCATION=C:\Program Files\Oracle\Inventory" \
"ORACLE_BASE=c:\oracle\product" "ORACLE_HOME=c:\oracle\product.2\Client_x64" \
"oracle.install.IsBuiltInAccount=true" \
"oracle.install.client.installType=Administrator" \
"oracle.install.client.customComponents=oracle.rdbms.util:12.2.0.1.0,oracle.sqlplus:12.2.0.1.0,oracle.odbc:12.2.0.1.0"
这对我有用。这将从 Windows 10 中的命令提示符安装 Oracle Client Admin 版本 {我已经使用过}。感谢之前的帖子。