0
点赞
收藏
分享

微信扫一扫

通过客户端pid确认服务器端pid

客户端:windows 11

服务器:rhel 8.4

实验目标:windows作客户端,通过pl sql连接linux服务器上的oracle数据库,确认出linux服务器上对应的进程号.

如下,客户端通过pl sql开启两个连接会话,pid为4908,端口分别为60799,60786.

通过客户端pid确认服务器端pid_oracle

通过客户端pid确认服务器端pid_sql_02

Linux服务器端通过端口号1521查远程连接,

如下红色高亮部分,可以清晰看到,windows连接过来的进程对应的服务器进程为5392、5381.​

[root@dbserver ~]# netstat -antup|grep 1521

​Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       Timer

tcp        0      0 192.168.133.120:58834   192.168.133.120:1521    ESTABLISHED 4194/ora_lreg_orclc

tcp        0      0 192.168.133.120:59638   192.168.133.120:1521    ESTABLISHED 9675/java          

tcp        0      0 192.168.133.120:58800   192.168.133.120:1521    ESTABLISHED 3611/oraagent.bin  

tcp        0      0 192.168.133.120:59014   192.168.133.120:1521    ESTABLISHED 4677/java          

tcp        0      0 192.168.133.120:58824   192.168.133.120:1521    ESTABLISHED 3917/asm_lreg_+ASM 

tcp6       0      0 :::1521                 :::*                    LISTEN      3641/tnslsnr       

tcp6       0      0 192.168.133.120:1521    192.168.133.120:59014   ESTABLISHED 5964/oracleorclcdb 

tcp6       0      0 192.168.133.120:1521    192.168.133.120:58800   ESTABLISHED 3641/tnslsnr       

tcp6       0      0 192.168.133.120:1521    192.168.133.1:60799     ESTABLISHED 5392/oracleorclcdb  

tcp6       0      0 192.168.133.120:1521    192.168.133.120:59638   ESTABLISHED 9704/oracleorclcdb 

tcp6       0      0 192.168.133.120:1521    192.168.133.120:59710   TIME_WAIT   -                  

tcp6       0      0 192.168.133.120:1521    192.168.133.1:60786     ESTABLISHED 5381/oracleorclcdb 

tcp6       0      0 192.168.133.120:1521    192.168.133.120:58834   ESTABLISHED 3641/tnslsnr       

tcp6       0      0 192.168.133.120:1521    192.168.133.120:58824   ESTABLISHED 3641/tnslsnr    

再通过ps -ef命令确认服务器进程为5392、5381对应的Local确实为NO.

[root@dbserver ~]# ps -ef|grep LOCAL=NO|grep -v grep

oracle      5381       1  0 09:54 ?        00:00:00 oracleorclcdb (LOCAL=NO)

oracle      5392       1  0 09:55 ?        00:00:04 oracleorclcdb (LOCAL=NO)

oracle      5964       1  0 10:29 ?        00:00:10 oracleorclcdb (LOCAL=NO)

oracle      9704       1  0 15:30 ?        00:00:00 oracleorclcdb (LOCAL=NO)​

附上windows端pid、端口、应用程序之间的相互查询:

windows通过进程pid查端口号:

C:\Users\Administrator>netstat -ano|findstr 4908

  TCP    192.168.133.1:60786    192.168.133.120:1521   ESTABLISHED     4908

  TCP    192.168.133.1:60799    192.168.133.120:1521   ESTABLISHED     4908

windows通过端口号查进程pid:

C:\Users\Administrator>netstat -ano|findstr 60799

  TCP    192.168.133.1:60799    192.168.133.120:1521   ESTABLISHED     4908

C:\Users\Administrator>netstat -ano|findstr 60786

  TCP    192.168.133.1:60786    192.168.133.120:1521   ESTABLISHED     4908

通过pid查询对应进程程序:

C:\Users\Administrator>tasklist | findstr 4908

plsqldev.exe                  4908 Console                    1    152,456 K

服务器端可以生成sql语句kill远端pl sql的两个连接,此处主机名WorkGroup\NEWMACHINE

SQL> select 'alter system kill session ''' || sid || ',' ||serial# || ''' immediate;' sql,username,program,machine,status,to_char(LOGON_TIME,'yyyy-mm-dd hh24:mi:ss') from v$session where machine='WorkGroup\NEWMACHINE';

SQL                          USERNAME   PROGRAM         MACHINE                             STATUS   TO_CHAR(LOGON_TIME,

-------------------------------------------------- ---------- --------------- ----------------------------------- -------- -------------------

alter system kill session '21,1243' immediate;     ORA1       plsqldev.exe    WorkGroup\NEWMACHINE                INACTIVE 2022-06-24 09:54:42

alter system kill session '402,15584' immediate;   ORA1       plsqldev.exe    WorkGroup\NEWMACHINE                INACTIVE 2022-06-24 09:55:25

举报

相关推荐

0 条评论