S sys_context funkcijo lahko dobimo ime gostitelja in IP naslov trenutne seje SQL> izberite sys_context('userenv', 'host') iz dual; SYS_CONTEXT('USERENV', 'GOSTITELJ') -------------------------------------------------------------- DELOVNA SKUPINA\IBM-L3YMBNP SQL> izberite sys_context('userenv','ip_address') iz dual; SYS_CONTEXT('USERENV','IP_ADDRESS') -----------------------------------------------------------
127.0.0.1 Do sys_context lahko dobimo le informacije o trenutni seji, kaj če želimo dobiti še druge seje? Trenutno uporabljamo utl_inaddr nahrbtnik, da ga dobimo SQL> izberite utl_inaddr.get_host_address('IBM-L3YMBNP') iz dual; UTL_INADDR. GET_HOST_ADDRESS('IBM-L3YMBNP') -------------------------------------------------------------------
9.181.142.152 Prav tako lahko pridobimo IP-je za SINA in druge spletne strani SQL> izberite utl_inaddr.get_host_address('www.sina.com.cn') iz dual; UTL_INADDR. GET_HOST_ADDRESS('WWW. SINA.COM. CN') ---------------------------------------------------------------------
218.30.108.55 Načelo je, da najprej pridobimo strežnik za razreševanje domenskih imen (resolv.conf), nato pa določimo vrstni red razrešitve glede na datoteko host.conf, saj je privzeto prioriteta ločljivosti datoteke gostitelja, nato pa nadaljujemo z branjem datoteke /etc/hosts. Če ima datoteka gostitelja relacijo razčlenjevanja, vrne informacije; Če ne obstaja, nadaljujte z zahtevami DNS strežnika, naj pridobi naslov za rešitev, in če ne more, bo prišlo do napake SQL> izberite utl_inaddr.get_host_address('www.a.com') iz dual; Izberi utl_inaddr.get_host_address('www.a.com') iz dual * NAPAKA je na vrstici 1:
ORA-29257: 未知的主机 www.a.com
ORA-06512: 在"SYS.UTL_INADDR", line 35
ORA-06512: 在"SYS.UTL_INADDR", line 40
ORA-06512: 在line 1 To je v bistvu vse. |