
最後一天,我參加了一次 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 應用伺服器或用戶端安裝上非常有用。