溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle中怎么獲取主機名和IP地址

發(fā)布時間:2021-07-29 14:34:39 來源:億速云 閱讀:493 作者:Leah 欄目:建站服務器

這篇文章給大家介紹Oracle中怎么獲取主機名和IP地址,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

利用sys_context函數(shù)我們可以獲得當前session的hostname和ip address

SQL> select sys_context('userenv','host') from dual;

SYS_CONTEXT('USERENV','HOST')
--------------------------------------------------------------
WORKGROUP\IBM-L3YMBNP

SQL> select sys_context('userenv','ip_address') from dual;

SYS_CONTEXT('USERENV','IP_ADDRESS')
-----------------------------------------------------------
127.0.0.1

通過sys_context我們只能獲得當前session的信息,如果要獲得其他session呢?
這個時候我們就用utl_inaddr包來獲取

SQL> select utl_inaddr.get_host_address('IBM-L3YMBNP') from dual;

UTL_INADDR.GET_HOST_ADDRESS('IBM-L3YMBNP')
-------------------------------------------------------------------
9.181.142.152

而且我們還可以獲得sina以及其他web site的ip
SQL> select utl_inaddr.get_host_address('www.sina.com.cn') from dual;

UTL_INADDR.GET_HOST_ADDRESS('WWW.SINA.COM.CN')
---------------------------------------------------------------------
218.30.108.55

其原理是:首先獲取域名解析服務器(resolv.conf),在根據(jù)host.conf文件確定解析順序,因為缺省的是hosts文件優(yōu)先解析,這個時候會又繼續(xù)讀取/etc/hosts文件。

如果hosts文件存在解析關系,則返回信息;如果不存在,則繼續(xù)問詢DNS服務器,獲得解析地址,如果不能解析,則會出錯
SQL> select utl_inaddr.get_host_address('www.a.com') from dual;
select utl_inaddr.get_host_address('www.a.com') from dual
       *
ERROR 位于第 1 行:
ORA-29257: 未知的主機 www.a.com
ORA-06512: 在"SYS.UTL_INADDR", line 35
ORA-06512: 在"SYS.UTL_INADDR", line 40
ORA-06512: 在line 1

關于Oracle中怎么獲取主機名和IP地址就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI