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