Usando sys_context función podemos obtener el nombre de host y la dirección IP de la sesión actual SQL> seleccionar sys_context('userenv', 'host') de dual; SYS_CONTEXT('USERENV', 'HOST') -------------------------------------------------------------- GRUPO DE TRABAJO\IBM-L3YMBNP SQL> seleccionar sys_context('userenv','ip_address') de dual; SYS_CONTEXT('USERENV','IP_ADDRESS') -----------------------------------------------------------
127.0.0.1 Para sys_context solo podemos obtener la información de la sesión actual, ¿y si queremos obtener otras sesiones? En este momento, usamos utl_inaddr paquete para conseguirlo SQL> seleccionar utl_inaddr.get_host_address('IBM-L3YMBNP') desde dual; UTL_INADDR. GET_HOST_ADDRESS('IBM-L3YMBNP') -------------------------------------------------------------------
9.181.142.152 Y también podemos obtener IPs de SINA y otros sitios web SQL> seleccionar utl_inaddr.get_host_address('www.sina.com.cn') desde dual; UTL_INADDR. GET_HOST_ADDRESS('WWW. SINA.COM. CN') ---------------------------------------------------------------------
218.30.108.55 El principio es primero obtener el servidor de resolución de nombres de dominio (resolv.conf) y luego determinar el orden de resolución basándose en el archivo host.conf, porque el valor predeterminado es priorizar la resolución del archivo hosts y luego continuar leyendo el archivo /etc/hosts. Si el archivo hosts tiene una relación de análisis sintáctico, devuelve información; Si no existe, sigue pidiendo al servidor DNS que obtenga la dirección de resolución, y si no puede, aparecerá un error SQL> seleccionar utl_inaddr.get_host_address('www.a.com') desde dual; selecciona utl_inaddr.get_host_address('www.a.com') desde dual * ERROR está en la línea 1:
ORA-29257: 未知的主机 www.a.com
ORA-06512: 在"SYS.UTL_INADDR", line 35
ORA-06512: 在"SYS.UTL_INADDR", line 40
ORA-06512: 在line 1 Básicamente eso es todo. |