数据库上的process已经达到了最大数,所以时不时的就接不到数据库上.为了确认哪个机器上连接到数据库的session过多,我在登录到数据库之后查看v$session表:
SQL> select count(*),machine,osuser from v$session group by machine,osuser order by machine;
COUNT(*) MACHINE OSUSER
---------- ---------------------------------------------------------------- ------------------------------
11 3f1bffbd728b44b cnluoxh
2 WORKGROUP\LEIPEI-PC Administrator
15 qacarnation oracle
11 qacarnation qa
其实v$session表中只记录了机器名,没有记录其ip.因此为了便于分析,我必须要找个工具能将机器名转化为ip.
这个时候,我找到了nbtstat.
1. nbtstat -a carnatio-0c0d0f 获取"NetBIOS 远程计算机名称表"信息.相关信息会缓存在本地.
---------------------------------------------------------------------------------------------------------------
C:\Users\Administrator> nbtstat -a carnatio-0c0d0f
本地连接 1:
节点 IP 址址: [192.168.8.106] 范围 ID: []
NetBIOS 远程计算机名称表
名称 类型 状态
---------------------------------------------
CARNATIO-0C0D0F<00> 唯一 已注册
WORKGROUP <00> 组 已注册
CARNATIO-0C0D0F<20> 唯一 已注册
WORKGROUP <1E> 组 已注册
MAC 地址 = 00-0C-29-C4-C7-4D
--------------------------------------------------------------------------------------------------------------
2. nbtstat -c 打印出本地缓存的NBT信息:
--------------------------------------------------------------------------------------------------------------
C:\Users\Administrator>nbtstat -c
本地连接 1:
节点 IP 址址: [192.168.8.106] 范围 ID: []
NetBIOS 远程缓存名称表
名称 类型 主机地址 寿命[秒]
------------------------------------------------------------
CARNATIO-0C0D0F<20> 唯一 192.168.4.21 597
CARNATIO-0C0D0F<00> 唯一 192.168.4.21 597
--------------------------------------------------------------------------------------------------------------
后记:其实用nbtstat -A IP 可以获取到这个IP对应的机器名.还有其他用法,需要好好看帮助信息.