如何辨識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 應用伺服器或用戶端安裝上非常有用。

相關內容