我想知道是否有办法判断系统上的 Oracle 实例是否安装了数据库?
这是一个安装脚本,在继续将我自己的表空间加载到该数据库之前,我需要验证是否有一个实际的数据库。有没有人解决过这个问题?
干杯
我想知道是否有办法判断系统上的 Oracle 实例是否安装了数据库?
这是一个安装脚本,在继续将我自己的表空间加载到该数据库之前,我需要验证是否有一个实际的数据库。有没有人解决过这个问题?
干杯
检查 ORACLE_HOME 是否存在。预期应该为安装配置此环境也是合理的,因此测试环境变量并退出并进行合理的诊断(可能表明它们运行 oraenv)是一个很好的开始。如果您设置了 ORACLE_HOME、ORACLE_SID 或其他适当的环境变量,则可以检查是否存在 oracle home 并测试数据库连接和权限。
对于 Oracle 10g,在 Windows 上:
HKLM\SOFTWARE\ORACLE
必须存在。KEY_
(例如KEY_OraDb10g_home1
,结束字符串是 Oracle 主名称)。ORA_
和结尾的值_AUTOSTART
。(例如ORA_XE_AUTOSTART
,中间字符串是实例名称)。请注意,安装 Oracle 客户端(那时没有数据库实例)会在注册表中创建条目并可以设置环境变量(如ORACLE_HOME
)。这就是为什么上面的模式有点复杂。
这种模式很可能也适用于 Oracle 9i,也可能适用于 Oracle 8i。
您可以使用它tnsping
来检查数据库侦听器是否处于活动状态,这将是一个很好的指示。除此之外,为什么不简单地做一个测试连接呢?如果它是安装程序过程的一部分,如果您事先不知道它们将是什么,您可以提示用户输入适当的连接凭据。
在 /etc/oratab 文件中查找 oracle home。这些 home 安装了数据库软件以及该 home 的数据库名称。然后您可以通过启动它来检查数据库是否健全。
我不确定 Oracle,但对于 MySQL 和 PostgreSql,我执行以下操作:
$yum grouplist | grep SQL
这将返回:
MySQL Database client
MySQL Database server
PostgreSQL Database client
PostgreSQL Database server
所以我认为你应该尝试:
$yum grouplist | grep Orac