2010-03-02 62 views

回答

35
SELECT host_name 
FROM v$instance 
+3

從技術上講,由於多個服務器可以掛載Oracle數據庫,因此'select host_name from gv $ instance'將返回所有主機。但是,上面的查詢確實顯示了您當前連接到的主持人。 – 2010-03-03 03:16:36

56

如果您沒有訪問V $視圖(由Quassnoi的建議)有兩種選擇

select utl_inaddr.get_host_name from dual 

select sys_context('USERENV','SERVER_HOST') from dual 

個人而言,我會傾向於朝最後,因爲它不需要任何授權/特權,這使得存儲過程更容易。

+8

用於'sys_context()'作爲最簡單和最合適的解決方案。 – APC 2010-03-03 06:17:42

+4

不使用'sys_context'的唯一原因是它會降低名稱,其他2不會。很少會有所作爲,但有時候Linux很挑剔。 – Ben 2015-01-24 14:20:11

+5

您可以使用'sys_context('USERENV','SERVICE_NAME')'獲取數據庫服務名稱而不是機器名稱。 – bart 2015-05-19 08:25:58

0

我使用此查詢爲了檢索我的Oracle數據庫的服務器名稱。

SELECT program FROM v$session WHERE program LIKE '%(PMON)%'; 
相關問題