8

我想知道是否有办法判断系统上的 Oracle 实例是否安装了数据库?

这是一个安装脚本,在继续将我自己的表空间加载到该数据库之前,我需要验证是否有一个实际的数据库。有没有人解决过这个问题?

干杯

4

5 回答 5

5

检查 ORACLE_HOME 是否存在。预期应该为安装配置此环境也是合理的,因此测试环境变量并退出并进行合理的诊断(可能表明它们运行 oraenv)是一个很好的开始。如果您设置了 ORACLE_HOME、ORACLE_SID 或其他适当的环境变量,则可以检查是否存在 oracle home 并测试数据库连接和权限。

于 2008-11-20T11:07:30.863 回答
5

对于 Oracle 10g,在 Windows 上:

  • 检查注册表:
    • 密钥HKLM\SOFTWARE\ORACLE必须存在。
    • 必须存在一个子项:
      • 具有以开头的名称KEY_(例如KEY_OraDb10g_home1,结束字符串是 Oracle 主名称)。
      • 具有名称以 开头ORA_和结尾的值_AUTOSTART。(例如ORA_XE_AUTOSTART,中间字符串是实例名称)。

请注意,安装 Oracle 客户端(那时没有数据库实例)会在注册表中创建条目并可以设置环境变量(如ORACLE_HOME)。这就是为什么上面的模式有点复杂。

这种模式很可能也适用于 Oracle 9i,也可能适用于 Oracle 8i。

于 2008-11-20T18:49:48.883 回答
4

您可以使用它tnsping来检查数据库侦听器是否处于活动状态,这将是一个很好的指示。除此之外,为什么不简单地做一个测试连接呢?如果它是安装程序过程的一部分,如果您事先不知道它们将是什么,您可以提示用户输入适当的连接凭据。

于 2008-11-20T11:05:39.023 回答
0

在 /etc/oratab 文件中查找 oracle home。这些 home 安装了数据库软件以及该 home 的数据库名称。然后您可以通过启动它来检查数据库是否健全。

于 2008-12-12T12:23:44.230 回答
-1

我不确定 Oracle,但对于 MySQL 和 PostgreSql,我执行以下操作:

$yum grouplist | grep SQL

这将返回:

MySQL Database client
MySQL Database server
PostgreSQL Database client
PostgreSQL Database server

所以我认为你应该尝试:

$yum grouplist | grep Orac
于 2013-01-09T21:55:32.513 回答