【发布时间】:2014-01-01 11:11:02
【问题描述】:
如何从command line 或script 检查所有oracle versions 和windows 机器上安装的平台?
到目前为止,我一直在使用 tnsping 并检查输出,但它仅根据路径环境变量显示第一个版本。
有没有办法从注册表中获取此信息而无需实际连接到DB?
【问题讨论】:
标签: oracle command-line version detect
如何从command line 或script 检查所有oracle versions 和windows 机器上安装的平台?
到目前为止,我一直在使用 tnsping 并检查输出,但它仅根据路径环境变量显示第一个版本。
有没有办法从注册表中获取此信息而无需实际连接到DB?
【问题讨论】:
标签: oracle command-line version detect
最简单的方法是运行命令提示符并输入 sqlplus 它会在不实际登录的情况下向您显示 oracle 版本。
示例:运行 -> cmd
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\xyz>sqlplus
SQL*Plus:在 2014 年 1 月 1 日星期三 16:46:40 发布 11.2.0.1.0 生产版
版权所有 (c) 1982、2010、甲骨文。保留所有权利。
输入用户名:
【讨论】:
您需要查询 Oracle Inventory。
对于每个 Oracle 安装,“Oracle 清单”中都有一个条目。默认情况下,Oracle 清单位于“C:\Program Files\Oracle\Inventory”下。但是,此位置可以更改。
在注册表中,Oracle 清单的位置在“HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE”中,您可以在其中找到键“inst_loc”。在那里,您会找到一个包含所有已安装版本的 XML 文件 (inventory.xml)。以See the Oracle documentation 为例。
【讨论】:
到这里用记事本打开:
打开文件: 库存.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2006, Oracle. All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.1.0.6.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraClient11g_home1" LOC="D:\Oracle\product\11.1.0\client_1" TYPE="O" IDX="1"/>
</HOME_LIST>
</INVENTORY>
【讨论】: