oracle擷取主機伺服器IP

來源:互聯網
上載者:User

標籤:

--要擷取伺服器端的IP14:45:34 SYS@XXX> select utl_inaddr.get_host_address from dual;GET_HOST_ADDRESS--------------------------------------------------10.19.2.XX--解析網域名稱14:45:32 SYS@XXX> SELECT UTL_INADDR.get_host_address(‘www.anysql.net‘) from dual;UTL_INADDR.GET_HOST_ADDRESS(‘WWW.ANYSQL.NET‘)--------------------------------------------------173.236.176.151--根據IP地址反向解析主機名稱14:47:14 SYS@XXX> select utl_inaddr.get_host_name(‘173.236.176.151‘) from dual;UTL_INADDR.GET_HOST_NAME(‘173.236.176.151‘)--------------------------------------------------apache2-argon.footprint.dreamhost.com--擷取用戶端IP14:48:48 SYS@XXX> select   SYS_CONTEXT(‘USERENV‘,‘IP_ADDRESS‘) ip_address from dual;IP_ADDRESS--------------------------------------------------10.19.2.XX--擷取用戶端主機名稱14:48:50 SYS@XXX>  select sys_context(‘userenv‘,‘host‘) from dual;SYS_CONTEXT(‘USERENV‘,‘HOST‘)--------------------------------------------------WORKGROUP\WXX-THINK 

UTL_INADDR包擷取ip等資訊的實現原理:

可參考蓋神的文章:http://www.eygle.com/archives/2006/10/how_to_getip_address.html

在Linux可使用strace 命令進行相關命令的跟蹤,在跟蹤資訊中獲知

Oracle順序訪問了如下檔案來完成地址定位:

open("/etc/resolv.conf", O_RDONLY) = 12open("/etc/host.conf", O_RDONLY) = 12open("/etc/hosts", O_RDONLY) = 12

首先擷取網域名稱解析伺服器,在根據host.conf檔案確定解析順序,因為預設hosts檔案優先,又繼續讀取/etc/hosts檔案。

如果hosts檔案存在解析關係,則返回資訊;如果不存在,則繼續問詢DNS伺服器,獲得解析地址,如果不能解析,則會出錯:

14:49:31 SYS@XXX> select UTL_INADDR.get_host_address(‘www.a.com‘) from dual;select UTL_INADDR.get_host_address(‘www.a.com‘) from dual       *第 1 行出現錯誤:ORA-29257: 未知的主機 www.a.comORA-06512: 在 "SYS.UTL_INADDR", line 19ORA-06512: 在 "SYS.UTL_INADDR", line 40ORA-06512: 在 line 1

也就是說,UTL_INADDR的資料擷取已經不依賴於資料庫資訊了,而SYS_CONTEXT的資訊擷取仍然來自資料庫內部。

 

oracle擷取主機伺服器IP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.