前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >识别主机名和IP地址

识别主机名和IP地址

作者头像
Yunjie Ge
发布2022-12-01 11:48:08
2K0
发布2022-12-01 11:48:08
举报
文章被收录于专栏:数据库与编程

get_host_address 函数返回指定主机名的IP地址。

代码语言:javascript
复制
SQL> SELECT UTL_INADDR.get_host_address('bart') FROM dual;

UTL_INADDR.GET_HOST_ADDRESS('BART')
--------------------------------------------------------------------------------
192.168.2.4

SQL>

如果指定的主机名为NULL或省略,则返回数据库服务器的IP地址。

代码语言:javascript
复制
SQL> SELECT UTL_INADDR.get_host_address from dual;

GET_HOST_ADDRESS
--------------------------------------------------------------------------------
192.168.2.5

SQL>

如果无法识别指定的主机名,则返回错误。

代码语言:javascript
复制
SQL> SELECT UTL_INADDR.get_host_address('banana') from dual;
SELECT UTL_INADDR.get_host_address('banana') from dual
       *
ERROR at line 1:
ORA-29257: host banana unknown
ORA-06512: at "SYS.UTL_INADDR", line 19
ORA-06512: at "SYS.UTL_INADDR", line 40
ORA-06512: at line 1


SQL>

get_host_name 函数返回指定IP地址的主机名。

代码语言:javascript
复制
SQL> SELECT UTL_INADDR.get_host_name('192.168.2.4') FROM dual;

UTL_INADDR.GET_HOST_NAME('192.168.2.4')
--------------------------------------------------------------------------------
bart

SQL>

如果指定的IP地址为NULL或省略,则返回数据库服务器的主机名。

代码语言:javascript
复制
SQL> SELECT UTL_INADDR.get_host_name FROM dual;

GET_HOST_NAME
--------------------------------------------------------------------------------
C4210gR2

1 row selected.

SQL>

如果无法识别指定的IP地址,则返回错误。

代码语言:javascript
复制
SQL> SELECT UTL_INADDR.get_host_name('1.1.1.1') FROM dual;
SELECT UTL_INADDR.get_host_name('1.1.1.1') FROM dual
       *
ERROR at line 1:
ORA-29257: host 1.1.1.1 unknown
ORA-06512: at "SYS.UTL_INADDR", line 4
ORA-06512: at "SYS.UTL_INADDR", line 35
ORA-06512: at line 1


SQL>

SYS_CONTEXT

SYS_CONTEXT 函数能够返回当前会话的以下主机和IP地址信息:

  • TERMINAL-当前会话的操作系统标识符。这通常是客户机名称。
  • HOST—客户端计算机的主机名。
  • IP_ADDRESS-客户端计算机的IP地址。
  • SERVER_HOST-运行数据库实例的服务器的主机名。

以下示例显示了每个变量的典型输出。

代码语言:javascript
复制
SQL> SELECT SYS_CONTEXT('USERENV','TERMINAL') FROM dual;

SYS_CONTEXT('USERENV','TERMINAL')
--------------------------------------------------------------------
marge

1 row selected.

SQL> SELECT SYS_CONTEXT('USERENV','HOST') FROM dual;

SYS_CONTEXT('USERENV','HOST')
--------------------------------------------------------------------
marge

1 row selected.

SQL> SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;

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

1 row selected.

SQL> SELECT SYS_CONTEXT('USERENV','SERVER_HOST') FROM dual;

SYS_CONTEXT('USERENV','SERVER_HOST')
--------------------------------------------------------------------
C4210gr2

1 row selected.

SQL>

V$INSTANCE

V$INSTANCE 视图的HOST_NAME列包含运行该实例的服务器的主机名。

代码语言:javascript
复制
SQL> SELECT host_name FROM v$instance;

HOST_NAME
------------------------------------------------
C4210gR2

1 row selected.

SQL>

V$SESSION

V$SESSION视图包含所有数据库会话的以下主机信息:

  • TERMINAL-客户端的操作系统终端名称。这通常设置为客户机名称。
  • MACHINE-客户端计算机的操作系统名称。这可能包括域名(如果存在)。

以下示例显示了每列的典型输出。

代码语言:javascript
复制
SQL> SELECT terminal, machine FROM v$session WHERE username = 'TIM_HALL';

TERMINAL                       MACHINE
------------------------------ ----------------------------------------------------
MARGE                          ORACLE-BASE\MARGE

1 row selected.

SQL>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山东Oracle用户组 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档