【问题标题】:How to find which version of Oracle is installed on a Linux server (In terminal) [closed]如何查找 Linux 服务器上安装的 Oracle 版本(在终端中)[关闭]
【发布时间】:2012-06-08 14:59:00
【问题描述】:

我在 Redhat 5.5 的终端中,我需要找出安装了哪个版本的 Oracle。我是 Linux 的新手,但我已经在 Google 上搜索了一段时间,但找不到我需要的东西。我必须找到通过终端安装的版本。我找到了 Oracle 文件,但似乎找不到版本。

【问题讨论】:

  • 你能连接到oracle DB吗?如果是这样,只需运行select * from v$version;

标签: linux oracle rhel


【解决方案1】:

有点手动搜索,但它是另一种方式...
在您的 linux 服务器上找到 Oracle 主目录或 Oracle 安装文件的安装位置。

cd / <-- Goto root directory
find . -print| grep -i dbm*.sql

结果因您安装 Oracle 的方式而异,但我的会显示这一点

/db/oracle

转到文件夹

less /db/oracle/db1/sqlplus/doc/README.htm

向下滚动,您应该会看到类似这样的内容

SQL*Plus 发行说明 - 发行版 11.2.0.2

【讨论】:

    【解决方案2】:

    在 sql*plus 中以 sys 用户身份登录。然后做这个查询:

    select * from v$version; 
    

    select * from product_component_version;
    

    【讨论】:

      【解决方案3】:

      你也可以通过

      ps -ef |grep -i ora
      

      【讨论】:

        【解决方案4】:

        我仅通过阅读启动脚本(在我的情况下为 /etc/init.d/oracle-xe)在大约 1 分钟内解决了这个问题:

        少 /etc/init.d/oracle-xe

        几乎在我找到的文件的开头:

        ORACLE_HOME=[PATH_TO_INSTALLATION_INCLUDING_VERSION_NUMBER]

        这对我来说是最快的解决方案,因为我知道脚本的位置,并且它用于启动/重新启动服务器。

        当然,这依赖于版本号实际上对应于实际的服务器版本,对于正确安装的实例来说应该是这样。

        【讨论】:

          【解决方案5】:

          作为运行 Oracle 数据库的用户,还可以尝试$ORACLE_HOME/OPatch/opatch lsinventory,它显示了安装的确切版本和补丁。

          例如,这是一个只返回版本号的快速单行器:

          $ORACLE_HOME/OPatch/opatch lsinventory | awk '/^Oracle Database/ {print $NF}'
          

          【讨论】:

          • 很难找到实际的补丁级别。 lsinventory 是最好的方法。您可能想要添加 -bugs_fixed。在 PSU 级别上,您可以使用 select comments, version, bundle_series from sys.registry$history where bundle_series = 'PSU' order by action_time;
          【解决方案6】:

          正如 A.B.Cada 指出的那样,您可以使用 sqlplus 查询数据库本身以获取 db 版本。这是找出正在运行的数据库版本的最简单方法。如果有多个实例,则必须适当设置 oracle_sid 并对每个实例运行查询。

          您可以查看 /etc/oratab 文件以查看每个实例使用的实例和 db home。可以为每台服务器安装多个版本的 oracle 以及多个实例。 /etc/oratab 文件将列出所有实例和 db home。从 oracle db home 中,您可以运行“opatch lsinventory”来找出安装的数据库的精确版本以及应用于该数据库安装的任何补丁。

          【讨论】:

            【解决方案7】:

            输入sqlplus(你会看到版本号)

            # su - oracle
            
            oracle# sqlplus
            

            echo $ORAHOME
            

            将为您提供安装 Oracle 的路径,路径将包含版本号。

            连接到 Oracle 数据库并运行

            select * from v$version where banner like 'oracle%';
            

            【讨论】:

            • 首先感谢您的回复。我进入 Oracle 文件,然后运行 ​​ls。文件列表是 'bea emkey.ora glibc-devel-2.5-49.i386.rpm oradiag_oracle' 其中一个是否包含 Oracle 版本?
            • 登录到 SQL*Plus 就足够了,版本会打印到输出中。
            • 以前版本的 idk,但在 11g 中,条件是:“其中横幅类似于 'Oracle%',因为结果是:Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production跨度>
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-12-24
            • 2021-08-23
            • 2014-09-21
            • 2014-10-27
            相关资源
            最近更新 更多