昨天,我参加了一个关于 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
其中instance1
,instance2
和instance3
是在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 应用服务器或客户端安装上很有用。