sys_context funktion avulla voimme saada nykyisen istunnon isäntänimen ja IP-osoitteen SQL> valitse sys_context('userenv','host') dualista; SYS_CONTEXT('USERENV','HOST') -------------------------------------------------------------- TYÖRYHMÄ\IBM-L3YMBNP SQL> valitse sys_context('userenv','ip_address') dualista; SYS_CONTEXT('USERENV','IP_ADDRESS') -----------------------------------------------------------
127.0.0.1 sys_context voimme saada vain nykyisen istunnon tiedot, entä jos haluamme saada muita istuntoja? Tällä hetkellä käytämme utl_inaddr reppua saadaksemme sen SQL> valitse utl_inaddr.get_host_address('IBM-L3YMBNP') dualista; UTL_INADDR. GET_HOST_ADDRESS('IBM-L3YMBNP') -------------------------------------------------------------------
9.181.142.152 Voimme myös saada IP-osoitteita SINAlle ja muille verkkosivustoille SQL> valitse utl_inaddr.get_host_address('www.sina.com.cn') dualista; UTL_INADDR. GET_HOST_ADDRESS('WWW. SINA.COM. CN') ---------------------------------------------------------------------
218.30.108.55 Periaate on ensin hankkia verkkotunnuksen resoluutiopalvelin (resolv.conf) ja määrittää sitten ratkaisujärjestys host.conf-tiedoston perusteella, koska oletuksena priorisoidaan isäntätiedoston resoluutio ja jatkaa /etc/hosts-tiedoston lukemista. Jos isäntätiedostolla on jäsentämissuhde, se palauttaa tietoa; Jos sitä ei ole, pyydä DNS-palvelimelta resoluutioosoite, ja jos ei saa, tapahtuu virhe SQL> valitse utl_inaddr.get_host_address('www.a.com') dualista; Valitse utl_inaddr.get_host_address('www.a.com') dualista * ERROR on rivillä 1:
ORA-29257: 未知的主机 www.a.com
ORA-06512: 在"SYS.UTL_INADDR", line 35
ORA-06512: 在"SYS.UTL_INADDR", line 40
ORA-06512: 在line 1 Siinä se oikeastaan on. |