BLUESKY
一步一个脚印向前走
在数据库应用开发和管理中,经常需要获取主机名和IP地址信息,这些信息与环境变量和相关的数据字典有关

方法1:用函数SYS_CONTEXT获取

使用函数SYS_CONTEXT的属性参数可以返回当前会话主机的名字和IP地址
•terminal------------通常指客户机的名字
•host----------------客户机的完整名字
•ip_address---------客户机的IP地址
•server_host--------运行数据库实例的服务器名称

1SELECT SYS_CONTEXT('USERENV','TERMINAL'AS "客户机名称" FROM DUAL
2
3SELECT SYS_CONTEXT('USERENV','HOST'AS "客户机的完整名称" FROM DUAL
4
5SELECT SYS_CONTEXT('USERENV','IP_ADDRESS'AS "客户机的IP" FROM DUAL
6
7--如果没有客户机连接,则结果显示为空
8SELECT SYS_CONTEXT('USERENV','server_host'FROM DUAL

方法2:使用数据字典v$instance
在v$instance的host_name列中,包含了运行的数据库实例的服务器名称
1--必须具有查看该视图的权限才可以执行此语句
2SELECT HOST_NAME FROM V$INSTANCE

方法3:使用数据字典v$session

视图v$session包含了所有数据库会话的主机信息
•terminal-------通常代表客户端在操作系统终端名
•machine-------可包含域名的客户机名
1SELECT TERMINAL,MACHINE,USERNAME
2  FROM V$SESSION
3 WHERE USERNAME='LIUGANG'

方法4:使用包utl_inaddr

使用包utl_inaddr可查询远处服务器主机名和IP地址
1)包utl_inaddr中的函数get_host_address可返回主机名的ip地址
2)如果指定的主机名为NULL或省略,则返回数据库服务器的ip地址
3)若指定的主机名不正确,则返回错误信息
4)若指定了ip地址,则get_host_name函数返回主机名称
5)若指定的ip地址为null或省略,则返回数据库服务器的名称
1SELECT UTL_INADDR.get_host_address('LINKAGE')
2  FROM DUAL
3  
4SELECT UTL_INADDR.get_host_address
5  FROM DUAL
6  
7SELECT UTL_INADDR.get_host_name
8  FROM DUAL
posted on 2007-06-06 10:59 LG 阅读(936) 评论(0)  编辑 收藏 引用 所属分类: Oracle

<2007年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

相册

最新评论