如何确定Linux环境中安装了多少个Oracle实例

如何确定Linux环境中安装了多少个Oracle实例

昨天,我参加了一个关于 Oracle 安装和服务启动和关闭的培训。在那里,我了解了一些用于在 Linux 机器上启动和关闭 Oracle 实例的 Linux 命令。

识别正在运行的实例:以下命令将返回该机器上当前运行的所有 oracle 实例。

ps -ef |grep pmon

该命令返回以下结果:

oracle    823     1  0 Dec03 ?        00:00:17 ora_pmon_instance1
oracle  19632     1  0 Nov17 ?        00:06:35 ora_pmon_instance2
oracle  24199     1  0 Nov20 ?        00:05:23 ora_pmon_instance3

其中instance1instance2instance3是在Linux上安装的3个oracle,目前正在运行。

我的疑问:因此,ps -ef将仅显示当前用户当前正在运行的进程。假设,instance3已关闭,您需要启动该实例。但是,您不知道机器上有多少个 oracle 实例。

您如何知道该实例已关闭?

在 Windows 中,有一种称为服务的方式,您可以通过它了解这些安装是在 Windows 上为 Oracle 完成的。

答案1

/etc/oratab 应该提供此信息

http://www.dba-oracle.com/t_linux_oratab.htm

oratab 文件包含 ORACLE_SID:ORACLE_HOME:Y 形式的条目,最后一个字符是 Y 或 N,分别表示是否应使用 dbstart 和 dbstop 命令启动和停止数据库。以下是典型的 oratab 条目:

测试:/u01/app/oracle/product/11.1.0/db_1:Y

oratab 文件中以井号 (#) 开头的行是注释。有效条目通常位于 oratab 文件的末尾。

可以使用 vi 或其他文本编辑器手动编辑 oratab 文件。如果您需要更改数据库的 ORACLE_HOME,这通常是必要的。

警告:切勿手动设置 ORACLE_HOME 和 ORACLE_BASE 变量。

在某些情况下,向 oratab 文件中添加不引用数据库的条目很有用。这样可以在没有与会话关联的数据库的情况下为 Oracle 设置必要的变量。为此,请按照上面提到的格式添加条目,确保将最后一个字符设置为 N,这样 dbstart/stop 命令就不会尝试启动不存在的数据库。此脚本显示与数据库不关联的 oratab 条目。

11g_db1:/u01/app/oracle/产品/11.1.0/db_1:N

此类虚拟 oratab 条目在尚未配置数据库的系统上或在可能永远不会有数据库的 Oracle 应用服务器或客户端安装上很有用。

相关内容